public void OnMouseMiddleDown(Mogre.Vector2 point, MouseDevice mouseDevice) { ViewportEditor vp = GetViewportEditorFromPoint(point); if (vp != null) { ActiveViewport = vp; Mogre.Vector4 rect = new Mogre.Vector4(); ActiveViewport.GetRect(ref rect); ActiveViewport.OnMouseMiddleDown(point - new Mogre.Vector2(rect.x, rect.y), mouseDevice); } }
public void OnMouseMiddleUp(Mogre.Vector2 point, MouseDevice mouseDevice) { if (ActiveViewport == null) { return; } Mogre.Vector4 rect = new Mogre.Vector4(); ActiveViewport.GetRect(ref rect); if (PointIsInRect(point, rect)) { ActiveViewport.OnMouseMiddleUp(point - new Mogre.Vector2(rect.x, rect.y), mouseDevice); } }
public Mogre.Vector4 asVec4() { String[] aux = (result as string).Split(); float x; float y; float z; float t; float.TryParse(aux[0], out x); float.TryParse(aux[1], out y); float.TryParse(aux[2], out z); float.TryParse(aux[3], out t); Mogre.Vector4 vector4D = new Mogre.Vector4(x, y, z, t); return vector4D; }
public void OnDragDrop(IDataObject data, Point pt) { Mogre.Vector4 drect = new Mogre.Vector4(); ActiveViewport.GetRect(ref drect); Mogre.Vector2 dropPos = new Mogre.Vector2((float)(pt.X - drect.x) / drect.z, (float)(pt.Y - drect.y) / drect.w); DragData dragData = data.GetData(typeof(DragData)) as DragData; foreach (KeyValuePair<object, IDragDropHandler> handler in this.dragDropHandlers) { if (handler.Key == dragData.Source) { handler.Value.OnDragDrop(dragData, ActiveViewport.Handle as Mogre.Viewport, dropPos); break; } } this.activeDragData = null; }
public void OnDragDrop(IDataObject data, Point pt) { Mogre.Vector4 drect = new Mogre.Vector4(); ActiveViewport.GetRect(ref drect); Mogre.Vector2 dropPos = new Mogre.Vector2((float)(pt.X - drect.x) / drect.z, (float)(pt.Y - drect.y) / drect.w); DragData dragData = data.GetData(typeof(DragData)) as DragData; foreach (KeyValuePair <object, IDragDropHandler> handler in this.dragDropHandlers) { if (handler.Key == dragData.Source) { handler.Value.OnDragDrop(dragData, ActiveViewport.Handle as Mogre.Viewport, dropPos); break; } } this.activeDragData = null; }
private ViewportEditor GetViewportEditorFromPoint(Mogre.Vector2 point) { Mogre.Vector4 rect = new Mogre.Vector4(); ViewportEditor vp = null; int zOrder = -1000; foreach (var it in this.namesByType[(int)EditorType.Viewport]) { int order = (it.Value as ViewportEditor).GetRect(ref rect); if (PointIsInRect(point, rect) && (order > zOrder)) { zOrder = order; vp = it.Value as ViewportEditor; } } return(vp); }
public bool OnDragOver(IDataObject data, Point pt) { Mogre.Vector4 rect = new Mogre.Vector4(); ViewportEditor vp = null; int ZOrder = -1000; foreach (KeyValuePair <string, BaseEditor> it in GetObjectsByType(EditorType.Viewport)) { int order = ((it.Value) as ViewportEditor).GetRect(ref rect); if ((rect.x <= pt.X) && (rect.y <= pt.Y) && ((rect.y + rect.w) >= pt.Y) && (order > ZOrder)) { ZOrder = order; vp = (it.Value) as ViewportEditor; } } if (vp != null) { ActiveViewport = vp; ActiveViewport.GetRect(ref rect); DragData dragData = data.GetData(typeof(DragData)) as DragData; foreach (KeyValuePair <object, IDragDropHandler> handler in this.dragDropHandlers) { if (handler.Key == dragData.Source) { Mogre.Vector2 point = new Mogre.Vector2((float)(pt.X - rect.x) / rect.z, (float)(pt.Y - rect.y) / rect.w); return(handler.Value.OnDragOver(dragData, ActiveViewport.Handle as Mogre.Viewport, point)); } } return(true); } return(false); }
public void OnMouseWheel(Mogre.Vector2 point, float delta, MouseDevice mouseDevice) { if (ActiveViewport == null) { return; } Mogre.Vector4 rect = new Mogre.Vector4(); ActiveViewport.GetRect(ref rect); if (this.activeDragData != null) { foreach (KeyValuePair <object, IDragDropHandler> handler in this.dragDropHandlers) { if (handler.Key == this.activeDragData.Source) { handler.Value.OnDragWheel(this.activeDragData, ActiveViewport.Handle as Mogre.Viewport, delta); return; } } } ActiveViewport.OnMouseWheel(point - new Mogre.Vector2(rect.x, rect.y), delta, mouseDevice); }
public void setBackGroundColor(Mogre.Vector4 color) { backGroundColor = color; }
private ViewportEditor GetViewportEditorFromPoint(Mogre.Vector2 point) { Mogre.Vector4 rect = new Mogre.Vector4(); ViewportEditor vp = null; int zOrder = -1000; foreach (var it in this.namesByType[(int)EditorType.Viewport]) { int order = (it.Value as ViewportEditor).GetRect(ref rect); if (PointIsInRect(point, rect) && (order > zOrder)) { zOrder = order; vp = it.Value as ViewportEditor; } } return vp; }
public void OnMouseWheel(Mogre.Vector2 point, float delta, MouseDevice mouseDevice) { if (ActiveViewport == null) return; Mogre.Vector4 rect = new Mogre.Vector4(); ActiveViewport.GetRect(ref rect); if (this.activeDragData != null) { foreach (KeyValuePair<object, IDragDropHandler> handler in this.dragDropHandlers) { if (handler.Key == this.activeDragData.Source) { handler.Value.OnDragWheel(this.activeDragData, ActiveViewport.Handle as Mogre.Viewport, delta); return; } } } ActiveViewport.OnMouseWheel(point - new Mogre.Vector2(rect.x, rect.y), delta, mouseDevice); }
public void OnMouseRightUp(Mogre.Vector2 point, MouseDevice mouseDevice) { if (ActiveViewport == null) return; Mogre.Vector4 rect = new Mogre.Vector4(); ActiveViewport.GetRect(ref rect); if (PointIsInRect(point, rect)) { ActiveViewport.OnMouseRightUp(point - new Mogre.Vector2(rect.x, rect.y), mouseDevice); } }
public void OnMouseRightDown(Mogre.Vector2 point, MouseDevice mouseDevice) { ViewportEditor vp = GetViewportEditorFromPoint(point); if (vp != null) { ActiveViewport = vp; Mogre.Vector4 rect = new Mogre.Vector4(); ActiveViewport.GetRect(ref rect); ActiveViewport.OnMouseRightDown(point - new Mogre.Vector2(rect.x, rect.y), mouseDevice); } }
public bool OnDragOver(IDataObject data, Point pt) { Mogre.Vector4 rect = new Mogre.Vector4(); ViewportEditor vp = null; int ZOrder = -1000; foreach (KeyValuePair<string, BaseEditor> it in GetObjectsByType(EditorType.Viewport)) { int order = ((it.Value) as ViewportEditor).GetRect(ref rect); if ((rect.x <= pt.X) && (rect.y <= pt.Y) && ((rect.y + rect.w) >= pt.Y) && (order > ZOrder)) { ZOrder = order; vp = (it.Value) as ViewportEditor; } } if (vp != null) { ActiveViewport = vp; ActiveViewport.GetRect(ref rect); DragData dragData = data.GetData(typeof(DragData)) as DragData; foreach (KeyValuePair<object, IDragDropHandler> handler in this.dragDropHandlers) { if (handler.Key == dragData.Source) { Mogre.Vector2 point = new Mogre.Vector2((float)(pt.X - rect.x) / rect.z, (float)(pt.Y - rect.y) / rect.w); return handler.Value.OnDragOver(dragData, ActiveViewport.Handle as Mogre.Viewport, point); } } return true; } return false; }
private static bool PointIsInRect(Mogre.Vector2 point, Mogre.Vector4 rect) { return((rect.x <= point.x) && (rect.y <= point.y) && ((rect.x + rect.z) >= point.x) && ((rect.y + rect.w) >= point.y)); }