Example #1
0
        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);
            }
        }
Example #2
0
        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);
            }
        }
Example #3
0
        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;
        }
Example #6
0
        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);
        }
Example #8
0
        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);
        }
Example #9
0
 public void setBackGroundColor(Mogre.Vector4 color)
 {
     backGroundColor = color;
 }
Example #10
0
        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;
        }
Example #11
0
        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);
        }
Example #12
0
        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);
            }
        }
Example #13
0
        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);
            }
        }
Example #14
0
 public void setBackGroundColor(Mogre.Vector4 color)
 {
     backGroundColor = color;
 }
        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;
        }
Example #16
0
 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));
 }