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); }
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); }
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; } } }
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(); } }
/// <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); }
/// <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); }