Beispiel #1
0
        public override void Draw(SpriteBatch batch)
        {
            game.Window.Title = string.Format("{0} - Sh.Framework", ScreenManager.Instance.currentscreen);

            batch.Draw(pixel, new Rectangle(0, 0, 160, GraphicsAdapter.DefaultAdapter.CurrentDisplayMode.Height), Color.DarkGray);

            int i = 0;

            newState = Mouse.GetState();

            foreach (testcase t in testcases)
            {
                Vector2 position = new Vector2(4, 55 * i + 45 + scrollmanager.offset.Y);
                buttonsize = new Rectangle((int)position.X, (int)position.Y, 150, 50);
                batch.Draw(pixel, buttonsize, Color.DarkSlateGray);

                batch.DrawString(font, t.testcasename ?? "<not specified>", new Vector2(buttonsize.X, buttonsize.Y), Color.White);

                if (MouseTouching.RectWithIn(buttonsize) && MouseStroke.LeftButtonDown(oldState, newState))
                {
                    ScreenManager.Instance.currentscreen = t;
                    ScreenManager.Instance.reloadscreen();
                }

                i++;
            }

            oldState = newState;

            scrollmanager.Update();

            base.Draw(batch);
        }
Beispiel #2
0
        internal void AddMouseInput(MouseStroke flag, int data, bool absolute, int x, int y)
        {
            int mouseFlags = (int)flag;

            if (absolute)
            {
                // ABSOLUTE = 0x8000
                mouseFlags |= 0x8000;

                x = ((x * 65535) / Screen.PrimaryScreen.Bounds.Width) + 1;
                y = ((y * 65535) / Screen.PrimaryScreen.Bounds.Height) + 1;
            }

            Input input = new Input();

            input.Type              = 0; // MOUSE = 0
            input.U.Mouse.Flags     = mouseFlags;
            input.U.Mouse.Data      = data;
            input.U.Mouse.X         = x;
            input.U.Mouse.Y         = y;
            input.U.Mouse.Time      = 0;
            input.U.Mouse.ExtraInfo = IntPtr.Zero;

            _inputs.Add(input);
        }
Beispiel #3
0
        public override void Update()
        {
            base.Update();

            Head.Update();

            newState = Mouse.GetState();

            focused = Head.pressed;

            if (!Head.hovering)
            {
                if (MouseStroke.LeftButtonDown(oldState, newState))
                {
                    foreach (Button b in entries)
                    {
                        if (b.pressed)
                        {
                            Selection = b.label;
                            b.pressed = false;
                        }
                    }
                    Head.pressed = false;
                }
            }

            oldState = newState;

            foreach (Button b in entries)
            {
                b.Update();

                if (b.pressed)
                {
                    Selection = b.label;
                    b.pressed = false;
                }
            }
        }
Beispiel #4
0
        private void SendMouseEvent(MouseState state)
        {
            try
            {
                Stroke      stroke      = new Stroke();
                MouseStroke mouseStroke = new MouseStroke();

                mouseStroke.State = state;

                if (state == MouseState.ScrollUp)
                {
                    mouseStroke.Rolling = 120;
                }
                else if (state == MouseState.ScrollDown)
                {
                    mouseStroke.Rolling = -120;
                }

                stroke.Mouse = mouseStroke;

                InterceptionDriver.Send(context, devm, ref stroke, 1);
            }
            catch { Stop(); }
        }
Beispiel #5
0
 /// <summary>
 /// マウス入力のイベントを追加します。
 /// </summary>
 /// <param name="inputs">入力イベントのリスト</param>
 /// <param name="flag">移動とクリックのオプション</param>
 /// <param name="data">シミュレートされたマウスイベントに関する情報(ホイール回転量又はXボタン番号)</param>
 /// <param name="absolute">マウス座標を絶対値で指定する場合は true</param>
 /// <param name="x">水平位置または移動量</param>
 /// <param name="y">垂直位置または移動量</param>
 public static void AddMouseInput(ref System.Collections.Generic.List <Input> inputs, MouseStroke flag, int data, bool absolute, int x, int y)
 {
     AddMouseInput(ref inputs, new System.Collections.Generic.List <MouseStroke> {
         flag
     }, data, absolute, x, y);
 }
Beispiel #6
0
 /// <summary>
 /// マウス入力のイベントを追加します。
 /// </summary>
 /// <param name="inputs">入力イベントのリスト</param>
 /// <param name="flag">移動とクリックのオプション</param>
 /// <param name="data">シミュレートされたマウスイベントに関する情報(ホイール回転量又はXボタン番号)</param>
 /// <param name="absolute">マウス座標を絶対値で指定する場合は true</param>
 /// <param name="x">水平位置または移動量</param>
 /// <param name="y">垂直位置または移動量</param>
 public static void AddMouseInput(ref List <Input> inputs, MouseStroke flag, int data, bool absolute, int x, int y)
 {
     AddMouseInput(ref inputs, new List <MouseStroke> {
         flag
     }, data, absolute, x, y);
 }