private void dragX_Started(DragListener drag) { _adornerLayer = this.adornerPanel.TryFindParent <AdornerLayer>(); var designerItem = this.ExtendedItem.Component as FrameworkElement; this.parent = VisualTreeHelper.GetParent(designerItem) as UIElement; startPoint = Mouse.GetPosition(this.parent); if (this.skewTransform == null) { this.skewX = 0; this.skewY = 0; } else { this.skewX = this.skewTransform.AngleX; this.skewY = this.skewTransform.AngleY; } rtTransform = this.ExtendedItem.Properties[FrameworkElement.RenderTransformProperty].Value; operation = PlacementOperation.Start(extendedItemArray, PlacementType.Resize); }
// TODO : Remove all hide/show extensions from here. void drag_Started(DragListener drag) { /* Abort editing Text if it was editing, because it interferes with the undo stack. */ foreach (var extension in this.ExtendedItem.Extensions) { if (extension is InPlaceEditorExtension) { ((InPlaceEditorExtension)extension).AbortEdit(); } } drag.Transform = this.ExtendedItem.GetCompleteAppliedTransformationToView(); oldSize = new Size(ModelTools.GetWidth(ExtendedItem.View), ModelTools.GetHeight(ExtendedItem.View)); if (resizeBehavior != null) { operation = PlacementOperation.Start(extendedItemArray, PlacementType.Resize); } else { changeGroup = this.ExtendedItem.Context.OpenGroup("Resize", extendedItemArray); } _isResizing = true; ShowSizeAndHideHandles(); }
private void drag_Rotate_Started(DragListener drag) { var designerItem = this.ExtendedItem.Component as FrameworkElement; this.parent = VisualTreeHelper.GetParent(designerItem) as UIElement; this.centerPoint = designerItem.TranslatePoint( new Point(designerItem.ActualWidth * designerItem.RenderTransformOrigin.X, designerItem.ActualHeight * designerItem.RenderTransformOrigin.Y), this.parent); Point startPoint = Mouse.GetPosition(this.parent); this.startVector = Point.Subtract(startPoint, this.centerPoint); if (this.rotateTransform == null) { this.initialAngle = 0; } else { this.initialAngle = this.rotateTransform.Angle; } rtTransform = this.ExtendedItem.Properties[FrameworkElement.RenderTransformProperty].Value; operation = PlacementOperation.Start(extendedItemArray, PlacementType.Resize); }
private void dragX_Changed(DragListener drag) { Point currentPoint = Mouse.GetPosition(this.parent); Vector deltaVector = Point.Subtract(currentPoint, this.startPoint); var destAngle = (-0.5 * deltaVector.X) + skewX; if (destAngle == 0 && skewY == 0) { this.ExtendedItem.Properties.GetProperty(FrameworkElement.RenderTransformProperty).Reset(); rtTransform = null; skewTransform = null; } else { if ((rtTransform == null) || !(rtTransform.Component is SkewTransform)) { if (!this.ExtendedItem.Properties.GetProperty(FrameworkElement.RenderTransformOriginProperty).IsSet) { this.ExtendedItem.Properties.GetProperty(FrameworkElement.RenderTransformOriginProperty).SetValue(new Point(0.5, 0.5)); } if (this.skewTransform == null) { this.skewTransform = new SkewTransform(0, 0); } this.ExtendedItem.Properties.GetProperty(FrameworkElement.RenderTransformProperty).SetValue(skewTransform); rtTransform = this.ExtendedItem.Properties[FrameworkElement.RenderTransformProperty].Value; } rtTransform.Properties["AngleX"].SetValue(destAngle); } _adornerLayer.UpdateAdornersForElement(this.ExtendedItem.View, true); }
// TODO : Remove all hide/show extensions from here. void drag_Started(DragListener drag) { var designPanel = ExtendedItem.Services.DesignPanel as DesignPanel; if (designPanel != null) { var p = VisualTreeHelper.GetParent(designPanel); while (p != null && !(p is ZoomControl)) { p = VisualTreeHelper.GetParent(p); } zoom = p as ZoomControl; } /* Abort editing Text if it was editing, because it interferes with the undo stack. */ foreach (var extension in this.ExtendedItem.Extensions) { if (extension is InPlaceEditorExtension) { ((InPlaceEditorExtension)extension).AbortEdit(); } } oldSize = new Size(ModelTools.GetWidth(ExtendedItem.View), ModelTools.GetHeight(ExtendedItem.View)); if (resizeBehavior != null) { operation = PlacementOperation.Start(extendedItemArray, PlacementType.Resize); } else { changeGroup = this.ExtendedItem.Context.OpenGroup("Resize", extendedItemArray); } _isResizing = true; ShowSizeAndHideHandles(); }
void drag_Completed(DragListener drag) { if (operation != null) { if (drag.IsCanceled) { operation.Abort(); } else { operation.Commit(); } operation = null; } else { if (drag.IsCanceled) { changeGroup.Abort(); } else { changeGroup.Commit(); } changeGroup = null; } _isResizing = false; HideSizeAndShowHandles(); }
protected virtual void drag_Changed(DragListener drag) { ArrowLine al = ExtendedItem.View as ArrowLine; var alignment = (drag.Target as DesignerThumb).Alignment; var info = operation.PlacedItems[0]; double dx = 0; double dy = 0; if (zoom != null) { dx = drag.Delta.X * (1 / zoom.CurrentZoom); dy = drag.Delta.Y * (1 / zoom.CurrentZoom); } double top, left, x, y, xtop, xleft; if (alignment == PlacementAlignment.TopLeft) { //normal values x = CurrentX2 - dx; y = CurrentY2 - dy; top = CurrentTop + dy; left = CurrentLeft + dx; //values to use when keys are pressed xtop = CurrentTop + CurrentY2; xleft = CurrentLeft + CurrentX2; } else { x = CurrentX2 + dx; y = CurrentY2 + dy; top = xtop = CurrentTop; left = xleft = CurrentLeft; } Bounds position = CalculateDrawing(x, y, left, top, xleft, xtop); ExtendedItem.Properties.GetProperty(ArrowLine.X1Property).SetValue(0); ExtendedItem.Properties.GetProperty(ArrowLine.Y1Property).SetValue(0); ExtendedItem.Properties.GetProperty(ArrowLine.X2Property).SetValue(position.X); ExtendedItem.Properties.GetProperty(ArrowLine.Y2Property).SetValue(position.Y); if (operation != null) { var result = info.OriginalBounds; result.X = position.Left; result.Y = position.Top; result.Width = Math.Abs(position.X); result.Height = Math.Abs(position.Y); info.Bounds = result.Round(); operation.CurrentContainerBehavior.BeforeSetPosition(operation); operation.CurrentContainerBehavior.SetPosition(info); } (drag.Target as DesignerThumb).InvalidateArrange(); ResetWidthHeightProperties(); }
// TODO : Remove all hide/show extensions from here. protected virtual void drag_Started(DragListener drag) { ArrowLine al = ExtendedItem.View as ArrowLine; CurrentX2 = al.X2; CurrentY2 = al.Y2; CurrentLeft = (double)al.GetValue(Canvas.LeftProperty); CurrentTop = (double)al.GetValue(Canvas.TopProperty); var designPanel = ExtendedItem.Services.DesignPanel as DesignPanel; zoom = designPanel.TryFindParent <ZoomControl>(); if (resizeBehavior != null) { operation = PlacementOperation.Start(extendedItemArray, PlacementType.Resize); } else { changeGroup = this.ExtendedItem.Context.OpenGroup("Resize", extendedItemArray); } _isResizing = true; (drag.Target as DesignerThumb).IsPrimarySelection = false; }
protected virtual void drag_Completed(DragListener drag) { if (operation != null) { if (drag.IsCanceled) { operation.Abort(); } else { ResetWidthHeightProperties(); operation.Commit(); } operation = null; } else { if (drag.IsCanceled) { changeGroup.Abort(); } else { changeGroup.Commit(); } changeGroup = null; } _isResizing = false; (drag.Target as DesignerThumb).IsPrimarySelection = true; HideSizeAndShowHandles(); }
protected DesignerThumb CreateThumb(PlacementAlignment alignment, Cursor cursor, int index) { DesignerThumb designerThumb = new MultiPointThumb { Index = index, Alignment = alignment, Cursor = cursor, IsPrimarySelection = true }; AdornerPlacement ap = Place(designerThumb, alignment, index); (designerThumb as MultiPointThumb).AdornerPlacement = ap; AdornerPanel.SetPlacement(designerThumb, ap); adornerPanel.Children.Add(designerThumb); DragListener drag = new DragListener(designerThumb); WeakEventManager <DesignerThumb, MouseButtonEventArgs> .AddHandler(designerThumb, "PreviewMouseLeftButtonDown", ResizeThumbOnMouseLeftButtonUp); drag.Started += drag_Started; drag.Changed += drag_Changed; drag.Completed += drag_Completed; return(designerThumb); }
public AnimatorListenerAdapterAnonymousInnerClass2(DragListener outerInstance, int direction, View topView) { _outerInstance = outerInstance; _direction = direction; _topView = topView; }
private void Awake() { m_dragListener = GetComponent <DragListener>(); m_collisionListener = GetComponent <CollisionListener>(); m_rb = GetComponent <Rigidbody>(); m_constantForce = GetComponent <ConstantForce>(); m_constantForce.force = Vector3.zero; m_rb.useGravity = false; }
static public DragListener Get(Transform trans) { DragListener listener = trans.GetComponent <DragListener>(); if (listener == null) { listener = trans.gameObject.AddComponent <DragListener>(); } return(listener); }
static public DragListener Get(GameObject go) { DragListener listener = go.GetComponent <DragListener>(); if (listener == null) { listener = go.AddComponent <DragListener>(); } return(listener); }
static public DragListener Get(Component com) { DragListener listener = com.GetComponent <DragListener>(); if (listener == null) { listener = com.gameObject.AddComponent <DragListener>(); } return(listener); }
public void AddCamera(Transform camTrans) { mCamTrans = camTrans; mCamRect = GameObject.Instantiate(CameraRectPrefab).GetComponent <RectTransform>(); mCamRect.SetParent(mMiniMap.Find("Container")); mCamRect.localScale = new Vector3(1, 1, 1); DragListener listener = mCamRect.Find("Rect").GetComponent <DragListener>(); listener.DragAction += OnDragCamRect; }
// TODO : Remove all hide/show extensions from here. protected void drag_Started(DragListener drag) { //get current thumb MultiPointThumb mprt = (drag.Target as MultiPointThumb); if (mprt != null) { SetOperation(); } }
public static DragListener Get(GameObject obj) { if (obj != null) { DragListener listener = obj.GetComponent <DragListener> (); if (listener == null) { listener = obj.AddComponent <DragListener> (); } return(listener); } return(null); }
void CheckDragListener() { DragListener l = this.GetComponent <DragListener>(); if (l != null) { return; } l = this.gameObject.AddComponentIfNoExist <DragListener>(); l.onDragBegin = OnBeginDrag; l.onDrag = OnDrag; l.onDragEnd = OnEndDrag; }
void drag_Changed(DragListener drag) { double dx = 0; double dy = 0; var alignment = (drag.Target as ResizeThumb).Alignment; if (alignment.Horizontal == HorizontalAlignment.Left) { dx = -drag.Delta.X; } if (alignment.Horizontal == HorizontalAlignment.Right) { dx = drag.Delta.X; } if (alignment.Vertical == VerticalAlignment.Top) { dy = -drag.Delta.Y; } if (alignment.Vertical == VerticalAlignment.Bottom) { dy = drag.Delta.Y; } var newWidth = Math.Max(0, oldSize.Width + dx); var newHeight = Math.Max(0, oldSize.Height + dy); ModelTools.Resize(ExtendedItem, newWidth, newHeight); if (operation != null) { var info = operation.PlacedItems[0]; var result = info.OriginalBounds; if (alignment.Horizontal == HorizontalAlignment.Left) { result.X = Math.Min(result.Right, result.X - dx); } if (alignment.Vertical == VerticalAlignment.Top) { result.Y = Math.Min(result.Bottom, result.Y - dy); } result.Width = newWidth; result.Height = newHeight; info.Bounds = result.Round(); info.ResizeThumbAlignment = alignment; operation.CurrentContainerBehavior.BeforeSetPosition(operation); operation.CurrentContainerBehavior.SetPosition(info); } }
ResizeThumb CreateThumb(PlacementAlignment alignment, Cursor cursor) { ResizeThumb resizeThumb = new ResizeThumbImpl(cursor == Cursors.SizeNS, cursor == Cursors.SizeWE); resizeThumb.Cursor = cursor; resizeThumb.Alignment = alignment; AdornerPanel.SetPlacement(resizeThumb, Place(ref resizeThumb, alignment)); adornerPanel.Children.Add(resizeThumb); DragListener drag = new DragListener(resizeThumb); drag.Started += new DragHandler(drag_Started); drag.Changed += new DragHandler(drag_Changed); drag.Completed += new DragHandler(drag_Completed); return(resizeThumb); }
DesignerThumb CreateThumb(PlacementAlignment alignment, Cursor cursor) { DesignerThumb designerThumb = new ResizeThumb(cursor == Cursors.SizeNS, cursor == Cursors.SizeWE); designerThumb.Cursor = cursor; designerThumb.Alignment = alignment; AdornerPanel.SetPlacement(designerThumb, Place(ref designerThumb, alignment)); adornerPanel.Children.Add(designerThumb); DragListener drag = new DragListener(designerThumb); drag.Started += drag_Started; drag.Changed += drag_Changed; drag.Completed += drag_Completed; return(designerThumb); }
protected void drag_Completed(DragListener drag) { MultiPointThumb mprt = drag.Target as MultiPointThumb; if (mprt != null) { if (operation != null && drag.IsCanceled) { operation.Abort(); } else if (drag.IsCanceled) { changeGroup.Abort(); } CommitOperation(); } }
protected DesignerThumb CreateThumb(PlacementAlignment alignment, Cursor cursor) { DesignerThumb designerThumb = new DesignerThumb { Alignment = alignment, Cursor = cursor, IsPrimarySelection = true }; AdornerPanel.SetPlacement(designerThumb, Place(designerThumb, alignment)); adornerPanel.Children.Add(designerThumb); DragListener = new DragListener(designerThumb); DragListener.Started += drag_Started; DragListener.Changed += drag_Changed; DragListener.Completed += drag_Completed; return(designerThumb); }
protected UserControlPointsObjectThumb CreateThumb(PlacementAlignment alignment, Cursor cursor, DependencyProperty property) { var designerThumb = new UserControlPointsObjectThumb { Alignment = alignment, Cursor = cursor, IsPrimarySelection = true, DependencyProperty = property }; AdornerPanel.SetPlacement(designerThumb, Place(designerThumb, alignment)); adornerPanel.Children.Add(designerThumb); DragListener = new DragListener(designerThumb); DragListener.Started += drag_Started; DragListener.Changed += drag_Changed; DragListener.Completed += drag_Completed; return(designerThumb); }
protected override void OnInitialized() { if (this.ExtendedItem.Component is WindowClone) { return; } base.OnInitialized(); extendedItemArray[0] = this.ExtendedItem; this.ExtendedItem.PropertyChanged += OnPropertyChanged; var designerItem = this.ExtendedItem.Component as FrameworkElement; this.skewTransform = designerItem.RenderTransform as SkewTransform; if (skewTransform != null) { skewX = skewTransform.AngleX; skewY = skewTransform.AngleY; } thumb1 = new Thumb() { Cursor = Cursors.ScrollWE, Height = 14, Width = 4, Opacity = 1 }; thumb2 = new Thumb() { Cursor = Cursors.ScrollNS, Width = 14, Height = 4, Opacity = 1 }; OnPropertyChanged(null, null); adornerPanel.Children.Add(thumb1); adornerPanel.Children.Add(thumb2); DragListener drag1 = new DragListener(thumb1); drag1.Started += dragX_Started; drag1.Changed += dragX_Changed; drag1.Completed += dragX_Completed; DragListener drag2 = new DragListener(thumb2); drag2.Started += dragY_Started; drag2.Changed += dragY_Changed; drag2.Completed += dragY_Completed; }
private void drag_Rotate_Changed(DragListener drag) { Point currentPoint = Mouse.GetPosition(this.parent); Vector deltaVector = Point.Subtract(currentPoint, this.centerPoint); double angle = Vector.AngleBetween(this.startVector, deltaVector); var destAngle = this.initialAngle + Math.Round(angle, 0); if (!Keyboard.IsKeyDown(Key.LeftCtrl)) { destAngle = ((int)destAngle / 15) * 15; } ModelTools.ApplyTransform(this.ExtendedItem, new RotateTransform() { Angle = destAngle }); }
public static void DragOver ( this View draggedView, View backgroudView ) { View.IOnDragListener dragListener = new DragListener(draggedView); backgroudView.SetOnDragListener(dragListener); var shadowBuilder = new View.DragShadowBuilder(draggedView); draggedView.StartDrag // StartDragAndDrop ( null, // the data to be dragged shadowBuilder, null, // no need to use local data 0 // flags (not currently used, set to 0) ); }
ResizeThumb CreateRotateThumb() { ResizeThumb rotateThumb = new RotateThumb(); rotateThumb.Cursor = Cursors.Hand; rotateThumb.Cursor = ZoomControl.GetCursor("Images/rotate.cur"); rotateThumb.Alignment = PlacementAlignment.Top; AdornerPanel.SetPlacement(rotateThumb, new RelativePlacement(HorizontalAlignment.Center, VerticalAlignment.Top) { WidthRelativeToContentWidth = 1, HeightOffset = 0 }); adornerPanel.Children.Add(rotateThumb); DragListener drag = new DragListener(rotateThumb); drag.Started += drag_Rotate_Started; drag.Changed += drag_Rotate_Changed; return(rotateThumb); }
private void drag_Rotate_Changed(DragListener drag) { Point currentPoint = Mouse.GetPosition(this.parent); Vector deltaVector = Point.Subtract(currentPoint, this.centerPoint); double angle = Vector.AngleBetween(this.startVector, deltaVector); var destAngle = this.initialAngle + Math.Round(angle, 0); if (!Keyboard.IsKeyDown(Key.LeftCtrl)) { destAngle = ((int)destAngle / 15) * 15; } if (destAngle == 0) { this.ExtendedItem.Properties.GetProperty(FrameworkElement.RenderTransformProperty).Reset(); rtTransform = null; rotateTransform = null; } else { if ((rtTransform == null) || !(rtTransform.Component is RotateTransform)) { if (!this.ExtendedItem.Properties.GetProperty(FrameworkElement.RenderTransformOriginProperty).IsSet) { this.ExtendedItem.Properties.GetProperty(FrameworkElement.RenderTransformOriginProperty).SetValue(new Point(0.5, 0.5)); } if (this.rotateTransform == null) { this.rotateTransform = new RotateTransform(0); } this.ExtendedItem.Properties.GetProperty(FrameworkElement.RenderTransformProperty).SetValue(rotateTransform); rtTransform = this.ExtendedItem.Properties[FrameworkElement.RenderTransformProperty].Value; } rtTransform.Properties["Angle"].SetValue(destAngle); _adornerLayer.UpdateAdornersForElement(this.ExtendedItem.View, true); } }