public override void MouseDragged(NSEvent theEvent) { base.MouseDragged(theEvent); var point = NSEvent.CurrentMouseLocation; int newpos; if (dockGroup.Type == DockGroupType.Horizontal) { newpos = (int)point.X; } else { newpos = (int)point.Y; } if (newpos != dragPos) { int nsize; if (dockGroup.Type == DockGroupType.Horizontal) { nsize = dragSize + (newpos - dragPos); } else { nsize = dragSize - (newpos - dragPos); } dockGroup.ResizeItem(dockIndex, nsize); } }
protected override bool OnMotionNotifyEvent(Gdk.EventMotion e) { if (dragging) { int newpos = (dockGroup.Type == DockGroupType.Horizontal) ? (int)e.XRoot : (int)e.YRoot; if (newpos != dragPos) { int nsize = dragSize + (newpos - dragPos); dockGroup.ResizeItem(dockIndex, nsize); } } return(base.OnMotionNotifyEvent(e)); }
protected override bool OnMotionNotifyEvent(Gdk.EventMotion e) { if (dragging) { NotifySeparatorsChanged(); int newpos = (currentHandleGrp.Type == DockGroupType.Horizontal) ? (int)e.XRoot : (int)e.YRoot; if (newpos != dragPos) { int nsize = dragSize + (newpos - dragPos); currentHandleGrp.ResizeItem(currentHandleIndex, nsize); layout.DrawSeparators(Allocation, currentHandleGrp, currentHandleIndex, true, null); } } else if (layout != null && placeholderWindow == null) { int index; DockGroup grp; if (FindHandle(layout, (int)e.X, (int)e.Y, out grp, out index)) { if (currentHandleGrp != grp || currentHandleIndex != index) { if (grp.Type == DockGroupType.Horizontal) { this.GdkWindow.Cursor = hresizeCursor; } else { this.GdkWindow.Cursor = vresizeCursor; } currentHandleGrp = grp; currentHandleIndex = index; layout.DrawSeparators(Allocation, currentHandleGrp, currentHandleIndex, true, null); } } else if (currentHandleGrp != null) { ResetHandleHighlight(); } } return(base.OnMotionNotifyEvent(e)); }