almouse.go 3.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889
  1. package al
  2. /*
  3. #include <stdlib.h>
  4. #include <allegro5/allegro.h>
  5. #include "helpers.h"
  6. */
  7. import "C"
  8. // import "unsafe"
  9. // import "runtime"
  10. /*
  11. typedef struct ALLEGRO_MOUSE ALLEGRO_MOUSE;
  12. typedef struct ALLEGRO_MOUSE_STATE ALLEGRO_MOUSE_STATE;
  13. struct ALLEGRO_MOUSE_STATE
  14. {
  15. int x;
  16. int y;
  17. int z;
  18. int w;
  19. int more_axes[ALLEGRO_MOUSE_MAX_EXTRA_AXES];
  20. int buttons;
  21. float pressure;
  22. struct ALLEGRO_DISPLAY *display;
  23. };
  24. typedef struct ALLEGRO_MOUSE_CURSOR ALLEGRO_MOUSE_CURSOR;
  25. typedef enum ALLEGRO_SYSTEM_MOUSE_CURSOR
  26. {
  27. ALLEGRO_SYSTEM_MOUSE_CURSOR_NONE = 0,
  28. ALLEGRO_SYSTEM_MOUSE_CURSOR_DEFAULT = 1,
  29. ALLEGRO_SYSTEM_MOUSE_CURSOR_ARROW = 2,
  30. ALLEGRO_SYSTEM_MOUSE_CURSOR_BUSY = 3,
  31. ALLEGRO_SYSTEM_MOUSE_CURSOR_QUESTION = 4,
  32. ALLEGRO_SYSTEM_MOUSE_CURSOR_EDIT = 5,
  33. ALLEGRO_SYSTEM_MOUSE_CURSOR_MOVE = 6,
  34. ALLEGRO_SYSTEM_MOUSE_CURSOR_RESIZE_N = 7,
  35. ALLEGRO_SYSTEM_MOUSE_CURSOR_RESIZE_W = 8,
  36. ALLEGRO_SYSTEM_MOUSE_CURSOR_RESIZE_S = 9,
  37. ALLEGRO_SYSTEM_MOUSE_CURSOR_RESIZE_E = 10,
  38. ALLEGRO_SYSTEM_MOUSE_CURSOR_RESIZE_NW = 11,
  39. ALLEGRO_SYSTEM_MOUSE_CURSOR_RESIZE_SW = 12,
  40. ALLEGRO_SYSTEM_MOUSE_CURSOR_RESIZE_SE = 13,
  41. ALLEGRO_SYSTEM_MOUSE_CURSOR_RESIZE_NE = 14,
  42. ALLEGRO_SYSTEM_MOUSE_CURSOR_PROGRESS = 15,
  43. ALLEGRO_SYSTEM_MOUSE_CURSOR_PRECISION = 16,
  44. ALLEGRO_SYSTEM_MOUSE_CURSOR_LINK = 17,
  45. ALLEGRO_SYSTEM_MOUSE_CURSOR_ALT_SELECT = 18,
  46. ALLEGRO_SYSTEM_MOUSE_CURSOR_UNAVAILABLE = 19,
  47. ALLEGRO_NUM_SYSTEM_MOUSE_CURSORS
  48. } ALLEGRO_SYSTEM_MOUSE_CURSOR;
  49. AL_FUNC(bool, al_is_mouse_installed, (void));
  50. AL_FUNC(bool, al_install_mouse, (void));
  51. AL_FUNC(void, al_uninstall_mouse, (void));
  52. AL_FUNC(unsigned int, al_get_mouse_num_buttons, (void));
  53. AL_FUNC(unsigned int, al_get_mouse_num_axes, (void));
  54. AL_FUNC(bool, al_set_mouse_xy, (struct ALLEGRO_DISPLAY *display, int x, int y));
  55. AL_FUNC(bool, al_set_mouse_z, (int z));
  56. AL_FUNC(bool, al_set_mouse_w, (int w));
  57. AL_FUNC(bool, al_set_mouse_axis, (int axis, int value));
  58. AL_FUNC(void, al_get_mouse_state, (ALLEGRO_MOUSE_STATE *ret_state));
  59. AL_FUNC(bool, al_mouse_button_down, (const ALLEGRO_MOUSE_STATE *state, int button));
  60. AL_FUNC(int, al_get_mouse_state_axis, (const ALLEGRO_MOUSE_STATE *state, int axis));
  61. AL_FUNC(ALLEGRO_EVENT_SOURCE *, al_get_mouse_event_source, (void));
  62. struct ALLEGRO_BITMAP;
  63. AL_FUNC(ALLEGRO_MOUSE_CURSOR *, al_create_mouse_cursor, (
  64. struct ALLEGRO_BITMAP *sprite, int xfocus, int yfocus));
  65. AL_FUNC(void, al_destroy_mouse_cursor, (ALLEGRO_MOUSE_CURSOR *));
  66. AL_FUNC(bool, al_set_mouse_cursor, (struct ALLEGRO_DISPLAY *display,
  67. ALLEGRO_MOUSE_CURSOR *cursor));
  68. AL_FUNC(bool, al_set_system_mouse_cursor, (struct ALLEGRO_DISPLAY *display,
  69. ALLEGRO_SYSTEM_MOUSE_CURSOR cursor_id));
  70. AL_FUNC(bool, al_show_mouse_cursor, (struct ALLEGRO_DISPLAY *display));
  71. AL_FUNC(bool, al_hide_mouse_cursor, (struct ALLEGRO_DISPLAY *display));
  72. AL_FUNC(bool, al_get_mouse_cursor_position, (int *ret_x, int *ret_y));
  73. AL_FUNC(bool, al_grab_mouse, (struct ALLEGRO_DISPLAY *display));
  74. AL_FUNC(bool, al_ungrab_mouse, (void));
  75. */