コード例 #1
0
        public static void BindToControl(this IInputView2D view, Control c)
        {
            //mouse events
            c.MouseDown        += view.DoMouseDown_ScreenSpace;
            c.MouseEnter       += delegate(object sender, EventArgs e) { view.DoMouseEnter(sender); };
            c.MouseLeave       += delegate(object sender, EventArgs e) { view.DoMouseLeave(sender); };
            c.MouseHover       += delegate(object sender, EventArgs e) { view.DoMouseHover(sender); };
            c.MouseMove        += view.DoMouseMove_ScreenSpace;
            c.MouseUp          += view.DoMouseUp_ScreenSpace;
            c.MouseWheel       += delegate(object sender, MouseEventArgs e) { view.DoMouseWheel(sender, view.ScreenSpace2WorldSpace(e.X, e.Y)); };
            c.MouseClick       += view.DoMouseClick_ScreenSpace;
            c.MouseDoubleClick += view.DoMouseDoubleClick_ScreenSpace;

            //drag drop does not have the current mouse pos.
            c.DragDrop += delegate(object sender, DragEventArgs e)
            {
                //view.DoDragDrop(sender, e.Data, view.ScreenSpace2WorldSpace(e.X, e.Y));
                Point client = c.PointToClient(new Point(e.X, e.Y));
                view.DoDragDrop(sender, e.Data, view.ScreenSpace2WorldSpace(client));
            };

            //mouse cursor
            view.OnMouseCursorChange += delegate(object sender, Cursor cursor)
            {
                c.Cursor = cursor ?? (Cursors.Default);
            };

            //context menu

            //clipboard

            //keyboard
            c.KeyDown  += view.DoKeyDown;
            c.KeyUp    += view.DoKeyUp;
            c.KeyPress += view.DoKeyPress;

            //status
        }
コード例 #2
0
 public static void DoMouseDoubleClick_ScreenSpace(this IInputView2D view, object sender, MouseEventArgs e)
 {
     view.DoMouseDoubleClick(sender, e.Button, view.ScreenSpace2WorldSpace(e.X, e.Y));
 }