/* Obtain a reference to this driver. */ ALLEGRO_DISPLAY_INTERFACE *_al_display_wgl_driver(void) { if (vt.create_display) return &vt; vt.create_display = wgl_create_display; vt.destroy_display = wgl_destroy_display; vt.resize_display = wgl_resize_display; vt.set_current_display = wgl_set_current_display; vt.unset_current_display = wgl_unset_current_display; vt.flip_display = wgl_flip_display; vt.update_display_region = wgl_update_display_region; vt.acknowledge_resize = wgl_acknowledge_resize; vt.create_bitmap = _al_ogl_create_bitmap; vt.create_sub_bitmap = _al_ogl_create_sub_bitmap; vt.get_backbuffer = _al_ogl_get_backbuffer; vt.set_target_bitmap = _al_ogl_set_target_bitmap; vt.is_compatible_bitmap = wgl_is_compatible_bitmap; vt.switch_in = wgl_switch_in; vt.switch_out = wgl_switch_out; vt.set_mouse_cursor = _al_win_set_mouse_cursor; vt.set_system_mouse_cursor = _al_win_set_system_mouse_cursor; vt.show_mouse_cursor = _al_win_show_mouse_cursor; vt.hide_mouse_cursor = _al_win_hide_mouse_cursor; vt.set_icon = _al_win_set_display_icon; vt.set_window_position = wgl_set_window_position; vt.get_window_position = wgl_get_window_position; vt.set_display_flag = _al_win_set_display_flag; vt.set_window_title = _al_win_set_window_title; _al_ogl_add_drawing_functions(&vt); return &vt; }
/* Obtain a reference to this driver. */ ALLEGRO_DISPLAY_INTERFACE *_al_display_xglx_driver(void) { if (xdpy_vt.create_display) return &xdpy_vt; xdpy_vt.create_display = xdpy_create_display; xdpy_vt.destroy_display = xdpy_destroy_display; xdpy_vt.set_current_display = xdpy_set_current_display; xdpy_vt.unset_current_display = xdpy_unset_current_display; xdpy_vt.flip_display = xdpy_flip_display; xdpy_vt.update_display_region = xdpy_update_display_region; xdpy_vt.acknowledge_resize = xdpy_acknowledge_resize; xdpy_vt.create_bitmap = _al_ogl_create_bitmap; xdpy_vt.create_sub_bitmap = _al_ogl_create_sub_bitmap; xdpy_vt.get_backbuffer = _al_ogl_get_backbuffer; xdpy_vt.set_target_bitmap = _al_ogl_set_target_bitmap; xdpy_vt.is_compatible_bitmap = xdpy_is_compatible_bitmap; xdpy_vt.resize_display = xdpy_resize_display; xdpy_vt.set_icons = xdpy_set_icons; xdpy_vt.set_window_title = xdpy_set_window_title; xdpy_vt.set_window_position = xdpy_set_window_position; xdpy_vt.get_window_position = xdpy_get_window_position; xdpy_vt.set_display_flag = xdpy_set_display_flag; xdpy_vt.wait_for_vsync = xdpy_wait_for_vsync; _al_xwin_add_cursor_functions(&xdpy_vt); _al_ogl_add_drawing_functions(&xdpy_vt); return &xdpy_vt; }
ALLEGRO_DISPLAY_INTERFACE *_al_sdl_display_driver(void) { if (vt) return vt; vt = al_calloc(1, sizeof *vt); vt->id = AL_ID('S', 'D', 'L', '2'); vt->create_display = sdl_create_display; vt->destroy_display = sdl_destroy_display; vt->set_current_display = sdl_set_current_display; vt->unset_current_display = sdl_unset_current_display; //vt->clear = GL //vt->draw_pixel = GL vt->flip_display = sdl_flip_display; vt->update_display_region = sdl_update_display_region; vt->acknowledge_resize = sdl_acknowledge_resize; vt->resize_display = sdl_resize_display; /*vt->quick_size = sdl_quick_size; vt->get_orientation = sdl_get_orientation;*/ vt->create_bitmap = _al_ogl_create_bitmap; vt->set_target_bitmap = _al_ogl_set_target_bitmap; vt->get_backbuffer = _al_ogl_get_backbuffer; vt->is_compatible_bitmap = sdl_is_compatible_bitmap; /*vt->switch_out = sdl_switch_out; vt->switch_in = sdl_switch_in; vt->draw_memory_bitmap_region = sdl_draw_memory_bitmap_region; vt->wait_for_vsync = sdl_wait_for_vsync;*/ vt->set_mouse_cursor = sdl_set_mouse_cursor; vt->set_system_mouse_cursor = sdl_set_system_mouse_cursor; vt->show_mouse_cursor = sdl_show_mouse_cursor; vt->hide_mouse_cursor = sdl_hide_mouse_cursor; /*vt->set_icons = sdl_set_icons;*/ vt->set_window_position = sdl_set_window_position; vt->get_window_position = sdl_get_window_position; /*vt->set_window_constraints = sdl_set_window_constraints; vt->get_window_constraints = sdl_get_window_constraints; vt->set_display_flag = sdl_set_display_flag;*/ vt->set_window_title = sdl_set_window_title; //vt->flush_vertex_cache = GL //vt->prepare_vertex_cache = GL //vt->update_transformation = GL //vt->set_projection = GL /*vt->shutdown = sdl_shutdown; vt->acknowledge_drawing_halt = sdl_acknowledge_drawing_halt; vt->acknowledge_drawing_resume = sdl_acknowledge_drawing_resume; vt->set_display_option = sdl_set_display_option;*/ //vt->clear_depth_buffer = GL vt->update_render_state = _al_ogl_update_render_state; _al_ogl_add_drawing_functions(vt); return vt; }
/* Obtain a reference to this driver. */ ALLEGRO_DISPLAY_INTERFACE *_al_get_raspberrypi_display_interface(void) { if (vt) return vt; vt = al_calloc(1, sizeof *vt); vt->create_display = raspberrypi_create_display; vt->destroy_display = raspberrypi_destroy_display; vt->set_current_display = raspberrypi_set_current_display; vt->flip_display = raspberrypi_flip_display; vt->update_display_region = raspberrypi_update_display_region; vt->acknowledge_resize = raspberrypi_acknowledge_resize; vt->create_bitmap = _al_ogl_create_bitmap; vt->get_backbuffer = _al_ogl_get_backbuffer; vt->set_target_bitmap = _al_ogl_set_target_bitmap; vt->get_orientation = raspberrypi_get_orientation; vt->is_compatible_bitmap = raspberrypi_is_compatible_bitmap; vt->resize_display = raspberrypi_resize_display; vt->set_icons = raspberrypi_set_icons; vt->set_window_title = raspberrypi_set_window_title; vt->set_window_position = raspberrypi_set_window_position; vt->get_window_position = raspberrypi_get_window_position; vt->set_window_constraints = raspberrypi_set_window_constraints; vt->get_window_constraints = raspberrypi_get_window_constraints; vt->set_display_flag = raspberrypi_set_display_flag; vt->wait_for_vsync = raspberrypi_wait_for_vsync; vt->update_render_state = _al_ogl_update_render_state; _al_ogl_add_drawing_functions(vt); vt->set_mouse_cursor = raspberrypi_set_mouse_cursor; vt->set_system_mouse_cursor = raspberrypi_set_system_mouse_cursor; vt->show_mouse_cursor = raspberrypi_show_mouse_cursor; vt->hide_mouse_cursor = raspberrypi_hide_mouse_cursor; return vt; }
/* Obtain a reference to this driver. */ ALLEGRO_DISPLAY_INTERFACE *_al_get_iphone_display_interface(void) { if (vt) return vt; vt = al_calloc(1, sizeof *vt); vt->create_display = iphone_create_display; vt->destroy_display = iphone_destroy_display; vt->set_current_display = iphone_set_current_display; vt->flip_display = iphone_flip_display; vt->update_display_region = iphone_update_display_region; vt->acknowledge_resize = iphone_acknowledge_resize; vt->create_bitmap = _al_ogl_create_bitmap; vt->create_sub_bitmap = _al_ogl_create_sub_bitmap; vt->get_backbuffer = _al_ogl_get_backbuffer; vt->set_target_bitmap = _al_ogl_set_target_bitmap; vt->is_compatible_bitmap = iphone_is_compatible_bitmap; vt->resize_display = iphone_resize_display; vt->set_icons = iphone_set_icons; vt->set_window_title = iphone_set_window_title; vt->set_window_position = iphone_set_window_position; vt->get_window_position = iphone_get_window_position; vt->set_display_flag = iphone_set_display_flag; vt->wait_for_vsync = iphone_wait_for_vsync; vt->set_mouse_cursor = iphone_set_mouse_cursor; vt->set_system_mouse_cursor = iphone_set_system_mouse_cursor; vt->show_mouse_cursor = iphone_show_mouse_cursor; vt->hide_mouse_cursor = iphone_hide_mouse_cursor; _al_ogl_add_drawing_functions(vt); return vt; }