1 /* 2 3 Boost Software License - Version 1.0 - August 17th, 2003 4 5 Permission is hereby granted, free of charge, to any person or organization 6 obtaining a copy of the software and accompanying documentation covered by 7 this license (the "Software") to use, reproduce, display, distribute, 8 execute, and transmit the Software, and to prepare derivative works of the 9 Software, and to permit third-parties to whom the Software is furnished to 10 do so, all subject to the following: 11 12 The copyright notices in the Software and this entire statement, including 13 the above license grant, this restriction and the following disclaimer, 14 must be included in all copies of the Software, in whole or in part, and 15 all derivative works of the Software, unless such copies or derivative 16 works are solely in the form of machine-executable object code generated by 17 a source language processor. 18 19 THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 20 IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 21 FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVENT 22 SHALL THE COPYRIGHT HOLDERS OR ANYONE DISTRIBUTING THE SOFTWARE BE LIABLE 23 FOR ANY DAMAGES OR OTHER LIABILITY, WHETHER IN CONTRACT, TORT OR OTHERWISE, 24 ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER 25 DEALINGS IN THE SOFTWARE. 26 27 */ 28 module derelict.allegro5.allegro; 29 30 public { 31 import derelict.allegro5.functions, 32 derelict.allegro5.types; 33 } 34 35 private { 36 import derelict.util.loader, 37 derelict.util.system; 38 39 import derelict.allegro5.internal; 40 41 enum libNames = genLibNames("Allegro"); 42 } 43 44 class DerelictAllegro5Loader : SharedLibLoader { 45 public { 46 this() { 47 super(libNames); 48 } 49 50 // Derived from SiegeLord's implementation of al_run_allegro in DAllegro5. 51 int run(int function() userMain) { 52 extern(C) static int runner(int argc, char** argv) { 53 import core.thread; 54 static if(Derelict_OS_Mac) { 55 thread_attachThis(); 56 } 57 58 auto ret = (*cast(int function()*) argv[ 0 ])(); 59 60 static if(Derelict_OS_Mac) { 61 thread_detachThis(); 62 } 63 64 return ret; 65 } 66 67 import derelict.util.exception; 68 if(!isLoaded) { 69 throw new DerelictException("DerelictAllegro5.load must be called before the run method."); 70 } 71 auto fakeArg = cast(char*)&userMain; 72 return al_run_main(0, &fakeArg, &runner); 73 } 74 } 75 76 protected override void loadSymbols() { 77 bindFunc(cast(void**)&al_get_time, "al_get_time"); 78 bindFunc(cast(void**)&al_rest, "al_rest"); 79 bindFunc(cast(void**)&al_init_timeout, "al_init_timeout"); 80 bindFunc(cast(void**)&al_get_allegro_version, "al_get_allegro_version"); 81 bindFunc(cast(void**)&al_run_main, "al_run_main"); 82 bindFunc(cast(void**)&al_set_new_bitmap_format, "al_set_new_bitmap_format"); 83 bindFunc(cast(void**)&al_set_new_bitmap_flags, "al_set_new_bitmap_flags"); 84 bindFunc(cast(void**)&al_get_new_bitmap_format, "al_get_new_bitmap_format"); 85 bindFunc(cast(void**)&al_get_new_bitmap_flags, "al_get_new_bitmap_flags"); 86 bindFunc(cast(void**)&al_add_new_bitmap_flag, "al_add_new_bitmap_flag"); 87 bindFunc(cast(void**)&al_get_bitmap_width, "al_get_bitmap_width"); 88 bindFunc(cast(void**)&al_get_bitmap_height, "al_get_bitmap_height"); 89 bindFunc(cast(void**)&al_get_bitmap_format, "al_get_bitmap_format"); 90 bindFunc(cast(void**)&al_get_bitmap_flags, "al_get_bitmap_flags"); 91 bindFunc(cast(void**)&al_create_bitmap, "al_create_bitmap"); 92 bindFunc(cast(void**)&al_destroy_bitmap, "al_destroy_bitmap"); 93 bindFunc(cast(void**)&al_put_pixel, "al_put_pixel"); 94 bindFunc(cast(void**)&al_put_blended_pixel, "al_put_blended_pixel"); 95 bindFunc(cast(void**)&al_get_pixel, "al_get_pixel"); 96 bindFunc(cast(void**)&al_convert_mask_to_alpha, "al_convert_mask_to_alpha"); 97 bindFunc(cast(void**)&al_set_clipping_rectangle, "al_set_clipping_rectangle"); 98 bindFunc(cast(void**)&al_reset_clipping_rectangle, "al_reset_clipping_rectangle"); 99 bindFunc(cast(void**)&al_get_clipping_rectangle, "al_get_clipping_rectangle"); 100 bindFunc(cast(void**)&al_create_sub_bitmap, "al_create_sub_bitmap"); 101 bindFunc(cast(void**)&al_is_sub_bitmap, "al_is_sub_bitmap"); 102 bindFunc(cast(void**)&al_get_parent_bitmap, "al_get_parent_bitmap"); 103 bindFunc(cast(void**)&al_get_bitmap_x, "al_get_bitmap_x"); 104 bindFunc(cast(void**)&al_get_bitmap_y, "al_get_bitmap_y"); 105 bindFunc(cast(void**)&al_reparent_bitmap, "al_reparent_bitmap"); 106 bindFunc(cast(void**)&al_clone_bitmap, "al_clone_bitmap"); 107 bindFunc(cast(void**)&al_convert_bitmap, "al_convert_bitmap"); 108 bindFunc(cast(void**)&al_convert_memory_bitmaps, "al_convert_memory_bitmaps"); 109 bindFunc(cast(void**)&al_draw_bitmap, "al_draw_bitmap"); 110 bindFunc(cast(void**)&al_draw_bitmap_region, "al_draw_bitmap_region"); 111 bindFunc(cast(void**)&al_draw_scaled_bitmap, "al_draw_scaled_bitmap"); 112 bindFunc(cast(void**)&al_draw_rotated_bitmap, "al_draw_rotated_bitmap"); 113 bindFunc(cast(void**)&al_draw_scaled_rotated_bitmap, "al_draw_scaled_rotated_bitmap"); 114 bindFunc(cast(void**)&al_draw_tinted_bitmap, "al_draw_tinted_bitmap"); 115 bindFunc(cast(void**)&al_draw_tinted_bitmap_region, "al_draw_tinted_bitmap_region"); 116 bindFunc(cast(void**)&al_draw_tinted_scaled_bitmap, "al_draw_tinted_scaled_bitmap"); 117 bindFunc(cast(void**)&al_draw_tinted_rotated_bitmap, "al_draw_tinted_rotated_bitmap"); 118 bindFunc(cast(void**)&al_draw_tinted_scaled_rotated_bitmap, "al_draw_tinted_scaled_rotated_bitmap"); 119 bindFunc(cast(void**)&al_draw_tinted_scaled_rotated_bitmap_region, "al_draw_tinted_scaled_rotated_bitmap_region"); 120 bindFunc(cast(void**)&al_register_bitmap_loader, "al_register_bitmap_loader"); 121 bindFunc(cast(void**)&al_register_bitmap_saver, "al_register_bitmap_saver"); 122 bindFunc(cast(void**)&al_register_bitmap_loader_f, "al_register_bitmap_loader_f"); 123 bindFunc(cast(void**)&al_register_bitmap_saver_f, "al_register_bitmap_saver_f"); 124 bindFunc(cast(void**)&al_register_bitmap_identifier, "al_register_bitmap_identifier"); 125 bindFunc(cast(void**)&al_load_bitmap, "al_load_bitmap"); 126 bindFunc(cast(void**)&al_load_bitmap_flags, "al_load_bitmap_flags"); 127 bindFunc(cast(void**)&al_load_bitmap_f, "al_load_bitmap_f"); 128 bindFunc(cast(void**)&al_load_bitmap_flags_f, "al_load_bitmap_flags_f"); 129 bindFunc(cast(void**)&al_save_bitmap, "al_save_bitmap"); 130 bindFunc(cast(void**)&al_save_bitmap_f, "al_save_bitmap_f"); 131 bindFunc(cast(void**)&al_identify_bitmap_f, "al_identify_bitmap_f"); 132 bindFunc(cast(void**)&al_identify_bitmap, "al_identify_bitmap"); 133 bindFunc(cast(void**)&al_lock_bitmap, "al_lock_bitmap"); 134 bindFunc(cast(void**)&al_lock_bitmap_region, "al_lock_bitmap_region"); 135 bindFunc(cast(void**)&al_lock_bitmap_blocked, "al_lock_bitmap_blocked"); 136 bindFunc(cast(void**)&al_lock_bitmap_region_blocked, "al_lock_bitmap_region_blocked"); 137 bindFunc(cast(void**)&al_unlock_bitmap, "al_unlock_bitmap"); 138 bindFunc(cast(void**)&al_is_bitmap_locked, "al_is_bitmap_locked"); 139 bindFunc(cast(void**)&al_set_blender, "al_set_blender"); 140 bindFunc(cast(void**)&al_set_blend_color, "al_set_blend_color"); 141 bindFunc(cast(void**)&al_get_blender, "al_get_blender"); 142 bindFunc(cast(void**)&al_get_blend_color, "al_get_blend_color"); 143 bindFunc(cast(void**)&al_set_separate_blender, "al_set_separate_blender"); 144 bindFunc(cast(void**)&al_get_separate_blender, "al_get_separate_blender"); 145 bindFunc(cast(void**)&al_clipboard_has_text, "al_clipboard_has_text"); 146 bindFunc(cast(void**)&al_set_clipboard_text, "al_set_clipboard_text"); 147 bindFunc(cast(void**)&al_clipboard_has_text, "al_clipboard_has_text"); 148 bindFunc(cast(void**)&al_map_rgb, "al_map_rgb"); 149 bindFunc(cast(void**)&al_map_rgba, "al_map_rgba"); 150 bindFunc(cast(void**)&al_map_rgb_f, "al_map_rgb_f"); 151 bindFunc(cast(void**)&al_map_rgba_f, "al_map_rgba_f"); 152 bindFunc(cast(void**)&al_premul_rgba, "al_premul_rgba"); 153 bindFunc(cast(void**)&al_premul_rgba_f, "al_premul_rgba_f"); 154 bindFunc(cast(void**)&al_unmap_rgb, "al_unmap_rgb"); 155 bindFunc(cast(void**)&al_unmap_rgba, "al_unmap_rgba"); 156 bindFunc(cast(void**)&al_unmap_rgb_f, "al_unmap_rgb_f"); 157 bindFunc(cast(void**)&al_unmap_rgba_f, "al_unmap_rgba_f"); 158 bindFunc(cast(void**)&al_get_pixel_size, "al_get_pixel_size"); 159 bindFunc(cast(void**)&al_get_pixel_format_bits, "al_get_pixel_format_bits"); 160 bindFunc(cast(void**)&al_get_pixel_block_size, "al_get_pixel_block_size"); 161 bindFunc(cast(void**)&al_get_pixel_block_width, "al_get_pixel_block_width"); 162 bindFunc(cast(void**)&al_get_pixel_block_height, "al_get_pixel_block_height"); 163 bindFunc(cast(void**)&al_create_config, "al_create_config"); 164 bindFunc(cast(void**)&al_add_config_section, "al_add_config_section"); 165 bindFunc(cast(void**)&al_set_config_value, "al_set_config_value"); 166 bindFunc(cast(void**)&al_add_config_comment, "al_add_config_comment"); 167 bindFunc(cast(void**)&al_get_config_value, "al_get_config_value"); 168 bindFunc(cast(void**)&al_load_config_file, "al_load_config_file"); 169 bindFunc(cast(void**)&al_load_config_file_f, "al_load_config_file_f"); 170 bindFunc(cast(void**)&al_save_config_file, "al_save_config_file"); 171 bindFunc(cast(void**)&al_save_config_file_f, "al_save_config_file_f"); 172 bindFunc(cast(void**)&al_merge_config_into, "al_merge_config_into"); 173 bindFunc(cast(void**)&al_merge_config, "al_merge_config"); 174 bindFunc(cast(void**)&al_destroy_config, "al_destroy_config"); 175 bindFunc(cast(void**)&al_remove_config_section, "al_remove_config_section"); 176 bindFunc(cast(void**)&al_remove_config_key, "al_remove_config_key"); 177 bindFunc(cast(void**)&al_get_first_config_section, "al_get_first_config_section"); 178 bindFunc(cast(void**)&al_get_next_config_section, "al_get_next_config_section"); 179 bindFunc(cast(void**)&al_get_first_config_entry, "al_get_first_config_entry"); 180 bindFunc(cast(void**)&al_get_next_config_entry, "al_get_next_config_entry"); 181 bindFunc(cast(void**)&al_get_cpu_count, "al_get_cpu_count"); 182 bindFunc(cast(void**)&al_get_ram_size, "al_get_ram_size"); 183 bindFunc(cast(void**)&al_set_new_display_refresh_rate, "al_set_new_display_refresh_rate"); 184 bindFunc(cast(void**)&al_set_new_display_flags, "al_set_new_display_flags"); 185 bindFunc(cast(void**)&al_get_new_display_refresh_rate, "al_get_new_display_refresh_rate"); 186 bindFunc(cast(void**)&al_get_new_display_flags, "al_get_new_display_flags"); 187 bindFunc(cast(void**)&al_get_display_width, "al_get_display_width"); 188 bindFunc(cast(void**)&al_get_display_height, "al_get_display_height"); 189 bindFunc(cast(void**)&al_get_display_format, "al_get_display_format"); 190 bindFunc(cast(void**)&al_get_display_refresh_rate, "al_get_display_refresh_rate"); 191 bindFunc(cast(void**)&al_get_display_flags, "al_get_display_flags"); 192 bindFunc(cast(void**)&al_get_display_orientation, "al_get_display_orientation"); 193 bindFunc(cast(void**)&al_set_display_flag, "al_set_display_flag"); 194 bindFunc(cast(void**)&al_create_display, "al_create_display"); 195 bindFunc(cast(void**)&al_destroy_display, "al_destroy_display"); 196 bindFunc(cast(void**)&al_get_current_display, "al_get_current_display"); 197 bindFunc(cast(void**)&al_set_target_bitmap, "al_set_target_bitmap"); 198 bindFunc(cast(void**)&al_set_target_backbuffer, "al_set_target_backbuffer"); 199 bindFunc(cast(void**)&al_get_backbuffer, "al_get_backbuffer"); 200 bindFunc(cast(void**)&al_get_target_bitmap, "al_get_target_bitmap"); 201 bindFunc(cast(void**)&al_acknowledge_resize, "al_acknowledge_resize"); 202 bindFunc(cast(void**)&al_resize_display, "al_resize_display"); 203 bindFunc(cast(void**)&al_flip_display, "al_flip_display"); 204 bindFunc(cast(void**)&al_update_display_region, "al_update_display_region"); 205 bindFunc(cast(void**)&al_is_compatible_bitmap, "al_is_compatible_bitmap"); 206 bindFunc(cast(void**)&al_wait_for_vsync, "al_wait_for_vsync"); 207 bindFunc(cast(void**)&al_get_display_event_source, "al_get_display_event_source"); 208 bindFunc(cast(void**)&al_set_display_icon, "al_set_display_icon"); 209 bindFunc(cast(void**)&al_set_display_icons, "al_set_display_icons"); 210 bindFunc(cast(void**)&al_get_new_display_adapter, "al_get_new_display_adapter"); 211 bindFunc(cast(void**)&al_set_new_display_adapter, "al_set_new_display_adapter"); 212 bindFunc(cast(void**)&al_set_new_window_position, "al_set_new_window_position"); 213 bindFunc(cast(void**)&al_get_new_window_position, "al_get_new_window_position"); 214 bindFunc(cast(void**)&al_set_window_position, "al_set_window_position"); 215 bindFunc(cast(void**)&al_get_window_position, "al_get_window_position"); 216 bindFunc(cast(void**)&al_set_window_constraints, "al_set_window_constraints"); 217 bindFunc(cast(void**)&al_get_window_constraints, "al_get_window_constraints"); 218 bindFunc(cast(void**)&al_set_window_title, "al_set_window_title"); 219 bindFunc(cast(void**)&al_set_new_display_option, "al_set_new_display_option"); 220 bindFunc(cast(void**)&al_get_new_display_option, "al_get_new_display_option"); 221 bindFunc(cast(void**)&al_reset_new_display_options, "al_reset_new_display_options"); 222 bindFunc(cast(void**)&al_set_display_option, "al_set_display_option"); 223 bindFunc(cast(void**)&al_get_display_option, "al_get_display_option"); 224 bindFunc(cast(void**)&al_hold_bitmap_drawing, "al_hold_bitmap_drawing"); 225 bindFunc(cast(void**)&al_is_bitmap_drawing_held, "al_is_bitmap_drawing_held"); 226 bindFunc(cast(void**)&al_acknowledge_drawing_halt, "al_acknowledge_drawing_halt"); 227 bindFunc(cast(void**)&al_acknowledge_drawing_resume, "al_acknowledge_drawing_resume"); 228 bindFunc(cast(void**)&al_clear_to_color, "al_clear_to_color"); 229 bindFunc(cast(void**)&al_clear_depth_buffer, "al_clear_depth_buffer"); 230 bindFunc(cast(void**)&al_draw_pixel, "al_draw_pixel"); 231 bindFunc(cast(void**)&al_get_errno, "al_get_errno"); 232 bindFunc(cast(void**)&al_set_errno, "al_set_errno"); 233 bindFunc(cast(void**)&al_init_user_event_source, "al_init_user_event_source"); 234 bindFunc(cast(void**)&al_destroy_user_event_source, "al_destroy_user_event_source"); 235 bindFunc(cast(void**)&al_emit_user_event, "al_emit_user_event"); 236 bindFunc(cast(void**)&al_unref_user_event, "al_unref_user_event"); 237 bindFunc(cast(void**)&al_set_event_source_data, "al_set_event_source_data"); 238 bindFunc(cast(void**)&al_get_event_source_data, "al_get_event_source_data"); 239 bindFunc(cast(void**)&al_create_event_queue, "al_create_event_queue"); 240 bindFunc(cast(void**)&al_destroy_event_queue, "al_destroy_event_queue"); 241 bindFunc(cast(void**)&al_is_event_source_registered, "al_is_event_source_registered"); 242 bindFunc(cast(void**)&al_register_event_source, "al_register_event_source"); 243 bindFunc(cast(void**)&al_unregister_event_source, "al_unregister_event_source"); 244 bindFunc(cast(void**)&al_pause_event_queue, "al_pause_event_queue"); 245 bindFunc(cast(void**)&al_is_event_queue_empty, "al_is_event_queue_empty"); 246 bindFunc(cast(void**)&al_get_next_event, "al_get_next_event"); 247 bindFunc(cast(void**)&al_peek_next_event, "al_peek_next_event"); 248 bindFunc(cast(void**)&al_drop_next_event, "al_drop_next_event"); 249 bindFunc(cast(void**)&al_flush_event_queue, "al_flush_event_queue"); 250 bindFunc(cast(void**)&al_wait_for_event, "al_wait_for_event"); 251 bindFunc(cast(void**)&al_wait_for_event_timed, "al_wait_for_event_timed"); 252 bindFunc(cast(void**)&al_wait_for_event_until, "al_wait_for_event_until"); 253 bindFunc(cast(void**)&al_fopen, "al_fopen"); 254 bindFunc(cast(void**)&al_fopen_interface, "al_fopen_interface"); 255 bindFunc(cast(void**)&al_create_file_handle, "al_create_file_handle"); 256 bindFunc(cast(void**)&al_fclose, "al_fclose"); 257 bindFunc(cast(void**)&al_fread, "al_fread"); 258 bindFunc(cast(void**)&al_fwrite, "al_fwrite"); 259 bindFunc(cast(void**)&al_fflush, "al_fflush"); 260 bindFunc(cast(void**)&al_ftell, "al_ftell"); 261 bindFunc(cast(void**)&al_fseek, "al_fseek"); 262 bindFunc(cast(void**)&al_feof, "al_feof"); 263 bindFunc(cast(void**)&al_ferror, "al_ferror"); 264 bindFunc(cast(void**)&al_ferrmsg, "al_ferrmsg"); 265 bindFunc(cast(void**)&al_fclearerr, "al_fclearerr"); 266 bindFunc(cast(void**)&al_fungetc, "al_fungetc"); 267 bindFunc(cast(void**)&al_fsize, "al_fsize"); 268 bindFunc(cast(void**)&al_fgetc, "al_fgetc"); 269 bindFunc(cast(void**)&al_fputc, "al_fputc"); 270 bindFunc(cast(void**)&al_fread16le, "al_fread16le"); 271 bindFunc(cast(void**)&al_fread16be, "al_fread16be"); 272 bindFunc(cast(void**)&al_fwrite16le, "al_fwrite16le"); 273 bindFunc(cast(void**)&al_fwrite16be, "al_fwrite16be"); 274 bindFunc(cast(void**)&al_fread32le, "al_fread32le"); 275 bindFunc(cast(void**)&al_fread32be, "al_fread32be"); 276 bindFunc(cast(void**)&al_fwrite32le, "al_fwrite32le"); 277 bindFunc(cast(void**)&al_fwrite32be, "al_fwrite32be"); 278 bindFunc(cast(void**)&al_fgets, "al_fgets"); 279 bindFunc(cast(void**)&al_fget_ustr, "al_fget_ustr"); 280 bindFunc(cast(void**)&al_fputs, "al_fputs"); 281 bindFunc(cast(void**)&al_fprintf, "al_fprintf"); 282 bindFunc(cast(void**)&al_vfprintf, "al_vfprintf"); 283 bindFunc(cast(void**)&al_fopen_fd, "al_fopen_fd"); 284 bindFunc(cast(void**)&al_make_temp_file, "al_make_temp_file"); 285 bindFunc(cast(void**)&al_fopen_slice, "al_fopen_slice"); 286 bindFunc(cast(void**)&al_get_new_file_interface, "al_get_new_file_interface"); 287 bindFunc(cast(void**)&al_set_new_file_interface, "al_set_new_file_interface"); 288 bindFunc(cast(void**)&al_set_standard_file_interface, "al_set_standard_file_interface"); 289 bindFunc(cast(void**)&al_get_file_userdata, "al_get_file_userdata"); 290 bindFunc(cast(void**)&al_create_fs_entry, "al_create_fs_entry"); 291 bindFunc(cast(void**)&al_destroy_fs_entry, "al_destroy_fs_entry"); 292 bindFunc(cast(void**)&al_get_fs_entry_name, "al_get_fs_entry_name"); 293 bindFunc(cast(void**)&al_update_fs_entry, "al_update_fs_entry"); 294 bindFunc(cast(void**)&al_get_fs_entry_mode, "al_get_fs_entry_mode"); 295 bindFunc(cast(void**)&al_get_fs_entry_atime, "al_get_fs_entry_atime"); 296 bindFunc(cast(void**)&al_get_fs_entry_mtime, "al_get_fs_entry_mtime"); 297 bindFunc(cast(void**)&al_get_fs_entry_ctime, "al_get_fs_entry_ctime"); 298 bindFunc(cast(void**)&al_get_fs_entry_size, "al_get_fs_entry_size"); 299 bindFunc(cast(void**)&al_fs_entry_exists, "al_fs_entry_exists"); 300 bindFunc(cast(void**)&al_remove_fs_entry, "al_remove_fs_entry"); 301 bindFunc(cast(void**)&al_open_directory, "al_open_directory"); 302 bindFunc(cast(void**)&al_read_directory, "al_read_directory"); 303 bindFunc(cast(void**)&al_close_directory, "al_close_directory"); 304 bindFunc(cast(void**)&al_filename_exists, "al_filename_exists"); 305 bindFunc(cast(void**)&al_remove_filename, "al_remove_filename"); 306 bindFunc(cast(void**)&al_get_current_directory, "al_get_current_directory"); 307 bindFunc(cast(void**)&al_change_directory, "al_change_directory"); 308 bindFunc(cast(void**)&al_make_directory, "al_make_directory"); 309 bindFunc(cast(void**)&al_open_fs_entry, "al_open_fs_entry"); 310 bindFunc(cast(void**)&al_for_each_fs_entry, "al_for_each_fs_entry"); 311 bindFunc(cast(void**)&al_get_fs_interface, "al_get_fs_interface"); 312 bindFunc(cast(void**)&al_set_fs_interface, "al_set_fs_interface"); 313 bindFunc(cast(void**)&al_set_standard_fs_interface, "al_set_standard_fs_interface"); 314 bindFunc(cast(void**)&al_get_num_display_modes, "al_get_num_display_modes"); 315 bindFunc(cast(void**)&al_get_display_mode, "al_get_display_mode"); 316 bindFunc(cast(void**)&al_install_joystick, "al_install_joystick"); 317 bindFunc(cast(void**)&al_uninstall_joystick, "al_uninstall_joystick"); 318 bindFunc(cast(void**)&al_is_joystick_installed, "al_is_joystick_installed"); 319 bindFunc(cast(void**)&al_reconfigure_joysticks, "al_reconfigure_joysticks"); 320 bindFunc(cast(void**)&al_get_num_joysticks, "al_get_num_joysticks"); 321 bindFunc(cast(void**)&al_get_joystick, "al_get_joystick"); 322 bindFunc(cast(void**)&al_release_joystick, "al_release_joystick"); 323 bindFunc(cast(void**)&al_get_joystick_active, "al_get_joystick_active"); 324 bindFunc(cast(void**)&al_get_joystick_name, "al_get_joystick_name"); 325 bindFunc(cast(void**)&al_get_joystick_num_sticks, "al_get_joystick_num_sticks"); 326 bindFunc(cast(void**)&al_get_joystick_stick_flags, "al_get_joystick_stick_flags"); 327 bindFunc(cast(void**)&al_get_joystick_stick_name, "al_get_joystick_stick_name"); 328 bindFunc(cast(void**)&al_get_joystick_num_axes, "al_get_joystick_num_axes"); 329 bindFunc(cast(void**)&al_get_joystick_axis_name, "al_get_joystick_axis_name"); 330 bindFunc(cast(void**)&al_get_joystick_num_buttons, "al_get_joystick_num_buttons"); 331 bindFunc(cast(void**)&al_get_joystick_button_name, "al_get_joystick_button_name"); 332 bindFunc(cast(void**)&al_get_joystick_state, "al_get_joystick_state"); 333 bindFunc(cast(void**)&al_get_joystick_event_source, "al_get_joystick_event_source"); 334 bindFunc(cast(void**)&al_is_keyboard_installed, "al_is_keyboard_installed"); 335 bindFunc(cast(void**)&al_install_keyboard, "al_install_keyboard"); 336 bindFunc(cast(void**)&al_uninstall_keyboard, "al_uninstall_keyboard"); 337 bindFunc(cast(void**)&al_set_keyboard_leds, "al_set_keyboard_leds"); 338 bindFunc(cast(void**)&al_keycode_to_name, "al_keycode_to_name"); 339 bindFunc(cast(void**)&al_get_keyboard_state, "al_get_keyboard_state"); 340 bindFunc(cast(void**)&al_key_down, "al_key_down"); 341 bindFunc(cast(void**)&al_get_keyboard_event_source, "al_get_keyboard_event_source"); 342 bindFunc(cast(void**)&al_malloc_with_context, "al_malloc_with_context"); 343 bindFunc(cast(void**)&al_free_with_context, "al_free_with_context"); 344 bindFunc(cast(void**)&al_realloc_with_context, "al_realloc_with_context"); 345 bindFunc(cast(void**)&al_calloc_with_context, "al_calloc_with_context"); 346 bindFunc(cast(void**)&al_get_num_video_adapters, "al_get_num_video_adapters"); 347 bindFunc(cast(void**)&al_get_monitor_info, "al_get_monitor_info"); 348 bindFunc(cast(void**)&al_is_mouse_installed, "al_is_mouse_installed"); 349 bindFunc(cast(void**)&al_install_mouse, "al_install_mouse"); 350 bindFunc(cast(void**)&al_uninstall_mouse, "al_uninstall_mouse"); 351 bindFunc(cast(void**)&al_get_mouse_num_buttons, "al_get_mouse_num_buttons"); 352 bindFunc(cast(void**)&al_get_mouse_num_axes, "al_get_mouse_num_axes"); 353 bindFunc(cast(void**)&al_set_mouse_xy, "al_set_mouse_xy"); 354 bindFunc(cast(void**)&al_set_mouse_z, "al_set_mouse_z"); 355 bindFunc(cast(void**)&al_set_mouse_w, "al_set_mouse_w"); 356 bindFunc(cast(void**)&al_set_mouse_axis, "al_set_mouse_axis"); 357 bindFunc(cast(void**)&al_get_mouse_state, "al_get_mouse_state"); 358 bindFunc(cast(void**)&al_mouse_button_down, "al_mouse_button_down"); 359 bindFunc(cast(void**)&al_get_mouse_state_axis, "al_get_mouse_state_axis"); 360 bindFunc(cast(void**)&al_get_mouse_cursor_position, "al_get_mouse_cursor_position"); 361 bindFunc(cast(void**)&al_grab_mouse, "al_grab_mouse"); 362 bindFunc(cast(void**)&al_ungrab_mouse, "al_ungrab_mouse"); 363 bindFunc(cast(void**)&al_set_mouse_wheel_precision, "al_set_mouse_wheel_precision"); 364 bindFunc(cast(void**)&al_get_mouse_wheel_precision, "al_get_mouse_wheel_precision"); 365 bindFunc(cast(void**)&al_get_mouse_event_source, "al_get_mouse_event_source"); 366 bindFunc(cast(void**)&al_create_mouse_cursor, "al_create_mouse_cursor"); 367 bindFunc(cast(void**)&al_destroy_mouse_cursor, "al_destroy_mouse_cursor"); 368 bindFunc(cast(void**)&al_set_mouse_cursor, "al_set_mouse_cursor"); 369 bindFunc(cast(void**)&al_set_system_mouse_cursor, "al_set_system_mouse_cursor"); 370 bindFunc(cast(void**)&al_show_mouse_cursor, "al_show_mouse_cursor"); 371 bindFunc(cast(void**)&al_hide_mouse_cursor, "al_hide_mouse_cursor"); 372 bindFunc(cast(void**)&al_create_path, "al_create_path"); 373 bindFunc(cast(void**)&al_create_path_for_directory, "al_create_path_for_directory"); 374 bindFunc(cast(void**)&al_clone_path, "al_clone_path"); 375 bindFunc(cast(void**)&al_get_path_num_components, "al_get_path_num_components"); 376 bindFunc(cast(void**)&al_get_path_component, "al_get_path_component"); 377 bindFunc(cast(void**)&al_replace_path_component, "al_replace_path_component"); 378 bindFunc(cast(void**)&al_remove_path_component, "al_remove_path_component"); 379 bindFunc(cast(void**)&al_insert_path_component, "al_insert_path_component"); 380 bindFunc(cast(void**)&al_get_path_tail, "al_get_path_tail"); 381 bindFunc(cast(void**)&al_drop_path_tail, "al_drop_path_tail"); 382 bindFunc(cast(void**)&al_append_path_component, "al_append_path_component"); 383 bindFunc(cast(void**)&al_join_paths, "al_join_paths"); 384 bindFunc(cast(void**)&al_rebase_path, "al_rebase_path"); 385 bindFunc(cast(void**)&al_path_cstr, "al_path_cstr"); 386 bindFunc(cast(void**)&al_destroy_path, "al_destroy_path"); 387 bindFunc(cast(void**)&al_set_path_drive, "al_set_path_drive"); 388 bindFunc(cast(void**)&al_get_path_drive, "al_get_path_drive"); 389 bindFunc(cast(void**)&al_set_path_filename, "al_set_path_filename"); 390 bindFunc(cast(void**)&al_get_path_filename, "al_get_path_filename"); 391 bindFunc(cast(void**)&al_get_path_extension, "al_get_path_extension"); 392 bindFunc(cast(void**)&al_set_path_extension, "al_set_path_extension"); 393 bindFunc(cast(void**)&al_get_path_basename, "al_get_path_basename"); 394 bindFunc(cast(void**)&al_make_path_canonical, "al_make_path_canonical"); 395 bindFunc(cast(void**)&al_set_render_state, "al_set_render_state"); 396 bindFunc(cast(void**)&al_create_shader, "al_create_shader"); 397 bindFunc(cast(void**)&al_attach_shader_source, "al_attach_shader_source"); 398 bindFunc(cast(void**)&al_attach_shader_source_file, "al_attach_shader_source_file"); 399 bindFunc(cast(void**)&al_build_shader, "al_build_shader"); 400 bindFunc(cast(void**)&al_get_shader_log, "al_get_shader_log"); 401 bindFunc(cast(void**)&al_get_shader_platform, "al_get_shader_platform"); 402 bindFunc(cast(void**)&al_use_shader, "al_use_shader"); 403 bindFunc(cast(void**)&al_destroy_shader, "al_destroy_shader"); 404 bindFunc(cast(void**)&al_set_shader_sampler, "al_set_shader_sampler"); 405 bindFunc(cast(void**)&al_set_shader_matrix, "al_set_shader_matrix"); 406 bindFunc(cast(void**)&al_set_shader_int, "al_set_shader_int"); 407 bindFunc(cast(void**)&al_set_shader_float, "al_set_shader_float"); 408 bindFunc(cast(void**)&al_set_shader_int_vector, "al_set_shader_int_vector"); 409 bindFunc(cast(void**)&al_set_shader_float_vector, "al_set_shader_float_vector"); 410 bindFunc(cast(void**)&al_set_shader_bool, "al_set_shader_bool"); 411 bindFunc(cast(void**)&al_get_default_shader_source, "al_get_default_shader_source"); 412 bindFunc(cast(void**)&al_install_system, "al_install_system"); 413 bindFunc(cast(void**)&al_uninstall_system, "al_uninstall_system"); 414 bindFunc(cast(void**)&al_is_system_installed, "al_is_system_installed"); 415 bindFunc(cast(void**)&al_get_system_driver, "al_get_system_driver"); 416 bindFunc(cast(void**)&al_get_system_config, "al_get_system_config"); 417 bindFunc(cast(void**)&al_get_standard_path, "al_get_standard_path"); 418 bindFunc(cast(void**)&al_set_exe_name, "al_set_exe_name"); 419 bindFunc(cast(void**)&al_set_org_name, "al_set_org_name"); 420 bindFunc(cast(void**)&al_set_app_name, "al_set_app_name"); 421 bindFunc(cast(void**)&al_get_org_name, "al_get_org_name"); 422 bindFunc(cast(void**)&al_get_app_name, "al_get_app_name"); 423 bindFunc(cast(void**)&al_inhibit_screensaver, "al_inhibit_screensaver"); 424 bindFunc(cast(void**)&al_create_thread, "al_create_thread"); 425 bindFunc(cast(void**)&al_start_thread, "al_start_thread"); 426 bindFunc(cast(void**)&al_join_thread, "al_join_thread"); 427 bindFunc(cast(void**)&al_set_thread_should_stop, "al_set_thread_should_stop"); 428 bindFunc(cast(void**)&al_get_thread_should_stop, "al_get_thread_should_stop"); 429 bindFunc(cast(void**)&al_destroy_thread, "al_destroy_thread"); 430 bindFunc(cast(void**)&al_run_detached_thread, "al_run_detached_thread"); 431 bindFunc(cast(void**)&al_create_mutex, "al_create_mutex"); 432 bindFunc(cast(void**)&al_create_mutex_recursive, "al_create_mutex_recursive"); 433 bindFunc(cast(void**)&al_lock_mutex, "al_lock_mutex"); 434 bindFunc(cast(void**)&al_unlock_mutex, "al_unlock_mutex"); 435 bindFunc(cast(void**)&al_destroy_mutex, "al_destroy_mutex"); 436 bindFunc(cast(void**)&al_create_cond, "al_create_cond"); 437 bindFunc(cast(void**)&al_destroy_cond, "al_destroy_cond"); 438 bindFunc(cast(void**)&al_wait_cond, "al_wait_cond"); 439 bindFunc(cast(void**)&al_wait_cond_until, "al_wait_cond_until"); 440 bindFunc(cast(void**)&al_broadcast_cond, "al_broadcast_cond"); 441 bindFunc(cast(void**)&al_signal_cond, "al_signal_cond"); 442 bindFunc(cast(void**)&al_create_timer, "al_create_timer"); 443 bindFunc(cast(void**)&al_destroy_timer, "al_destroy_timer"); 444 bindFunc(cast(void**)&al_start_timer, "al_start_timer"); 445 bindFunc(cast(void**)&al_stop_timer, "al_stop_timer"); 446 bindFunc(cast(void**)&al_resume_timer, "al_resume_timer"); 447 bindFunc(cast(void**)&al_get_timer_started, "al_get_timer_started"); 448 bindFunc(cast(void**)&al_get_timer_speed, "al_get_timer_speed"); 449 bindFunc(cast(void**)&al_set_timer_speed, "al_set_timer_speed"); 450 bindFunc(cast(void**)&al_get_timer_count, "al_get_timer_count"); 451 bindFunc(cast(void**)&al_set_timer_count, "al_set_timer_count"); 452 bindFunc(cast(void**)&al_add_timer_count, "al_add_timer_count"); 453 bindFunc(cast(void**)&al_get_timer_event_source, "al_get_timer_event_source"); 454 bindFunc(cast(void**)&al_store_state, "al_store_state"); 455 bindFunc(cast(void**)&al_restore_state, "al_restore_state"); 456 bindFunc(cast(void**)&al_is_touch_input_installed, "al_is_touch_input_installed"); 457 bindFunc(cast(void**)&al_install_touch_input, "al_install_touch_input"); 458 bindFunc(cast(void**)&al_uninstall_touch_input, "al_uninstall_touch_input"); 459 bindFunc(cast(void**)&al_get_touch_input_state, "al_get_touch_input_state"); 460 bindFunc(cast(void**)&al_get_touch_input_event_source, "al_get_touch_input_event_source"); 461 bindFunc(cast(void**)&al_use_transform, "al_use_transform"); 462 bindFunc(cast(void**)&al_use_projection_transform, "al_use_projection_transform"); 463 bindFunc(cast(void**)&al_copy_transform, "al_copy_transform"); 464 bindFunc(cast(void**)&al_identity_transform, "al_identity_transform"); 465 bindFunc(cast(void**)&al_build_transform, "al_build_transform"); 466 bindFunc(cast(void**)&al_build_camera_transform, "al_build_camera_transform"); 467 bindFunc(cast(void**)&al_translate_transform, "al_translate_transform"); 468 bindFunc(cast(void**)&al_translate_transform_3d, "al_translate_transform_3d"); 469 bindFunc(cast(void**)&al_rotate_transform, "al_rotate_transform"); 470 bindFunc(cast(void**)&al_rotate_transform_3d, "al_rotate_transform_3d"); 471 bindFunc(cast(void**)&al_scale_transform, "al_scale_transform"); 472 bindFunc(cast(void**)&al_scale_transform_3d, "al_scale_transform_3d"); 473 bindFunc(cast(void**)&al_transform_coordinates, "al_transform_coordinates"); 474 bindFunc(cast(void**)&al_transform_coordinates_3d, "al_transform_coordinates_3d"); 475 bindFunc(cast(void**)&al_compose_transform, "al_compose_transform"); 476 bindFunc(cast(void**)&al_get_current_transform, "al_get_current_transform"); 477 bindFunc(cast(void**)&al_get_current_inverse_transform, "al_get_current_inverse_transform"); 478 bindFunc(cast(void**)&al_get_current_projection_transform, "al_get_current_projection_transform"); 479 bindFunc(cast(void**)&al_invert_transform, "al_invert_transform"); 480 bindFunc(cast(void**)&al_check_inverse, "al_check_inverse"); 481 bindFunc(cast(void**)&al_orthographic_transform, "al_orthographic_transform"); 482 bindFunc(cast(void**)&al_perspective_transform, "al_perspective_transform"); 483 bindFunc(cast(void**)&al_horizontal_shear_transform, "al_horizontal_shear_transform"); 484 bindFunc(cast(void**)&al_vertical_shear_transform, "al_vertical_shear_transform"); 485 bindFunc(cast(void**)&al_ustr_new, "al_ustr_new"); 486 bindFunc(cast(void**)&al_ustr_new_from_buffer, "al_ustr_new_from_buffer"); 487 bindFunc(cast(void**)&al_ustr_newf, "al_ustr_newf"); 488 bindFunc(cast(void**)&al_ustr_free, "al_ustr_free"); 489 bindFunc(cast(void**)&al_cstr, "al_cstr"); 490 bindFunc(cast(void**)&al_ustr_to_buffer, "al_ustr_to_buffer"); 491 bindFunc(cast(void**)&al_cstr_dup, "al_cstr_dup"); 492 bindFunc(cast(void**)&al_ustr_dup, "al_ustr_dup"); 493 bindFunc(cast(void**)&al_ustr_dup_substr, "al_ustr_dup_substr"); 494 bindFunc(cast(void**)&al_ustr_empty_string, "al_ustr_empty_string"); 495 bindFunc(cast(void**)&al_ref_cstr, "al_ref_cstr"); 496 bindFunc(cast(void**)&al_ref_buffer, "al_ref_buffer"); 497 bindFunc(cast(void**)&al_ref_ustr, "al_ref_ustr"); 498 bindFunc(cast(void**)&al_ustr_size, "al_ustr_size"); 499 bindFunc(cast(void**)&al_ustr_length, "al_ustr_length"); 500 bindFunc(cast(void**)&al_ustr_offset, "al_ustr_offset"); 501 bindFunc(cast(void**)&al_ustr_next, "al_ustr_next"); 502 bindFunc(cast(void**)&al_ustr_prev, "al_ustr_prev"); 503 bindFunc(cast(void**)&al_ustr_get, "al_ustr_get"); 504 bindFunc(cast(void**)&al_ustr_get_next, "al_ustr_get_next"); 505 bindFunc(cast(void**)&al_ustr_prev_get, "al_ustr_prev_get"); 506 bindFunc(cast(void**)&al_ustr_insert, "al_ustr_insert"); 507 bindFunc(cast(void**)&al_ustr_insert_cstr, "al_ustr_insert_cstr"); 508 bindFunc(cast(void**)&al_ustr_insert_chr, "al_ustr_insert_chr"); 509 bindFunc(cast(void**)&al_ustr_append, "al_ustr_append"); 510 bindFunc(cast(void**)&al_ustr_append_cstr, "al_ustr_append_cstr"); 511 bindFunc(cast(void**)&al_ustr_append_chr, "al_ustr_append_chr"); 512 bindFunc(cast(void**)&al_ustr_appendf, "al_ustr_appendf"); 513 bindFunc(cast(void**)&al_ustr_vappendf, "al_ustr_vappendf"); 514 bindFunc(cast(void**)&al_ustr_remove_chr, "al_ustr_remove_chr"); 515 bindFunc(cast(void**)&al_ustr_remove_range, "al_ustr_remove_range"); 516 bindFunc(cast(void**)&al_ustr_truncate, "al_ustr_truncate"); 517 bindFunc(cast(void**)&al_ustr_ltrim_ws, "al_ustr_ltrim_ws"); 518 bindFunc(cast(void**)&al_ustr_rtrim_ws, "al_ustr_rtrim_ws"); 519 bindFunc(cast(void**)&al_ustr_trim_ws, "al_ustr_trim_ws"); 520 bindFunc(cast(void**)&al_ustr_assign, "al_ustr_assign"); 521 bindFunc(cast(void**)&al_ustr_assign_substr, "al_ustr_assign_substr"); 522 bindFunc(cast(void**)&al_ustr_assign_cstr, "al_ustr_assign_cstr"); 523 bindFunc(cast(void**)&al_ustr_set_chr, "al_ustr_set_chr"); 524 bindFunc(cast(void**)&al_ustr_replace_range, "al_ustr_replace_range"); 525 bindFunc(cast(void**)&al_ustr_find_chr, "al_ustr_find_chr"); 526 bindFunc(cast(void**)&al_ustr_rfind_chr, "al_ustr_rfind_chr"); 527 bindFunc(cast(void**)&al_ustr_find_set, "al_ustr_find_set"); 528 bindFunc(cast(void**)&al_ustr_find_set_cstr, "al_ustr_find_set_cstr"); 529 bindFunc(cast(void**)&al_ustr_find_cset, "al_ustr_find_cset"); 530 bindFunc(cast(void**)&al_ustr_find_cset_cstr, "al_ustr_find_cset_cstr"); 531 bindFunc(cast(void**)&al_ustr_find_str, "al_ustr_find_str"); 532 bindFunc(cast(void**)&al_ustr_find_cstr, "al_ustr_find_cstr"); 533 bindFunc(cast(void**)&al_ustr_rfind_str, "al_ustr_rfind_str"); 534 bindFunc(cast(void**)&al_ustr_rfind_cstr, "al_ustr_rfind_cstr"); 535 bindFunc(cast(void**)&al_compose_transform, "al_compose_transform"); 536 bindFunc(cast(void**)&al_ustr_find_replace, "al_ustr_find_replace"); 537 bindFunc(cast(void**)&al_ustr_find_replace_cstr, "al_ustr_find_replace_cstr"); 538 bindFunc(cast(void**)&al_ustr_equal, "al_ustr_equal"); 539 bindFunc(cast(void**)&al_ustr_compare, "al_ustr_compare"); 540 bindFunc(cast(void**)&al_ustr_ncompare, "al_ustr_ncompare"); 541 bindFunc(cast(void**)&al_ustr_has_prefix, "al_ustr_has_prefix"); 542 bindFunc(cast(void**)&al_ustr_has_prefix_cstr, "al_ustr_has_prefix_cstr"); 543 bindFunc(cast(void**)&al_ustr_has_suffix, "al_ustr_has_suffix"); 544 bindFunc(cast(void**)&al_ustr_has_suffix_cstr, "al_ustr_has_suffix_cstr"); 545 bindFunc(cast(void**)&al_utf8_width, "al_utf8_width"); 546 bindFunc(cast(void**)&al_utf8_encode, "al_utf8_encode"); 547 bindFunc(cast(void**)&al_ustr_new_from_utf16, "al_ustr_new_from_utf16"); 548 bindFunc(cast(void**)&al_ustr_size_utf16, "al_ustr_size_utf16"); 549 bindFunc(cast(void**)&al_ustr_encode_utf16, "al_ustr_encode_utf16"); 550 bindFunc(cast(void**)&al_utf16_width, "al_utf16_width"); 551 bindFunc(cast(void**)&al_utf16_encode, "al_utf16_encode"); 552 } 553 } 554 555 __gshared DerelictAllegro5Loader DerelictAllegro5; 556 557 shared static this() { 558 DerelictAllegro5 = new DerelictAllegro5Loader; 559 }