module allegro5.mouse; import allegro5.display; import allegro5.events; import allegro5.bitmap; extern (C) { const int ALLEGRO_MOUSE_MAX_EXTRA_AXES = 4; struct ALLEGRO_MOUSE {}; struct ALLEGRO_MOUSE_STATE { int x; int y; int z; int w; int[ALLEGRO_MOUSE_MAX_EXTRA_AXES] more_axes; int buttons; float pressure; ALLEGRO_DISPLAY* display; } bool al_is_mouse_installed(); bool al_install_mouse(); void al_uninstall_mouse(); uint al_get_mouse_num_buttons(); uint al_get_mouse_num_axes(); bool al_set_mouse_xy (ALLEGRO_DISPLAY* display, int x, int y); bool al_set_mouse_z (int z); bool al_set_mouse_w (int w); bool al_set_mouse_axis (int axis, int value); void al_get_mouse_state (ALLEGRO_MOUSE_STATE* ret_state); bool al_mouse_button_down (in ALLEGRO_MOUSE_STATE* state, int button); int al_get_mouse_state_axis(in ALLEGRO_MOUSE_STATE* state, int axis); ALLEGRO_EVENT_SOURCE* al_get_mouse_event_source(); bool al_get_mouse_cursor_position(int* ret_x, int* ret_y); bool al_grab_mouse(ALLEGRO_DISPLAY* display); bool al_ungrab_mouse(); void al_set_mouse_wheel_precision(int precision); int al_get_mouse_wheel_precision(); }