private KeyEventInfo CreateKeyState() { var keyInfo = new KeyEventInfo(); keyInfo.KeyShift = ImGui.GetIO().KeyShift; keyInfo.KeyCtrl = ImGui.GetIO().KeyCtrl; keyInfo.KeyAlt = ImGui.GetIO().KeyAlt; return(keyInfo); }
public void OnMouseWheel(MouseEventInfo e, KeyEventInfo k) { if (previousMouseWheel == 0) { previousMouseWheel = e.WheelPrecise; } e.Delta = e.WheelPrecise - previousMouseWheel; _context.Camera.Controller.MouseWheel(e, k); previousMouseWheel = e.WheelPrecise; }
private KeyEventInfo CreateKeyState() { var keyInfo = new KeyEventInfo(); keyInfo.KeyShift = ImGui.GetIO().KeyShift; keyInfo.KeyCtrl = ImGui.GetIO().KeyCtrl; keyInfo.KeyAlt = ImGui.GetIO().KeyAlt; if (Keyboard.GetState().IsKeyDown(Key.W)) { keyInfo.KeyChars.Add("w"); } if (Keyboard.GetState().IsKeyDown(Key.A)) { keyInfo.KeyChars.Add("a"); } if (Keyboard.GetState().IsKeyDown(Key.S)) { keyInfo.KeyChars.Add("s"); } if (Keyboard.GetState().IsKeyDown(Key.D)) { keyInfo.KeyChars.Add("d"); } if (Keyboard.GetState().IsKeyDown(Key.X)) { keyInfo.KeyChars.Add("x"); } if (Keyboard.GetState().IsKeyDown(Key.Y)) { keyInfo.KeyChars.Add("y"); } if (Keyboard.GetState().IsKeyDown(Key.Z)) { keyInfo.KeyChars.Add("z"); } if (Keyboard.GetState().IsKeyDown(Key.Space)) { keyInfo.KeyChars.Add("space"); } return(keyInfo); }
public void OnMouseMove(MouseEventInfo e, KeyEventInfo k, OpenTK.Vector2 refPos) { _context.OnMouseMove(e); int transformState = 0; if (_context.Scene.ActiveAction != null) { transformState = _context.Scene.ActiveAction.OnMouseMove(_context, e); } if (transformState != 0) { return; } _context.Camera.Controller.MouseMove(e, k, refPos); e.FullPosition = new Point((int)refPos.X, (int)refPos.Y); }
public void OnMouseDown(MouseEventInfo e, KeyEventInfo k) { _context.OnMouseDown(e); if (_context.Scene.ActiveAction != null) { var state = _context.Scene.ActiveAction.OnMouseDown(_context, e); if (state != 0) { return; } } if (e.LeftButton == ButtonState.Pressed) { PickScene(e, true); } _context.Camera.Controller.MouseClick(e, k); }
public override void OnKeyPress(KeyEventInfo e) { if (e.Pressed) { switch (e.Key) { case ConsoleKey.Q: { showDebug = !showDebug; } break; case ConsoleKey.H: { showHelp = !showHelp; } break; case ConsoleKey.D1: { ChangePaintColors(new Colors(Colors.Color.Default, Colors.Color.Red), new Colors(Colors.Color.Default, Colors.Color.DarkRed)); highlight.Coords.X = 13; highlight.Text = "(1)"; } break; case ConsoleKey.D2: { ChangePaintColors(new Colors(Colors.Color.Default, Colors.Color.Yellow), new Colors(Colors.Color.Default, Colors.Color.DarkYellow)); highlight.Coords.X = 21; highlight.Text = "(2)"; } break; case ConsoleKey.D3: { ChangePaintColors(new Colors(Colors.Color.Default, Colors.Color.Green), new Colors(Colors.Color.Default, Colors.Color.DarkGreen)); highlight.Coords.X = 29; highlight.Text = "(3)"; } break; case ConsoleKey.D4: { ChangePaintColors(new Colors(Colors.Color.Default, Colors.Color.Cyan), new Colors(Colors.Color.Default, Colors.Color.DarkCyan)); highlight.Coords.X = 37; highlight.Text = "(4)"; } break; case ConsoleKey.D5: { ChangePaintColors(new Colors(Colors.Color.Default, Colors.Color.Blue), new Colors(Colors.Color.Default, Colors.Color.DarkBlue)); highlight.Coords.X = 45; highlight.Text = "(5)"; } break; case ConsoleKey.D6: { ChangePaintColors(new Colors(Colors.Color.Default, Colors.Color.Magenta), new Colors(Colors.Color.Default, Colors.Color.DarkMagenta)); highlight.Coords.X = 53; highlight.Text = "(6)"; } break; case ConsoleKey.D7: { ChangePaintColors(new Colors(Colors.Color.Default, Colors.Color.Gray), new Colors(Colors.Color.Default, Colors.Color.DarkGray)); highlight.Coords.X = 61; highlight.Text = "(7)"; } break; case ConsoleKey.D8: { ChangePaintColors(new Colors(Colors.Color.Default, Colors.Color.White), new Colors(Colors.Color.Default, Colors.Color.Black)); highlight.Coords.X = 69; highlight.Text = "(8)"; } break; case ConsoleKey.Enter: { string output = JsonConvert.SerializeObject(paintPixels /*, Formatting.Indented*/); if (!Directory.Exists("./temp")) { Directory.CreateDirectory("./temp"); } FileInfo fi = new FileInfo(Environment.CurrentDirectory + "/temp/draving.json"); if (fi.Exists) { fi.Delete(); } using (StreamWriter sw = fi.CreateText()) { sw.Write(output); } if (File.Exists("./save.tp")) { File.Delete("./save.tp"); } ZipFile.CreateFromDirectory("./temp", "./save.tp", CompressionLevel.Fastest, false); if (Directory.Exists("./temp")) { Directory.Delete("./temp", true); } justSaved = true; } break; case ConsoleKey.Spacebar: { string input = ""; if (!File.Exists("./save.tp")) { return; } if (Directory.Exists("./temp")) { Directory.Delete("./temp", true); } ZipFile.ExtractToDirectory("./save.tp", "./temp"); var fi = new FileInfo("./temp/draving.json"); if (!fi.Exists) { return; } using (StreamReader sw = fi.OpenText()) { input = sw.ReadToEnd(); } if (Directory.Exists("./temp")) { Directory.Delete("./temp", true); } paintPixels = JsonConvert.DeserializeObject <List <PaintPixel> >(input); justLoaded = true; } break; case ConsoleKey.Escape: { this.Stop(); } break; } } }