event.setBoundsInPixels(new Rectangle(newX, newY, width, height)); sendSelectionEvent (SWT.Selection, event, true); if (isDisposed ()) return LRESULT.ZERO;
Event event = new Event (); event.gc = gc; event.setBoundsInPixels(new Rectangle(ps.left, ps.top, width, height)); sendEvent (SWT.Paint, event);
event.setBoundsInPixels(new Rectangle(newX, newY, width, height)); if ((style & SWT.SMOOTH) == 0) { event.detail = SWT.DRAG;
@Override LRESULT WM_LBUTTONUP (int /*long*/ wParam, int /*long*/ lParam) { LRESULT result = super.WM_LBUTTONUP (wParam, lParam); if (result == LRESULT.ZERO) return result; /* Compute the banding rectangle */ if (!dragging) return result; dragging = false; RECT rect = new RECT (); OS.GetWindowRect (handle, rect); int width = rect.right - rect.left; int height = rect.bottom - rect.top; /* The event must be sent because doit flag is used */ Event event = new Event (); event.setBoundsInPixels(new Rectangle(lastX, lastY, width, height)); drawBand (lastX, lastY, width, height); sendSelectionEvent (SWT.Selection, event, true); if (isDisposed ()) return result; Rectangle bounds = event.getBoundsInPixels(); if (event.doit) { if ((style & SWT.SMOOTH) != 0) { setBoundsInPixels (bounds.x, bounds.y, width, height); // widget could be disposed at this point } } return result; }
@Override LRESULT WM_PAINT (int /*long*/ wParam, int /*long*/ lParam) { if ((state & DISPOSE_SENT) != 0) return LRESULT.ZERO; PAINTSTRUCT ps = new PAINTSTRUCT (); GCData data = new GCData (); data.ps = ps; data.hwnd = handle; GC gc = new_GC (data); if (gc != null) { int width = ps.right - ps.left; int height = ps.bottom - ps.top; if (width != 0 && height != 0) { RECT rect = new RECT (); OS.SetRect (rect, ps.left, ps.top, ps.right, ps.bottom); drawWidget (gc, rect); if (hooks (SWT.Paint) || filters (SWT.Paint)) { Event event = new Event (); event.gc = gc; event.setBoundsInPixels(new Rectangle(rect.left, rect.top, width, height)); sendEvent (SWT.Paint, event); event.gc = null; } } gc.dispose (); } return LRESULT.ZERO; }
Event sendEraseItemEvent (TreeItem item, NMTTCUSTOMDRAW nmcd, int column, RECT cellRect) { int nSavedDC = OS.SaveDC (nmcd.hdc); RECT insetRect = toolTipInset (cellRect); OS.SetWindowOrgEx (nmcd.hdc, insetRect.left, insetRect.top, null); GCData data = new GCData (); data.device = display; data.foreground = OS.GetTextColor (nmcd.hdc); data.background = OS.GetBkColor (nmcd.hdc); data.font = item.getFont (column); data.uiState = (int)/*64*/OS.SendMessage (handle, OS.WM_QUERYUISTATE, 0, 0); GC gc = GC.win32_new (nmcd.hdc, data); Event event = new Event (); event.item = item; event.index = column; event.gc = gc; event.detail |= SWT.FOREGROUND; event.setBoundsInPixels(new Rectangle(cellRect.left, cellRect.top, cellRect.right - cellRect.left, cellRect.bottom - cellRect.top)); //gc.setClipping (event.x, event.y, event.width, event.height); sendEvent (SWT.EraseItem, event); event.gc = null; //int newTextClr = data.foreground; gc.dispose (); OS.RestoreDC (nmcd.hdc, nSavedDC); return event; }
void drawWidget (GC gc, RECT rect) { drawBackground (gc.handle, rect); int selStart = selection.x; int selEnd = selection.y; if (selStart > selEnd) { selStart = selection.y; selEnd = selection.x; } // temporary code to disable text selection selStart = selEnd = -1; if (!OS.IsWindowEnabled (handle)) gc.setForeground (disabledColor); layout.draw (gc, 0, 0, selStart, selEnd, null, null); if (hasFocus () && focusIndex != -1) { Rectangle [] rects = getRectanglesInPixels (focusIndex); for (int i = 0; i < rects.length; i++) { Rectangle rectangle = DPIUtil.autoScaleDown(rects [i]); gc.drawFocus (rectangle.x, rectangle.y, rectangle.width, rectangle.height); } } if (hooks (SWT.Paint) || filters (SWT.Paint)) { Event event = new Event (); event.gc = gc; event.setBoundsInPixels(new Rectangle(rect.left, rect.top, rect.right - rect.left, rect.bottom - rect.top)); sendEvent (SWT.Paint, event); event.gc = null; } }
Event sendPaintItemEvent (TableItem item, NMTTCUSTOMDRAW nmcd, int column, RECT itemRect) { int nSavedDC = OS.SaveDC (nmcd.hdc); RECT insetRect = toolTipInset (itemRect); OS.SetWindowOrgEx (nmcd.hdc, insetRect.left, insetRect.top, null); GCData data = new GCData (); data.device = display; data.font = item.getFont (column); data.foreground = OS.GetTextColor (nmcd.hdc); data.background = OS.GetBkColor (nmcd.hdc); data.uiState = (int)/*64*/OS.SendMessage (handle, OS.WM_QUERYUISTATE, 0, 0); GC gc = GC.win32_new (nmcd.hdc, data); Event event = new Event (); event.item = item; event.index = column; event.gc = gc; event.detail |= SWT.FOREGROUND; event.setBoundsInPixels(new Rectangle(itemRect.left, itemRect.top, itemRect.right - itemRect.left, itemRect.bottom - itemRect.top)); //gc.setClipping (cellRect.left, cellRect.top, cellWidth, cellHeight); sendEvent (SWT.PaintItem, event); event.gc = null; gc.dispose (); OS.RestoreDC (nmcd.hdc, nSavedDC); return event; }
Event sendPaintItemEvent (TreeItem item, NMTTCUSTOMDRAW nmcd, int column, RECT itemRect) { int nSavedDC = OS.SaveDC (nmcd.hdc); RECT insetRect = toolTipInset (itemRect); OS.SetWindowOrgEx (nmcd.hdc, insetRect.left, insetRect.top, null); GCData data = new GCData (); data.device = display; data.font = item.getFont (column); data.foreground = OS.GetTextColor (nmcd.hdc); data.background = OS.GetBkColor (nmcd.hdc); data.uiState = (int)/*64*/OS.SendMessage (handle, OS.WM_QUERYUISTATE, 0, 0); GC gc = GC.win32_new (nmcd.hdc, data); Event event = new Event (); event.item = item; event.index = column; event.gc = gc; event.detail |= SWT.FOREGROUND; event.setBoundsInPixels(new Rectangle(itemRect.left, itemRect.top, itemRect.right - itemRect.left, itemRect.bottom - itemRect.top)); //gc.setClipping (cellRect.left, cellRect.top, cellWidth, cellHeight); sendEvent (SWT.PaintItem, event); event.gc = null; gc.dispose (); OS.RestoreDC (nmcd.hdc, nSavedDC); return event; }
Event sendEraseItemEvent (TableItem item, NMTTCUSTOMDRAW nmcd, int column, RECT cellRect) { int nSavedDC = OS.SaveDC (nmcd.hdc); RECT insetRect = toolTipInset (cellRect); OS.SetWindowOrgEx (nmcd.hdc, insetRect.left, insetRect.top, null); GCData data = new GCData (); data.device = display; data.foreground = OS.GetTextColor (nmcd.hdc); data.background = OS.GetBkColor (nmcd.hdc); data.font = item.getFont (column); data.uiState = (int)/*64*/OS.SendMessage (handle, OS.WM_QUERYUISTATE, 0, 0); GC gc = GC.win32_new (nmcd.hdc, data); Event event = new Event (); event.item = item; event.index = column; event.gc = gc; event.detail |= SWT.FOREGROUND; event.setBoundsInPixels(new Rectangle(cellRect.left, cellRect.top, cellRect.right - cellRect.left, cellRect.bottom - cellRect.top)); //gc.setClipping (event.x, event.y, event.width, event.height); sendEvent (SWT.EraseItem, event); event.gc = null; //int newTextClr = data.foreground; gc.dispose (); OS.RestoreDC (nmcd.hdc, nSavedDC); return event; }
Event sendMeasureItemEvent (TreeItem item, int index, int /*long*/ hDC, int detail) { RECT itemRect = item.getBounds (index, true, true, false, false, false, hDC); int nSavedDC = OS.SaveDC (hDC); GCData data = new GCData (); data.device = display; data.font = item.getFont (index); GC gc = GC.win32_new (hDC, data); Event event = new Event (); event.item = item; event.gc = gc; event.index = index; event.setBoundsInPixels(new Rectangle(itemRect.left, itemRect.top, itemRect.right - itemRect.left, itemRect.bottom - itemRect.top)); event.detail = detail; sendEvent (SWT.MeasureItem, event); event.gc = null; gc.dispose (); OS.RestoreDC (hDC, nSavedDC); if (isDisposed () || item.isDisposed ()) return null; Rectangle rect = event.getBoundsInPixels (); if (hwndHeader != 0) { if (columnCount == 0) { if (rect.x + rect.width > scrollWidth) { setScrollWidth (scrollWidth = rect.x + rect.width); } } } if (rect.height > getItemHeightInPixels ()) setItemHeight (rect.height); return event; }
Event event = new Event (); event.gc = gc; event.setBoundsInPixels(new Rectangle(ps.left, ps.top, width, height)); sendEvent (SWT.Paint, event); Event event = new Event (); event.gc = gc; event.setBoundsInPixels(new Rectangle(rect.left, rect.top, width, height)); sendEvent (SWT.Paint, event);
Event event = new Event (); event.gc = gc; event.setBoundsInPixels(new Rectangle(ps.left, ps.top, ps.right - ps.left, ps.bottom - ps.top)); sendEvent (SWT.Paint, event);
Event event = new Event (); event.gc = gc; event.setBoundsInPixels(new Rectangle(rect.left, rect.top, rect.right - rect.left, rect.bottom - rect.top)); sendEvent (SWT.Paint, event); event.gc = null;
event.setBoundsInPixels(new Rectangle(lastX, lastY, width, height)); if ((style & SWT.SMOOTH) == 0) { event.detail = SWT.DRAG;
event.gc = gc; event.index = column; event.setBoundsInPixels(new Rectangle(itemRect.left, itemRect.top, itemRect.right - itemRect.left, itemRect.bottom - itemRect.top)); boolean drawSelected = false; if (OS.IsWindowEnabled (handle)) {
Event event = new Event (); event.gc = gc; event.setBoundsInPixels(new Rectangle(ps.left, ps.top, ps.right - ps.left, ps.bottom - ps.top)); sendEvent (SWT.Paint, event);
if (drawSelected) event.detail |= SWT.SELECTED; if (drawBackground) event.detail |= SWT.BACKGROUND; event.setBoundsInPixels(new Rectangle(itemRect.left, itemRect.top, itemRect.right - itemRect.left, itemRect.bottom - itemRect.top)); RECT cellRect = item.getBounds ((int)/*64*/nmcd.dwItemSpec, nmcd.iSubItem, true, true, true, true, hDC); int cellWidth = cellRect.right - cellRect.left;
Event event = new Event (); event.gc = gc; event.setBoundsInPixels(new Rectangle(ps.left, ps.top, width, height)); sendEvent (SWT.Paint, event); if (data.focusDrawn && !isDisposed ()) updateUIState (); drawBackground (gc.handle, rect); event.setBoundsInPixels(new Rectangle(rect.left, rect.top, rect.right - rect.left, rect.bottom - rect.top)); event.count = count - 1 - i; sendEvent (SWT.Paint, event); drawBackground (gc.handle, rect); event.setBoundsInPixels(new Rectangle(ps.left, ps.top, width, height)); sendEvent (SWT.Paint, event);
if (drawBackground) event.detail |= SWT.BACKGROUND; Rectangle boundsInPixels = new Rectangle (cellRect.left, cellRect.top, cellRect.right - cellRect.left, cellRect.bottom - cellRect.top); event.setBoundsInPixels (boundsInPixels); gc.setClipping (DPIUtil.autoScaleDown(boundsInPixels)); sendEvent (SWT.EraseItem, event);