💿🐜 Antkeeper source code https://antkeeper.com
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

117 lines
3.1 KiB

  1. /*
  2. * Copyright (C) 2021 Christopher J. Howard
  3. *
  4. * This file is part of Antkeeper source code.
  5. *
  6. * Antkeeper source code is free software: you can redistribute it and/or modify
  7. * it under the terms of the GNU General Public License as published by
  8. * the Free Software Foundation, either version 3 of the License, or
  9. * (at your option) any later version.
  10. *
  11. * Antkeeper source code is distributed in the hope that it will be useful,
  12. * but WITHOUT ANY WARRANTY; without even the implied warranty of
  13. * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
  14. * GNU General Public License for more details.
  15. *
  16. * You should have received a copy of the GNU General Public License
  17. * along with Antkeeper source code. If not, see <http://www.gnu.org/licenses/>.
  18. */
  19. #include "input-events.hpp"
  20. event_base* key_pressed_event::clone() const
  21. {
  22. key_pressed_event* event = new key_pressed_event();
  23. event->keyboard = keyboard;
  24. event->scancode = scancode;
  25. return event;
  26. }
  27. event_base* key_released_event::clone() const
  28. {
  29. key_released_event* event = new key_released_event();
  30. event->keyboard = keyboard;
  31. event->scancode = scancode;
  32. return event;
  33. }
  34. event_base* mouse_moved_event::clone() const
  35. {
  36. mouse_moved_event* event = new mouse_moved_event();
  37. event->mouse = mouse;
  38. event->x = x;
  39. event->y = y;
  40. event->dx = dx;
  41. event->dy = dy;
  42. return event;
  43. }
  44. event_base* mouse_button_pressed_event::clone() const
  45. {
  46. mouse_button_pressed_event* event = new mouse_button_pressed_event();
  47. event->mouse = mouse;
  48. event->button = button;
  49. event->x = x;
  50. event->y = y;
  51. return event;
  52. }
  53. event_base* mouse_button_released_event::clone() const
  54. {
  55. mouse_button_released_event* event = new mouse_button_released_event();
  56. event->mouse = mouse;
  57. event->button = button;
  58. event->x = x;
  59. event->y = y;
  60. return event;
  61. }
  62. event_base* mouse_wheel_scrolled_event::clone() const
  63. {
  64. mouse_wheel_scrolled_event* event = new mouse_wheel_scrolled_event();
  65. event->mouse = mouse;
  66. event->x = x;
  67. event->y = y;
  68. return event;
  69. }
  70. event_base* game_controller_connected_event::clone() const
  71. {
  72. game_controller_connected_event* event = new game_controller_connected_event();
  73. event->game_controller = game_controller;
  74. event->reconnected = reconnected;
  75. return event;
  76. }
  77. event_base* game_controller_disconnected_event::clone() const
  78. {
  79. game_controller_disconnected_event* event = new game_controller_disconnected_event();
  80. event->game_controller = game_controller;
  81. return event;
  82. }
  83. event_base* game_controller_button_pressed_event::clone() const
  84. {
  85. game_controller_button_pressed_event* event = new game_controller_button_pressed_event();
  86. event->game_controller = game_controller;
  87. event->button = button;
  88. return event;
  89. }
  90. event_base* game_controller_button_released_event::clone() const
  91. {
  92. game_controller_button_released_event* event = new game_controller_button_released_event();
  93. event->game_controller = game_controller;
  94. event->button = button;
  95. return event;
  96. }
  97. event_base* game_controller_axis_moved_event::clone() const
  98. {
  99. game_controller_axis_moved_event* event = new game_controller_axis_moved_event();
  100. event->game_controller = game_controller;
  101. event->axis = axis;
  102. event->value = value;
  103. return event;
  104. }