Mono.Terminal.Container.ProcessMouse C# (CSharp) Méthode

ProcessMouse() public méthode

public ProcessMouse ( Curses ev ) : void
ev Curses
Résultat void
        public override void ProcessMouse(Curses.MouseEvent ev)
        {
            int bx, by;

            GetBase (out bx, out by);
            ev.X -= x;
            ev.Y -= y;

            foreach (Widget w in widgets){
                int wx = w.x + bx;
                int wy = w.y + by;

                if ((ev.X < wx) || (ev.X > (wx + w.w)))
                    continue;

                if ((ev.Y < wy) || (ev.Y > (wy + w.h)))
                    continue;

                ev.X -= bx;
                ev.Y -= by;

                w.ProcessMouse (ev);
                return;
            }
        }

Usage Example

Exemple #1
0
        static void ProcessChar(Container container)
        {
            int ch = Curses.getch ();

            if ((ch == -1) || (ch == Curses.KeyResize)){
                if (Curses.CheckWinChange ()){
                    EmptyContainer.Clear ();
                    foreach (Container c in toplevels)
                        c.SizeChanged ();
                    Refresh ();
                }
                return;
            }

            if (ch == Curses.KeyMouse){
                Curses.MouseEvent ev;

                Curses.console_sharp_getmouse (out ev);
                container.ProcessMouse (ev);
                return;
            }

            if (ch == 27){
                Curses.timeout (100);
                int k = Curses.getch ();
                if (k != Curses.ERR && k != 27)
                    ch = Curses.KeyAlt | k;
                Curses.timeout (-1);
            }

            if (container.ProcessHotKey (ch))
                return;

            if (container.ProcessKey (ch))
                return;

            if (container.ProcessColdKey (ch))
                return;

            // Control-c, quit the current operation.
            if (ch == 3){
                container.Running = false;
                return;
            }

            // Control-z, suspend execution, then repaint.
            if (ch == 26){
                Curses.console_sharp_sendsigtstp ();
                Window.Standard.redrawwin ();
                Curses.refresh ();
            }

            //
            // Focus handling
            //
            if (ch == 9 || ch == Curses.KeyDown || ch == Curses.KeyRight){
                if (!container.FocusNext ())
                    container.FocusNext ();
                Curses.refresh ();
            } else if (ch == Curses.KeyUp || ch == Curses.KeyLeft){
                if (!container.FocusPrev ())
                    container.FocusPrev ();
                Curses.refresh ();
            }
        }
All Usage Examples Of Mono.Terminal.Container::ProcessMouse