SlideShare a Scribd company logo
Ring Documentation, Release 1.7
• void al_get_new_window_position(int *x, int *y)
• void al_set_new_window_position(int x, int y)
• int al_get_new_display_refresh_rate(void)
• void al_set_new_display_refresh_rate(int refresh_rate)
• ALLEGRO_EVENT_SOURCE *al_get_display_event_source(ALLEGRO_DISPLAY *display)
• ALLEGRO_BITMAP *al_get_backbuffer(ALLEGRO_DISPLAY *display)
• void al_flip_display(void)
• void al_update_display_region(int x, int y, int width, int height)
• bool al_wait_for_vsync(void)
• int al_get_display_width(ALLEGRO_DISPLAY *display)
• int al_get_display_height(ALLEGRO_DISPLAY *display)
• bool al_resize_display(ALLEGRO_DISPLAY *display, int width, int height)
• bool al_acknowledge_resize(ALLEGRO_DISPLAY *display)
• void al_get_window_position(ALLEGRO_DISPLAY *display, int *x, int *y)
• void al_set_window_position(ALLEGRO_DISPLAY *display, int x, int y)
• int al_get_display_flags(ALLEGRO_DISPLAY *display)
• bool al_set_display_flag(ALLEGRO_DISPLAY *display, int flag, bool onoff)
• int al_get_display_option(ALLEGRO_DISPLAY *display, int option)
• int al_get_display_format(ALLEGRO_DISPLAY *display)
• int al_get_display_refresh_rate(ALLEGRO_DISPLAY *display)
• void al_set_window_title(ALLEGRO_DISPLAY *display, const char *title)
• void al_set_display_icon(ALLEGRO_DISPLAY *display, ALLEGRO_BITMAP *icon)
• void al_set_display_icons(ALLEGRO_DISPLAY *display,int num_icons, ALLEGRO_BITMAP *icons[])
• bool al_inhibit_screensaver(bool inhibit)
• void al_acknowledge_drawing_halt(ALLEGRO_DISPLAY *display)
• void al_acknowledge_drawing_resume(ALLEGRO_DISPLAY *display)
• int al_get_display_orientation(ALLEGRO_DISPLAY* display)
• void al_set_display_option(ALLEGRO_DISPLAY *display, int option, int value)
• bool al_get_window_constraints(ALLEGRO_DISPLAY *display,int *min_w, int *min_h, int *max_w, int
*max_h)
• bool al_set_window_constraints(ALLEGRO_DISPLAY *display,int min_w, int min_h, int max_w, int max_h)
• ALLEGRO_EVENT_QUEUE *al_create_event_queue(void)
• void al_destroy_event_queue(ALLEGRO_EVENT_QUEUE *queue)
• void al_register_event_source(ALLEGRO_EVENT_QUEUE *queue,ALLEGRO_EVENT_SOURCE *source)
• void al_unregister_event_source(ALLEGRO_EVENT_QUEUE *queue,ALLEGRO_EVENT_SOURCE
*source)
• bool al_is_event_queue_empty(ALLEGRO_EVENT_QUEUE *queue)
1102
Ring Documentation, Release 1.7
• bool al_get_next_event(ALLEGRO_EVENT_QUEUE *queue, ALLEGRO_EVENT *ret_event)
• bool al_peek_next_event(ALLEGRO_EVENT_QUEUE *queue, ALLEGRO_EVENT *ret_event)
• bool al_drop_next_event(ALLEGRO_EVENT_QUEUE *queue)
• void al_flush_event_queue(ALLEGRO_EVENT_QUEUE *queue)
• void al_wait_for_event(ALLEGRO_EVENT_QUEUE *queue, ALLEGRO_EVENT *ret_event)
• bool al_wait_for_event_timed(ALLEGRO_EVENT_QUEUE *queue,ALLEGRO_EVENT *ret_event, float
secs)
• bool al_wait_for_event_until(ALLEGRO_EVENT_QUEUE *queue,ALLEGRO_EVENT *ret_event, ALLE-
GRO_TIMEOUT *timeout)
• void al_init_user_event_source(ALLEGRO_EVENT_SOURCE *src)
• void al_destroy_user_event_source(ALLEGRO_EVENT_SOURCE *src)
• intptr_t al_get_event_source_data(const ALLEGRO_EVENT_SOURCE *source)
• void al_set_event_source_data(ALLEGRO_EVENT_SOURCE *source, intptr_t data)
• ALLEGRO_FILE *al_fopen(const char *path, const char *mode)
• ALLEGRO_FILE *al_fopen_interface(const ALLEGRO_FILE_INTERFACE *drv,const char *path, const char
*mode)
• ALLEGRO_FILE *al_fopen_slice(ALLEGRO_FILE *fp, size_t initial_size, const char *mode)
• void al_fclose(ALLEGRO_FILE *f)
• size_t al_fread(ALLEGRO_FILE *f, void *ptr, size_t size)
• size_t al_fwrite(ALLEGRO_FILE *f, const void *ptr, size_t size)
• bool al_fflush(ALLEGRO_FILE *f)
• int64_t al_ftell(ALLEGRO_FILE *f)
• bool al_fseek(ALLEGRO_FILE *f, int64_t offset, int whence)
• bool al_feof(ALLEGRO_FILE *f)
• bool al_ferror(ALLEGRO_FILE *f)
• void al_fclearerr(ALLEGRO_FILE *f)
• int al_fungetc(ALLEGRO_FILE *f, int c)
• int64_t al_fsize(ALLEGRO_FILE *f)
• int al_fgetc(ALLEGRO_FILE *f)
• int al_fputc(ALLEGRO_FILE *f, int c)
• int16_t al_fread16le(ALLEGRO_FILE *f)
• int16_t al_fread16be(ALLEGRO_FILE *f)
• size_t al_fwrite16le(ALLEGRO_FILE *f, int16_t w)
• size_t al_fwrite16be(ALLEGRO_FILE *f, int16_t w)
• int32_t al_fread32le(ALLEGRO_FILE *f)
• int32_t al_fread32be(ALLEGRO_FILE *f)
• size_t al_fwrite32le(ALLEGRO_FILE *f, int32_t l)
1103
Ring Documentation, Release 1.7
• size_t al_fwrite32be(ALLEGRO_FILE *f, int32_t l)
• char *al_fgets(ALLEGRO_FILE *f, char * const buf, size_t max)
• ALLEGRO_USTR *al_fget_ustr(ALLEGRO_FILE *f)
• int al_fputs(ALLEGRO_FILE *f, char const *p)
• ALLEGRO_FILE *al_fopen_fd(int fd, const char *mode)
• ALLEGRO_FILE *al_make_temp_file(const char *template, ALLEGRO_PATH **ret_path)
• void al_set_new_file_interface(const ALLEGRO_FILE_INTERFACE *file_interface
• void al_set_standard_file_interface(void)
• const ALLEGRO_FILE_INTERFACE *al_get_new_file_interface(void)
• ALLEGRO_FILE *al_create_file_handle(const ALLEGRO_FILE_INTERFACE *drv,void *userdata)
• void *al_get_file_userdata(ALLEGRO_FILE *f)
• ALLEGRO_FS_ENTRY *al_create_fs_entry(const char *path)
• void al_destroy_fs_entry(ALLEGRO_FS_ENTRY *fh)
• const char *al_get_fs_entry_name(ALLEGRO_FS_ENTRY *e)
• bool al_update_fs_entry(ALLEGRO_FS_ENTRY *e)
• uint32_t al_get_fs_entry_mode(ALLEGRO_FS_ENTRY *e)
• time_t al_get_fs_entry_atime(ALLEGRO_FS_ENTRY *e)
• time_t al_get_fs_entry_ctime(ALLEGRO_FS_ENTRY *e)
• time_t al_get_fs_entry_mtime(ALLEGRO_FS_ENTRY *e)
• off_t al_get_fs_entry_size(ALLEGRO_FS_ENTRY *e)
• bool al_fs_entry_exists(ALLEGRO_FS_ENTRY *e)
• bool al_remove_fs_entry(ALLEGRO_FS_ENTRY *e)
• bool al_filename_exists(const char *path)
• bool al_remove_filename(const char *path)
• bool al_open_directory(ALLEGRO_FS_ENTRY *e)
• ALLEGRO_FS_ENTRY *al_read_directory(ALLEGRO_FS_ENTRY *e)
• bool al_close_directory(ALLEGRO_FS_ENTRY *e)
• char *al_get_current_directory(void)
• bool al_change_directory(const char *path)
• bool al_make_directory(const char *path)
• ALLEGRO_FILE *al_open_fs_entry(ALLEGRO_FS_ENTRY *e, const char *mode)
• void al_set_fs_interface(const ALLEGRO_FS_INTERFACE *fs_interface)
• void al_set_standard_fs_interface(void)
• const ALLEGRO_FS_INTERFACE *al_get_fs_interface(void)
• al_fixed al_itofix(int x);
• int al_fixtoi(al_fixed x);
1104
Ring Documentation, Release 1.7
• int al_fixfloor(al_fixed x);
• int al_fixceil(al_fixed x);
• al_fixed al_ftofix(double x);
• double al_fixtof(al_fixed x);
• al_fixed al_fixmul(al_fixed x, al_fixed y);
• al_fixed al_fixdiv(al_fixed x, al_fixed y);
• al_fixed al_fixadd(al_fixed x, al_fixed y);
• al_fixed al_fixsub(al_fixed x, al_fixed y);
• al_fixed al_fixsin(al_fixed x);
• al_fixed al_fixcos(al_fixed x);
• al_fixed al_fixtan(al_fixed x);
• al_fixed al_fixasin(al_fixed x);
• al_fixed al_fixacos(al_fixed x);
• al_fixed al_fixatan(al_fixed x)
• al_fixed al_fixatan2(al_fixed y, al_fixed x)
• al_fixed al_fixsqrt(al_fixed x)
• al_fixed al_fixhypot(al_fixed x, al_fixed y)
• ALLEGRO_DISPLAY_MODE *al_get_display_mode(int index, ALLEGRO_DISPLAY_MODE *mode)
• int al_get_num_display_modes(void)
• ALLEGRO_COLOR al_map_rgb(unsigned char r, unsigned char g, unsigned char b)
• ALLEGRO_COLOR al_map_rgb_f(float r, float g, float b)
• ALLEGRO_COLOR al_map_rgba(unsigned char r, unsigned char g, unsigned char b, unsigned char a)
• ALLEGRO_COLOR al_map_rgba_f(float r, float g, float b, float a)
• void al_unmap_rgb(ALLEGRO_COLOR color,unsigned char *r, unsigned char *g, unsigned char *b)
• void al_unmap_rgb_f(ALLEGRO_COLOR color, float *r, float *g, float *b)
• void al_unmap_rgba(ALLEGRO_COLOR color,unsigned char *r, unsigned char *g, unsigned char *b, unsigned
char *a)
• void al_unmap_rgba_f(ALLEGRO_COLOR color,float *r, float *g, float *b, float *a)
• int al_get_pixel_size(int format)
• int al_get_pixel_format_bits(int format)
• ALLEGRO_LOCKED_REGION *al_lock_bitmap(ALLEGRO_BITMAP *bitmap,int format, int flags)
• ALLEGRO_LOCKED_REGION *al_lock_bitmap_region(ALLEGRO_BITMAP *bitmap,int x, int y, int width,
int height, int format, int flags)
• void al_unlock_bitmap(ALLEGRO_BITMAP *bitmap)
• ALLEGRO_BITMAP *al_create_bitmap(int w, int h)
• ALLEGRO_BITMAP *al_create_sub_bitmap(ALLEGRO_BITMAP *parent,int x, int y, int w, int h)
• ALLEGRO_BITMAP *al_clone_bitmap(ALLEGRO_BITMAP *bitmap)
1105
Ring Documentation, Release 1.7
• void al_destroy_bitmap(ALLEGRO_BITMAP *bitmap)
• int al_get_new_bitmap_flags(void)
• int al_get_new_bitmap_format(void)
• void al_set_new_bitmap_flags(int flags)
• void al_add_new_bitmap_flag(int flag)
• void al_set_new_bitmap_format(int format)
• int al_get_bitmap_flags(ALLEGRO_BITMAP *bitmap)
• int al_get_bitmap_format(ALLEGRO_BITMAP *bitmap)
• int al_get_bitmap_height(ALLEGRO_BITMAP *bitmap)
• int al_get_bitmap_width(ALLEGRO_BITMAP *bitmap)
• ALLEGRO_COLOR al_get_pixel(ALLEGRO_BITMAP *bitmap, int x, int y)
• bool al_is_bitmap_locked(ALLEGRO_BITMAP *bitmap)
• bool al_is_compatible_bitmap(ALLEGRO_BITMAP *bitmap)
• bool al_is_sub_bitmap(ALLEGRO_BITMAP *bitmap)
• ALLEGRO_BITMAP *al_get_parent_bitmap(ALLEGRO_BITMAP *bitmap)
• void al_clear_to_color(ALLEGRO_COLOR color)
• void al_draw_bitmap(ALLEGRO_BITMAP *bitmap, float dx, float dy, int flags)
• void al_draw_tinted_bitmap(ALLEGRO_BITMAP *bitmap, ALLEGRO_COLOR tint,float dx, float dy, int
flags)
• void al_draw_bitmap_region(ALLEGRO_BITMAP *bitmap,float sx, float sy, float sw, float sh, float dx, float
dy, int flags)
• void al_draw_tinted_bitmap_region(ALLEGRO_BITMAP *bitmap,ALLEGRO_COLOR tint,float sx, float sy,
float sw, float sh, float dx, float dy,int flags)
• void al_draw_pixel(float x, float y, ALLEGRO_COLOR color)
• void al_draw_rotated_bitmap(ALLEGRO_BITMAP *bitmap,float cx, float cy, float dx, float dy, float angle, int
flags)
• void al_draw_tinted_rotated_bitmap(ALLEGRO_BITMAP *bitmap,ALLEGRO_COLOR tint,float cx, float cy,
float dx, float dy, float angle, int flags)
• void al_draw_scaled_rotated_bitmap(ALLEGRO_BITMAP *bitmap,float cx, float cy, float dx, float dy, float
xscale, float yscale,float angle, int flags)
• void al_draw_tinted_scaled_rotated_bitmap(ALLEGRO_BITMAP *bitmap,ALLEGRO_COLOR tint,float cx,
float cy, float dx, float dy, float xscale, float yscale,float angle, int flags)
• void al_draw_tinted_scaled_rotated_bitmap_region(ALLEGRO_BITMAP *bitmap,float sx, float sy, float sw,
float sh,ALLEGRO_COLOR tint,float cx, float cy, float dx, float dy, float xscale, float yscale,float angle, int
flags)
• void al_draw_scaled_bitmap(ALLEGRO_BITMAP *bitmap,float sx, float sy, float sw, float sh,float dx, float dy,
float dw, float dh, int flags)
• void al_draw_tinted_scaled_bitmap(ALLEGRO_BITMAP *bitmap,ALLEGRO_COLOR tint,float sx, float sy,
float sw, float sh,float dx, float dy, float dw, float dh, int flags)
• ALLEGRO_BITMAP *al_get_target_bitmap(void)
1106
Ring Documentation, Release 1.7
• void al_put_pixel(int x, int y, ALLEGRO_COLOR color)
• void al_put_blended_pixel(int x, int y, ALLEGRO_COLOR color)
• void al_set_target_bitmap(ALLEGRO_BITMAP *bitmap)
• void al_set_target_backbuffer(ALLEGRO_DISPLAY *display)
• ALLEGRO_DISPLAY *al_get_current_display(void)
• void al_get_blender(int *op, int *src, int *dst)
• void al_get_separate_blender(int *op, int *src, int *dst,int *alpha_op, int *alpha_src, int *alpha_dst)
• void al_set_blender(int op, int src, int dst)
• void al_set_separate_blender(int op, int src, int dst,int alpha_op, int alpha_src, int alpha_dst)
• void al_get_clipping_rectangle(int *x, int *y, int *w, int *h)
• void al_set_clipping_rectangle(int x, int y, int width, int height)
• void al_reset_clipping_rectangle(void)
• void al_convert_mask_to_alpha(ALLEGRO_BITMAP *bitmap, ALLEGRO_COLOR mask_color)
• void al_hold_bitmap_drawing(bool hold)
• bool al_is_bitmap_drawing_held(void)
• ALLEGRO_BITMAP *al_load_bitmap_f(ALLEGRO_FILE *fp, const char *ident)
• bool al_save_bitmap(const char *filename, ALLEGRO_BITMAP *bitmap)
• bool al_save_bitmap_f(ALLEGRO_FILE *fp, const char *ident,ALLEGRO_BITMAP *bitmap)
• bool al_install_joystick(void)
• void al_uninstall_joystick(void)
• bool al_is_joystick_installed(void)
• bool al_reconfigure_joysticks(void)
• int al_get_num_joysticks(void)
• ALLEGRO_JOYSTICK * al_get_joystick(int num)
• void al_release_joystick(ALLEGRO_JOYSTICK *joy)
• bool al_get_joystick_active(ALLEGRO_JOYSTICK *joy)
• const char *al_get_joystick_name(ALLEGRO_JOYSTICK *joy)
• const char *al_get_joystick_stick_name(ALLEGRO_JOYSTICK *joy, int stick)
• const char *al_get_joystick_axis_name(ALLEGRO_JOYSTICK *joy, int stick, int axis)
• const char *al_get_joystick_button_name(ALLEGRO_JOYSTICK *joy, int button)
• int al_get_joystick_stick_flags(ALLEGRO_JOYSTICK *joy, int stick)
• int al_get_joystick_num_sticks(ALLEGRO_JOYSTICK *joy)
• int al_get_joystick_num_axes(ALLEGRO_JOYSTICK *joy, int stick)
• int al_get_joystick_num_buttons(ALLEGRO_JOYSTICK *joy)
• void al_get_joystick_state(ALLEGRO_JOYSTICK *joy, ALLEGRO_JOYSTICK_STATE *ret_state)
• ALLEGRO_EVENT_SOURCE *al_get_joystick_event_source(void)
1107
Ring Documentation, Release 1.7
• bool al_install_keyboard(void)
• bool al_is_keyboard_installed(void)
• void al_uninstall_keyboard(void)
• void al_get_keyboard_state(ALLEGRO_KEYBOARD_STATE *ret_state)
• bool al_key_down(const ALLEGRO_KEYBOARD_STATE *state, int keycode)
• const char *al_keycode_to_name(int keycode)
• bool al_set_keyboard_leds(int leds)
• ALLEGRO_EVENT_SOURCE *al_get_keyboard_event_source(void)
• void *al_malloc_with_context(size_t n,int line, const char *file, const char *func)
• void al_free_with_context(void *ptr, int line, const char *file, const char *func)
• void *al_realloc_with_context(void *ptr, size_t n,int line, const char *file, const char *func)
• void *al_calloc_with_context(size_t count, size_t n,int line, const char *file, const char *func)
• void al_set_memory_interface(ALLEGRO_MEMORY_INTERFACE *memory_interface)
• int al_get_new_display_adapter(void)
• void al_set_new_display_adapter(int adapter)
• bool al_get_monitor_info(int adapter, ALLEGRO_MONITOR_INFO *info)
• int al_get_num_video_adapters(void)
• bool al_install_mouse(void)
• bool al_is_mouse_installed(void)
• void al_uninstall_mouse(void)
• unsigned int al_get_mouse_num_axes(void)
• unsigned int al_get_mouse_num_buttons(void)
• void al_get_mouse_state(ALLEGRO_MOUSE_STATE *ret_state)
• int al_get_mouse_state_axis(const ALLEGRO_MOUSE_STATE *state, int axis)
• bool al_mouse_button_down(const ALLEGRO_MOUSE_STATE *state, int button)
• 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 which, int value)
• ALLEGRO_EVENT_SOURCE *al_get_mouse_event_source(void)
• ALLEGRO_MOUSE_CURSOR *al_create_mouse_cursor(ALLEGRO_BITMAP *bmp,int x_focus, int
y_focus)
• void al_destroy_mouse_cursor(ALLEGRO_MOUSE_CURSOR *cursor)
• bool al_set_mouse_cursor(ALLEGRO_DISPLAY *display, ALLEGRO_MOUSE_CURSOR *cursor)
• bool al_set_system_mouse_cursor(ALLEGRO_DISPLAY *display,ALLEGRO_SYSTEM_MOUSE_CURSOR
cursor_id)
• bool al_get_mouse_cursor_position(int *ret_x, int *ret_y)
1108
Ring Documentation, Release 1.7
• bool al_hide_mouse_cursor(ALLEGRO_DISPLAY *display)
• bool al_show_mouse_cursor(ALLEGRO_DISPLAY *display)
• bool al_grab_mouse(ALLEGRO_DISPLAY *display)
• bool al_ungrab_mouse(void)
• ALLEGRO_PATH *al_create_path(const char *str)
• ALLEGRO_PATH *al_create_path_for_directory(const char *str)
• void al_destroy_path(ALLEGRO_PATH *path)
• ALLEGRO_PATH *al_clone_path(const ALLEGRO_PATH *path)
• bool al_join_paths(ALLEGRO_PATH *path, const ALLEGRO_PATH *tail)
• bool al_rebase_path(const ALLEGRO_PATH *head, ALLEGRO_PATH *tail)
• const char *al_get_path_drive(const ALLEGRO_PATH *path)
• int al_get_path_num_components(const ALLEGRO_PATH *path)
• const char *al_get_path_component(const ALLEGRO_PATH *path, int i)
• const char *al_get_path_tail(const ALLEGRO_PATH *path)
• const char *al_get_path_filename(const ALLEGRO_PATH *path)
• const char *al_get_path_basename(const ALLEGRO_PATH *path)
• const char *al_get_path_extension(const ALLEGRO_PATH *path)
• void al_set_path_drive(ALLEGRO_PATH *path, const char *drive)
• void al_append_path_component(ALLEGRO_PATH *path, const char *s)
• void al_insert_path_component(ALLEGRO_PATH *path, int i, const char *s)
• void al_replace_path_component(ALLEGRO_PATH *path, int i, const char *s)
• void al_remove_path_component(ALLEGRO_PATH *path, int i)
• void al_drop_path_tail(ALLEGRO_PATH *path)
• void al_set_path_filename(ALLEGRO_PATH *path, const char *filename)
• bool al_set_path_extension(ALLEGRO_PATH *path, char const *extension)
• const char *al_path_cstr(const ALLEGRO_PATH *path, char delim)
• bool al_make_path_canonical(ALLEGRO_PATH *path)
• void al_restore_state(ALLEGRO_STATE const *state)
• void al_store_state(ALLEGRO_STATE *state, int flags
• int al_get_errno(void)
• void al_set_errno(int errnum)
• void al_uninstall_system(void)
• bool al_is_system_installed(void)
• uint32_t al_get_allegro_version(void)
• ALLEGRO_PATH *al_get_standard_path(int id)
• void al_set_exe_name(char const *path)
1109
Ring Documentation, Release 1.7
• void al_set_app_name(const char *app_name)
• void al_set_org_name(const char *org_name)
• const char *al_get_app_name(void)
• const char *al_get_org_name(void)
• ALLEGRO_CONFIG *al_get_system_config(void)
• ALLEGRO_THREAD *al_create_thread(void)
• void al_run_detached_thread(void)
• void al_start_thread(ALLEGRO_THREAD *thread)
• void al_join_thread(ALLEGRO_THREAD *thread, void **ret_value)
• void al_set_thread_should_stop(ALLEGRO_THREAD *thread)
• bool al_get_thread_should_stop(ALLEGRO_THREAD *thread)
• void al_destroy_thread(ALLEGRO_THREAD *thread)
• ALLEGRO_MUTEX *al_create_mutex(void)
• ALLEGRO_MUTEX *al_create_mutex_recursive(void)
• void al_lock_mutex(ALLEGRO_MUTEX *mutex)
• void al_unlock_mutex(ALLEGRO_MUTEX *mutex)
• void al_destroy_mutex(ALLEGRO_MUTEX *mutex)
• ALLEGRO_COND *al_create_cond(void)
• void al_destroy_cond(ALLEGRO_COND *cond)
• void al_wait_cond(ALLEGRO_COND *cond, ALLEGRO_MUTEX *mutex)
• int al_wait_cond_until(ALLEGRO_COND *cond, ALLEGRO_MUTEX *mutex,const ALLEGRO_TIMEOUT
*timeout)
• void al_broadcast_cond(ALLEGRO_COND *cond)
• void al_signal_cond(ALLEGRO_COND *cond)
• double al_get_time(void)
• void al_init_timeout(ALLEGRO_TIMEOUT *timeout, double seconds)
• void al_rest(double seconds)
• ALLEGRO_TIMER *al_create_timer(double speed_secs)
• void al_start_timer(ALLEGRO_TIMER *timer)
• void al_stop_timer(ALLEGRO_TIMER *timer)
• bool al_get_timer_started(const ALLEGRO_TIMER *timer)
• void al_destroy_timer(ALLEGRO_TIMER *timer)
• int64_t al_get_timer_count(const ALLEGRO_TIMER *timer)
• void al_set_timer_count(ALLEGRO_TIMER *timer, int64_t new_count)
• void al_add_timer_count(ALLEGRO_TIMER *timer, int64_t diff)
• double al_get_timer_speed(const ALLEGRO_TIMER *timer)
1110
Ring Documentation, Release 1.7
• void al_set_timer_speed(ALLEGRO_TIMER *timer, double new_speed_secs)
• ALLEGRO_EVENT_SOURCE *al_get_timer_event_source(ALLEGRO_TIMER *timer)
• void al_copy_transform(ALLEGRO_TRANSFORM *dest, const ALLEGRO_TRANSFORM *src)
• void al_use_transform(const ALLEGRO_TRANSFORM *trans)
• const ALLEGRO_TRANSFORM *al_get_current_transform(void)
• void al_invert_transform(ALLEGRO_TRANSFORM *trans)
• int al_check_inverse(const ALLEGRO_TRANSFORM *trans, float tol)
• void al_identity_transform(ALLEGRO_TRANSFORM *trans)
• void al_build_transform(ALLEGRO_TRANSFORM *trans, float x, float y,float sx, float sy, float theta)
• void al_translate_transform(ALLEGRO_TRANSFORM *trans, float x, float y)
• void al_rotate_transform(ALLEGRO_TRANSFORM *trans, float theta)
• void al_scale_transform(ALLEGRO_TRANSFORM *trans, float sx, float sy)
• void al_transform_coordinates(const ALLEGRO_TRANSFORM *trans, float *x, float *y)
• void al_compose_transform(ALLEGRO_TRANSFORM *trans, const ALLEGRO_TRANSFORM *other)
• ALLEGRO_USTR *al_ustr_new(const char *s)
• ALLEGRO_USTR *al_ustr_new_from_buffer(const char *s, size_t size)
• void al_ustr_free(ALLEGRO_USTR *us)
• const char *al_cstr(const ALLEGRO_USTR *us)
• void al_ustr_to_buffer(const ALLEGRO_USTR *us, char *buffer, int size)
• char *al_cstr_dup(const ALLEGRO_USTR *us)
• ALLEGRO_USTR *al_ustr_dup(const ALLEGRO_USTR *us)
• ALLEGRO_USTR *al_ustr_dup_substr(const ALLEGRO_USTR *us, int start_pos,int end_pos)
• const ALLEGRO_USTR *al_ustr_empty_string(void)
• const ALLEGRO_USTR *al_ref_cstr(ALLEGRO_USTR_INFO *info, const char *s)
• const ALLEGRO_USTR *al_ref_buffer(ALLEGRO_USTR_INFO *info, const char *s, size_t size)
• const ALLEGRO_USTR *al_ref_ustr(ALLEGRO_USTR_INFO *info, const ALLEGRO_USTR *us,int
start_pos, int end_pos)
• size_t al_ustr_size(const ALLEGRO_USTR *us)
• size_t al_ustr_length(const ALLEGRO_USTR *us)
• int al_ustr_offset(const ALLEGRO_USTR *us, int index)
• bool al_ustr_next(const ALLEGRO_USTR *us, int *pos)
• bool al_ustr_prev(const ALLEGRO_USTR *us, int *pos)
• int32_t al_ustr_get(const ALLEGRO_USTR *ub, int pos)
• int32_t al_ustr_get_next(const ALLEGRO_USTR *us, int *pos)
• int32_t al_ustr_prev_get(const ALLEGRO_USTR *us, int *pos)
• bool al_ustr_insert(ALLEGRO_USTR *us1, int pos, const ALLEGRO_USTR *us2)
1111

More Related Content

PDF
The Ring programming language version 1.2 book - Part 61 of 84
PDF
The Ring programming language version 1.8 book - Part 119 of 202
PDF
The Ring programming language version 1.10 book - Part 129 of 212
PDF
The Ring programming language version 1.9 book - Part 127 of 210
PDF
The Ring programming language version 1.6 book - Part 88 of 189
PDF
The Ring programming language version 1.5.3 book - Part 94 of 184
PDF
The Ring programming language version 1.5.3 book - Part 95 of 184
PDF
The Ring programming language version 1.5.2 book - Part 82 of 181
The Ring programming language version 1.2 book - Part 61 of 84
The Ring programming language version 1.8 book - Part 119 of 202
The Ring programming language version 1.10 book - Part 129 of 212
The Ring programming language version 1.9 book - Part 127 of 210
The Ring programming language version 1.6 book - Part 88 of 189
The Ring programming language version 1.5.3 book - Part 94 of 184
The Ring programming language version 1.5.3 book - Part 95 of 184
The Ring programming language version 1.5.2 book - Part 82 of 181

What's hot (15)

PDF
The Ring programming language version 1.3 book - Part 64 of 88
PDF
The Ring programming language version 1.5.2 book - Part 83 of 181
PDF
The Ring programming language version 1.4 book - Part 23 of 30
PDF
The Ring programming language version 1.5.4 book - Part 84 of 185
PDF
The Ring programming language version 1.5.4 book - Part 86 of 185
PDF
The Ring programming language version 1.9 book - Part 128 of 210
PDF
The Ring programming language version 1.8 book - Part 120 of 202
PDF
The Ring programming language version 1.6 book - Part 89 of 189
PDF
The Ring programming language version 1.5.1 book - Part 80 of 180
PDF
The Ring programming language version 1.3 book - Part 61 of 88
PDF
The Ring programming language version 1.5.2 book - Part 81 of 181
PDF
The Ring programming language version 1.6 book - Part 91 of 189
PDF
The Ring programming language version 1.6 book - Part 84 of 189
PDF
The Ring programming language version 1.5.1 book - Part 82 of 180
PDF
The Ring programming language version 1.5.4 book - Part 88 of 185
The Ring programming language version 1.3 book - Part 64 of 88
The Ring programming language version 1.5.2 book - Part 83 of 181
The Ring programming language version 1.4 book - Part 23 of 30
The Ring programming language version 1.5.4 book - Part 84 of 185
The Ring programming language version 1.5.4 book - Part 86 of 185
The Ring programming language version 1.9 book - Part 128 of 210
The Ring programming language version 1.8 book - Part 120 of 202
The Ring programming language version 1.6 book - Part 89 of 189
The Ring programming language version 1.5.1 book - Part 80 of 180
The Ring programming language version 1.3 book - Part 61 of 88
The Ring programming language version 1.5.2 book - Part 81 of 181
The Ring programming language version 1.6 book - Part 91 of 189
The Ring programming language version 1.6 book - Part 84 of 189
The Ring programming language version 1.5.1 book - Part 82 of 180
The Ring programming language version 1.5.4 book - Part 88 of 185
Ad

Similar to The Ring programming language version 1.7 book - Part 114 of 196 (19)

PDF
The Ring programming language version 1.5.4 book - Part 85 of 185
PDF
The Ring programming language version 1.5.1 book - Part 81 of 180
PDF
The Ring programming language version 1.4.1 book - Part 23 of 31
PDF
The Ring programming language version 1.9 book - Part 126 of 210
PDF
The Ring programming language version 1.3 book - Part 65 of 88
PDF
The Ring programming language version 1.2 book - Part 62 of 84
PDF
The Ring programming language version 1.10 book - Part 130 of 212
PDF
The Ring programming language version 1.7 book - Part 115 of 196
PDF
The Ring programming language version 1.5.3 book - Part 96 of 184
PDF
The Ring programming language version 1.3 book - Part 66 of 88
PDF
The Ring programming language version 1.5.3 book - Part 97 of 184
PDF
The Ring programming language version 1.6 book - Part 90 of 189
PDF
The Ring programming language version 1.10 book - Part 128 of 212
PDF
The Ring programming language version 1.5.3 book - Part 98 of 184
PDF
The Ring programming language version 1.3 book - Part 67 of 88
PDF
The Ring programming language version 1.2 book - Part 64 of 84
PDF
The Ring programming language version 1.5.1 book - Part 84 of 180
PDF
The Ring programming language version 1.7 book - Part 113 of 196
PDF
The Ring programming language version 1.7 book - Part 119 of 196
The Ring programming language version 1.5.4 book - Part 85 of 185
The Ring programming language version 1.5.1 book - Part 81 of 180
The Ring programming language version 1.4.1 book - Part 23 of 31
The Ring programming language version 1.9 book - Part 126 of 210
The Ring programming language version 1.3 book - Part 65 of 88
The Ring programming language version 1.2 book - Part 62 of 84
The Ring programming language version 1.10 book - Part 130 of 212
The Ring programming language version 1.7 book - Part 115 of 196
The Ring programming language version 1.5.3 book - Part 96 of 184
The Ring programming language version 1.3 book - Part 66 of 88
The Ring programming language version 1.5.3 book - Part 97 of 184
The Ring programming language version 1.6 book - Part 90 of 189
The Ring programming language version 1.10 book - Part 128 of 212
The Ring programming language version 1.5.3 book - Part 98 of 184
The Ring programming language version 1.3 book - Part 67 of 88
The Ring programming language version 1.2 book - Part 64 of 84
The Ring programming language version 1.5.1 book - Part 84 of 180
The Ring programming language version 1.7 book - Part 113 of 196
The Ring programming language version 1.7 book - Part 119 of 196
Ad

More from Mahmoud Samir Fayed (20)

PDF
The Ring programming language version 1.10 book - Part 212 of 212
PDF
The Ring programming language version 1.10 book - Part 211 of 212
PDF
The Ring programming language version 1.10 book - Part 210 of 212
PDF
The Ring programming language version 1.10 book - Part 208 of 212
PDF
The Ring programming language version 1.10 book - Part 207 of 212
PDF
The Ring programming language version 1.10 book - Part 205 of 212
PDF
The Ring programming language version 1.10 book - Part 206 of 212
PDF
The Ring programming language version 1.10 book - Part 204 of 212
PDF
The Ring programming language version 1.10 book - Part 203 of 212
PDF
The Ring programming language version 1.10 book - Part 202 of 212
PDF
The Ring programming language version 1.10 book - Part 201 of 212
PDF
The Ring programming language version 1.10 book - Part 200 of 212
PDF
The Ring programming language version 1.10 book - Part 199 of 212
PDF
The Ring programming language version 1.10 book - Part 198 of 212
PDF
The Ring programming language version 1.10 book - Part 197 of 212
PDF
The Ring programming language version 1.10 book - Part 196 of 212
PDF
The Ring programming language version 1.10 book - Part 195 of 212
PDF
The Ring programming language version 1.10 book - Part 194 of 212
PDF
The Ring programming language version 1.10 book - Part 193 of 212
PDF
The Ring programming language version 1.10 book - Part 192 of 212
The Ring programming language version 1.10 book - Part 212 of 212
The Ring programming language version 1.10 book - Part 211 of 212
The Ring programming language version 1.10 book - Part 210 of 212
The Ring programming language version 1.10 book - Part 208 of 212
The Ring programming language version 1.10 book - Part 207 of 212
The Ring programming language version 1.10 book - Part 205 of 212
The Ring programming language version 1.10 book - Part 206 of 212
The Ring programming language version 1.10 book - Part 204 of 212
The Ring programming language version 1.10 book - Part 203 of 212
The Ring programming language version 1.10 book - Part 202 of 212
The Ring programming language version 1.10 book - Part 201 of 212
The Ring programming language version 1.10 book - Part 200 of 212
The Ring programming language version 1.10 book - Part 199 of 212
The Ring programming language version 1.10 book - Part 198 of 212
The Ring programming language version 1.10 book - Part 197 of 212
The Ring programming language version 1.10 book - Part 196 of 212
The Ring programming language version 1.10 book - Part 195 of 212
The Ring programming language version 1.10 book - Part 194 of 212
The Ring programming language version 1.10 book - Part 193 of 212
The Ring programming language version 1.10 book - Part 192 of 212

Recently uploaded (20)

PDF
gpt5_lecture_notes_comprehensive_20250812015547.pdf
PDF
Optimiser vos workloads AI/ML sur Amazon EC2 et AWS Graviton
PDF
Agricultural_Statistics_at_a_Glance_2022_0.pdf
PDF
Electronic commerce courselecture one. Pdf
PPTX
MYSQL Presentation for SQL database connectivity
PDF
Review of recent advances in non-invasive hemoglobin estimation
PDF
Per capita expenditure prediction using model stacking based on satellite ima...
PPTX
Big Data Technologies - Introduction.pptx
PDF
Assigned Numbers - 2025 - Bluetooth® Document
PDF
MIND Revenue Release Quarter 2 2025 Press Release
PDF
Encapsulation theory and applications.pdf
PDF
Empathic Computing: Creating Shared Understanding
PDF
A comparative analysis of optical character recognition models for extracting...
PDF
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
PDF
Advanced methodologies resolving dimensionality complications for autism neur...
PPT
“AI and Expert System Decision Support & Business Intelligence Systems”
PPTX
Machine Learning_overview_presentation.pptx
DOCX
The AUB Centre for AI in Media Proposal.docx
PPTX
VMware vSphere Foundation How to Sell Presentation-Ver1.4-2-14-2024.pptx
PDF
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
gpt5_lecture_notes_comprehensive_20250812015547.pdf
Optimiser vos workloads AI/ML sur Amazon EC2 et AWS Graviton
Agricultural_Statistics_at_a_Glance_2022_0.pdf
Electronic commerce courselecture one. Pdf
MYSQL Presentation for SQL database connectivity
Review of recent advances in non-invasive hemoglobin estimation
Per capita expenditure prediction using model stacking based on satellite ima...
Big Data Technologies - Introduction.pptx
Assigned Numbers - 2025 - Bluetooth® Document
MIND Revenue Release Quarter 2 2025 Press Release
Encapsulation theory and applications.pdf
Empathic Computing: Creating Shared Understanding
A comparative analysis of optical character recognition models for extracting...
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
Advanced methodologies resolving dimensionality complications for autism neur...
“AI and Expert System Decision Support & Business Intelligence Systems”
Machine Learning_overview_presentation.pptx
The AUB Centre for AI in Media Proposal.docx
VMware vSphere Foundation How to Sell Presentation-Ver1.4-2-14-2024.pptx
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf

The Ring programming language version 1.7 book - Part 114 of 196

  • 1. Ring Documentation, Release 1.7 • void al_get_new_window_position(int *x, int *y) • void al_set_new_window_position(int x, int y) • int al_get_new_display_refresh_rate(void) • void al_set_new_display_refresh_rate(int refresh_rate) • ALLEGRO_EVENT_SOURCE *al_get_display_event_source(ALLEGRO_DISPLAY *display) • ALLEGRO_BITMAP *al_get_backbuffer(ALLEGRO_DISPLAY *display) • void al_flip_display(void) • void al_update_display_region(int x, int y, int width, int height) • bool al_wait_for_vsync(void) • int al_get_display_width(ALLEGRO_DISPLAY *display) • int al_get_display_height(ALLEGRO_DISPLAY *display) • bool al_resize_display(ALLEGRO_DISPLAY *display, int width, int height) • bool al_acknowledge_resize(ALLEGRO_DISPLAY *display) • void al_get_window_position(ALLEGRO_DISPLAY *display, int *x, int *y) • void al_set_window_position(ALLEGRO_DISPLAY *display, int x, int y) • int al_get_display_flags(ALLEGRO_DISPLAY *display) • bool al_set_display_flag(ALLEGRO_DISPLAY *display, int flag, bool onoff) • int al_get_display_option(ALLEGRO_DISPLAY *display, int option) • int al_get_display_format(ALLEGRO_DISPLAY *display) • int al_get_display_refresh_rate(ALLEGRO_DISPLAY *display) • void al_set_window_title(ALLEGRO_DISPLAY *display, const char *title) • void al_set_display_icon(ALLEGRO_DISPLAY *display, ALLEGRO_BITMAP *icon) • void al_set_display_icons(ALLEGRO_DISPLAY *display,int num_icons, ALLEGRO_BITMAP *icons[]) • bool al_inhibit_screensaver(bool inhibit) • void al_acknowledge_drawing_halt(ALLEGRO_DISPLAY *display) • void al_acknowledge_drawing_resume(ALLEGRO_DISPLAY *display) • int al_get_display_orientation(ALLEGRO_DISPLAY* display) • void al_set_display_option(ALLEGRO_DISPLAY *display, int option, int value) • bool al_get_window_constraints(ALLEGRO_DISPLAY *display,int *min_w, int *min_h, int *max_w, int *max_h) • bool al_set_window_constraints(ALLEGRO_DISPLAY *display,int min_w, int min_h, int max_w, int max_h) • ALLEGRO_EVENT_QUEUE *al_create_event_queue(void) • void al_destroy_event_queue(ALLEGRO_EVENT_QUEUE *queue) • void al_register_event_source(ALLEGRO_EVENT_QUEUE *queue,ALLEGRO_EVENT_SOURCE *source) • void al_unregister_event_source(ALLEGRO_EVENT_QUEUE *queue,ALLEGRO_EVENT_SOURCE *source) • bool al_is_event_queue_empty(ALLEGRO_EVENT_QUEUE *queue) 1102
  • 2. Ring Documentation, Release 1.7 • bool al_get_next_event(ALLEGRO_EVENT_QUEUE *queue, ALLEGRO_EVENT *ret_event) • bool al_peek_next_event(ALLEGRO_EVENT_QUEUE *queue, ALLEGRO_EVENT *ret_event) • bool al_drop_next_event(ALLEGRO_EVENT_QUEUE *queue) • void al_flush_event_queue(ALLEGRO_EVENT_QUEUE *queue) • void al_wait_for_event(ALLEGRO_EVENT_QUEUE *queue, ALLEGRO_EVENT *ret_event) • bool al_wait_for_event_timed(ALLEGRO_EVENT_QUEUE *queue,ALLEGRO_EVENT *ret_event, float secs) • bool al_wait_for_event_until(ALLEGRO_EVENT_QUEUE *queue,ALLEGRO_EVENT *ret_event, ALLE- GRO_TIMEOUT *timeout) • void al_init_user_event_source(ALLEGRO_EVENT_SOURCE *src) • void al_destroy_user_event_source(ALLEGRO_EVENT_SOURCE *src) • intptr_t al_get_event_source_data(const ALLEGRO_EVENT_SOURCE *source) • void al_set_event_source_data(ALLEGRO_EVENT_SOURCE *source, intptr_t data) • ALLEGRO_FILE *al_fopen(const char *path, const char *mode) • ALLEGRO_FILE *al_fopen_interface(const ALLEGRO_FILE_INTERFACE *drv,const char *path, const char *mode) • ALLEGRO_FILE *al_fopen_slice(ALLEGRO_FILE *fp, size_t initial_size, const char *mode) • void al_fclose(ALLEGRO_FILE *f) • size_t al_fread(ALLEGRO_FILE *f, void *ptr, size_t size) • size_t al_fwrite(ALLEGRO_FILE *f, const void *ptr, size_t size) • bool al_fflush(ALLEGRO_FILE *f) • int64_t al_ftell(ALLEGRO_FILE *f) • bool al_fseek(ALLEGRO_FILE *f, int64_t offset, int whence) • bool al_feof(ALLEGRO_FILE *f) • bool al_ferror(ALLEGRO_FILE *f) • void al_fclearerr(ALLEGRO_FILE *f) • int al_fungetc(ALLEGRO_FILE *f, int c) • int64_t al_fsize(ALLEGRO_FILE *f) • int al_fgetc(ALLEGRO_FILE *f) • int al_fputc(ALLEGRO_FILE *f, int c) • int16_t al_fread16le(ALLEGRO_FILE *f) • int16_t al_fread16be(ALLEGRO_FILE *f) • size_t al_fwrite16le(ALLEGRO_FILE *f, int16_t w) • size_t al_fwrite16be(ALLEGRO_FILE *f, int16_t w) • int32_t al_fread32le(ALLEGRO_FILE *f) • int32_t al_fread32be(ALLEGRO_FILE *f) • size_t al_fwrite32le(ALLEGRO_FILE *f, int32_t l) 1103
  • 3. Ring Documentation, Release 1.7 • size_t al_fwrite32be(ALLEGRO_FILE *f, int32_t l) • char *al_fgets(ALLEGRO_FILE *f, char * const buf, size_t max) • ALLEGRO_USTR *al_fget_ustr(ALLEGRO_FILE *f) • int al_fputs(ALLEGRO_FILE *f, char const *p) • ALLEGRO_FILE *al_fopen_fd(int fd, const char *mode) • ALLEGRO_FILE *al_make_temp_file(const char *template, ALLEGRO_PATH **ret_path) • void al_set_new_file_interface(const ALLEGRO_FILE_INTERFACE *file_interface • void al_set_standard_file_interface(void) • const ALLEGRO_FILE_INTERFACE *al_get_new_file_interface(void) • ALLEGRO_FILE *al_create_file_handle(const ALLEGRO_FILE_INTERFACE *drv,void *userdata) • void *al_get_file_userdata(ALLEGRO_FILE *f) • ALLEGRO_FS_ENTRY *al_create_fs_entry(const char *path) • void al_destroy_fs_entry(ALLEGRO_FS_ENTRY *fh) • const char *al_get_fs_entry_name(ALLEGRO_FS_ENTRY *e) • bool al_update_fs_entry(ALLEGRO_FS_ENTRY *e) • uint32_t al_get_fs_entry_mode(ALLEGRO_FS_ENTRY *e) • time_t al_get_fs_entry_atime(ALLEGRO_FS_ENTRY *e) • time_t al_get_fs_entry_ctime(ALLEGRO_FS_ENTRY *e) • time_t al_get_fs_entry_mtime(ALLEGRO_FS_ENTRY *e) • off_t al_get_fs_entry_size(ALLEGRO_FS_ENTRY *e) • bool al_fs_entry_exists(ALLEGRO_FS_ENTRY *e) • bool al_remove_fs_entry(ALLEGRO_FS_ENTRY *e) • bool al_filename_exists(const char *path) • bool al_remove_filename(const char *path) • bool al_open_directory(ALLEGRO_FS_ENTRY *e) • ALLEGRO_FS_ENTRY *al_read_directory(ALLEGRO_FS_ENTRY *e) • bool al_close_directory(ALLEGRO_FS_ENTRY *e) • char *al_get_current_directory(void) • bool al_change_directory(const char *path) • bool al_make_directory(const char *path) • ALLEGRO_FILE *al_open_fs_entry(ALLEGRO_FS_ENTRY *e, const char *mode) • void al_set_fs_interface(const ALLEGRO_FS_INTERFACE *fs_interface) • void al_set_standard_fs_interface(void) • const ALLEGRO_FS_INTERFACE *al_get_fs_interface(void) • al_fixed al_itofix(int x); • int al_fixtoi(al_fixed x); 1104
  • 4. Ring Documentation, Release 1.7 • int al_fixfloor(al_fixed x); • int al_fixceil(al_fixed x); • al_fixed al_ftofix(double x); • double al_fixtof(al_fixed x); • al_fixed al_fixmul(al_fixed x, al_fixed y); • al_fixed al_fixdiv(al_fixed x, al_fixed y); • al_fixed al_fixadd(al_fixed x, al_fixed y); • al_fixed al_fixsub(al_fixed x, al_fixed y); • al_fixed al_fixsin(al_fixed x); • al_fixed al_fixcos(al_fixed x); • al_fixed al_fixtan(al_fixed x); • al_fixed al_fixasin(al_fixed x); • al_fixed al_fixacos(al_fixed x); • al_fixed al_fixatan(al_fixed x) • al_fixed al_fixatan2(al_fixed y, al_fixed x) • al_fixed al_fixsqrt(al_fixed x) • al_fixed al_fixhypot(al_fixed x, al_fixed y) • ALLEGRO_DISPLAY_MODE *al_get_display_mode(int index, ALLEGRO_DISPLAY_MODE *mode) • int al_get_num_display_modes(void) • ALLEGRO_COLOR al_map_rgb(unsigned char r, unsigned char g, unsigned char b) • ALLEGRO_COLOR al_map_rgb_f(float r, float g, float b) • ALLEGRO_COLOR al_map_rgba(unsigned char r, unsigned char g, unsigned char b, unsigned char a) • ALLEGRO_COLOR al_map_rgba_f(float r, float g, float b, float a) • void al_unmap_rgb(ALLEGRO_COLOR color,unsigned char *r, unsigned char *g, unsigned char *b) • void al_unmap_rgb_f(ALLEGRO_COLOR color, float *r, float *g, float *b) • void al_unmap_rgba(ALLEGRO_COLOR color,unsigned char *r, unsigned char *g, unsigned char *b, unsigned char *a) • void al_unmap_rgba_f(ALLEGRO_COLOR color,float *r, float *g, float *b, float *a) • int al_get_pixel_size(int format) • int al_get_pixel_format_bits(int format) • ALLEGRO_LOCKED_REGION *al_lock_bitmap(ALLEGRO_BITMAP *bitmap,int format, int flags) • ALLEGRO_LOCKED_REGION *al_lock_bitmap_region(ALLEGRO_BITMAP *bitmap,int x, int y, int width, int height, int format, int flags) • void al_unlock_bitmap(ALLEGRO_BITMAP *bitmap) • ALLEGRO_BITMAP *al_create_bitmap(int w, int h) • ALLEGRO_BITMAP *al_create_sub_bitmap(ALLEGRO_BITMAP *parent,int x, int y, int w, int h) • ALLEGRO_BITMAP *al_clone_bitmap(ALLEGRO_BITMAP *bitmap) 1105
  • 5. Ring Documentation, Release 1.7 • void al_destroy_bitmap(ALLEGRO_BITMAP *bitmap) • int al_get_new_bitmap_flags(void) • int al_get_new_bitmap_format(void) • void al_set_new_bitmap_flags(int flags) • void al_add_new_bitmap_flag(int flag) • void al_set_new_bitmap_format(int format) • int al_get_bitmap_flags(ALLEGRO_BITMAP *bitmap) • int al_get_bitmap_format(ALLEGRO_BITMAP *bitmap) • int al_get_bitmap_height(ALLEGRO_BITMAP *bitmap) • int al_get_bitmap_width(ALLEGRO_BITMAP *bitmap) • ALLEGRO_COLOR al_get_pixel(ALLEGRO_BITMAP *bitmap, int x, int y) • bool al_is_bitmap_locked(ALLEGRO_BITMAP *bitmap) • bool al_is_compatible_bitmap(ALLEGRO_BITMAP *bitmap) • bool al_is_sub_bitmap(ALLEGRO_BITMAP *bitmap) • ALLEGRO_BITMAP *al_get_parent_bitmap(ALLEGRO_BITMAP *bitmap) • void al_clear_to_color(ALLEGRO_COLOR color) • void al_draw_bitmap(ALLEGRO_BITMAP *bitmap, float dx, float dy, int flags) • void al_draw_tinted_bitmap(ALLEGRO_BITMAP *bitmap, ALLEGRO_COLOR tint,float dx, float dy, int flags) • void al_draw_bitmap_region(ALLEGRO_BITMAP *bitmap,float sx, float sy, float sw, float sh, float dx, float dy, int flags) • void al_draw_tinted_bitmap_region(ALLEGRO_BITMAP *bitmap,ALLEGRO_COLOR tint,float sx, float sy, float sw, float sh, float dx, float dy,int flags) • void al_draw_pixel(float x, float y, ALLEGRO_COLOR color) • void al_draw_rotated_bitmap(ALLEGRO_BITMAP *bitmap,float cx, float cy, float dx, float dy, float angle, int flags) • void al_draw_tinted_rotated_bitmap(ALLEGRO_BITMAP *bitmap,ALLEGRO_COLOR tint,float cx, float cy, float dx, float dy, float angle, int flags) • void al_draw_scaled_rotated_bitmap(ALLEGRO_BITMAP *bitmap,float cx, float cy, float dx, float dy, float xscale, float yscale,float angle, int flags) • void al_draw_tinted_scaled_rotated_bitmap(ALLEGRO_BITMAP *bitmap,ALLEGRO_COLOR tint,float cx, float cy, float dx, float dy, float xscale, float yscale,float angle, int flags) • void al_draw_tinted_scaled_rotated_bitmap_region(ALLEGRO_BITMAP *bitmap,float sx, float sy, float sw, float sh,ALLEGRO_COLOR tint,float cx, float cy, float dx, float dy, float xscale, float yscale,float angle, int flags) • void al_draw_scaled_bitmap(ALLEGRO_BITMAP *bitmap,float sx, float sy, float sw, float sh,float dx, float dy, float dw, float dh, int flags) • void al_draw_tinted_scaled_bitmap(ALLEGRO_BITMAP *bitmap,ALLEGRO_COLOR tint,float sx, float sy, float sw, float sh,float dx, float dy, float dw, float dh, int flags) • ALLEGRO_BITMAP *al_get_target_bitmap(void) 1106
  • 6. Ring Documentation, Release 1.7 • void al_put_pixel(int x, int y, ALLEGRO_COLOR color) • void al_put_blended_pixel(int x, int y, ALLEGRO_COLOR color) • void al_set_target_bitmap(ALLEGRO_BITMAP *bitmap) • void al_set_target_backbuffer(ALLEGRO_DISPLAY *display) • ALLEGRO_DISPLAY *al_get_current_display(void) • void al_get_blender(int *op, int *src, int *dst) • void al_get_separate_blender(int *op, int *src, int *dst,int *alpha_op, int *alpha_src, int *alpha_dst) • void al_set_blender(int op, int src, int dst) • void al_set_separate_blender(int op, int src, int dst,int alpha_op, int alpha_src, int alpha_dst) • void al_get_clipping_rectangle(int *x, int *y, int *w, int *h) • void al_set_clipping_rectangle(int x, int y, int width, int height) • void al_reset_clipping_rectangle(void) • void al_convert_mask_to_alpha(ALLEGRO_BITMAP *bitmap, ALLEGRO_COLOR mask_color) • void al_hold_bitmap_drawing(bool hold) • bool al_is_bitmap_drawing_held(void) • ALLEGRO_BITMAP *al_load_bitmap_f(ALLEGRO_FILE *fp, const char *ident) • bool al_save_bitmap(const char *filename, ALLEGRO_BITMAP *bitmap) • bool al_save_bitmap_f(ALLEGRO_FILE *fp, const char *ident,ALLEGRO_BITMAP *bitmap) • bool al_install_joystick(void) • void al_uninstall_joystick(void) • bool al_is_joystick_installed(void) • bool al_reconfigure_joysticks(void) • int al_get_num_joysticks(void) • ALLEGRO_JOYSTICK * al_get_joystick(int num) • void al_release_joystick(ALLEGRO_JOYSTICK *joy) • bool al_get_joystick_active(ALLEGRO_JOYSTICK *joy) • const char *al_get_joystick_name(ALLEGRO_JOYSTICK *joy) • const char *al_get_joystick_stick_name(ALLEGRO_JOYSTICK *joy, int stick) • const char *al_get_joystick_axis_name(ALLEGRO_JOYSTICK *joy, int stick, int axis) • const char *al_get_joystick_button_name(ALLEGRO_JOYSTICK *joy, int button) • int al_get_joystick_stick_flags(ALLEGRO_JOYSTICK *joy, int stick) • int al_get_joystick_num_sticks(ALLEGRO_JOYSTICK *joy) • int al_get_joystick_num_axes(ALLEGRO_JOYSTICK *joy, int stick) • int al_get_joystick_num_buttons(ALLEGRO_JOYSTICK *joy) • void al_get_joystick_state(ALLEGRO_JOYSTICK *joy, ALLEGRO_JOYSTICK_STATE *ret_state) • ALLEGRO_EVENT_SOURCE *al_get_joystick_event_source(void) 1107
  • 7. Ring Documentation, Release 1.7 • bool al_install_keyboard(void) • bool al_is_keyboard_installed(void) • void al_uninstall_keyboard(void) • void al_get_keyboard_state(ALLEGRO_KEYBOARD_STATE *ret_state) • bool al_key_down(const ALLEGRO_KEYBOARD_STATE *state, int keycode) • const char *al_keycode_to_name(int keycode) • bool al_set_keyboard_leds(int leds) • ALLEGRO_EVENT_SOURCE *al_get_keyboard_event_source(void) • void *al_malloc_with_context(size_t n,int line, const char *file, const char *func) • void al_free_with_context(void *ptr, int line, const char *file, const char *func) • void *al_realloc_with_context(void *ptr, size_t n,int line, const char *file, const char *func) • void *al_calloc_with_context(size_t count, size_t n,int line, const char *file, const char *func) • void al_set_memory_interface(ALLEGRO_MEMORY_INTERFACE *memory_interface) • int al_get_new_display_adapter(void) • void al_set_new_display_adapter(int adapter) • bool al_get_monitor_info(int adapter, ALLEGRO_MONITOR_INFO *info) • int al_get_num_video_adapters(void) • bool al_install_mouse(void) • bool al_is_mouse_installed(void) • void al_uninstall_mouse(void) • unsigned int al_get_mouse_num_axes(void) • unsigned int al_get_mouse_num_buttons(void) • void al_get_mouse_state(ALLEGRO_MOUSE_STATE *ret_state) • int al_get_mouse_state_axis(const ALLEGRO_MOUSE_STATE *state, int axis) • bool al_mouse_button_down(const ALLEGRO_MOUSE_STATE *state, int button) • 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 which, int value) • ALLEGRO_EVENT_SOURCE *al_get_mouse_event_source(void) • ALLEGRO_MOUSE_CURSOR *al_create_mouse_cursor(ALLEGRO_BITMAP *bmp,int x_focus, int y_focus) • void al_destroy_mouse_cursor(ALLEGRO_MOUSE_CURSOR *cursor) • bool al_set_mouse_cursor(ALLEGRO_DISPLAY *display, ALLEGRO_MOUSE_CURSOR *cursor) • bool al_set_system_mouse_cursor(ALLEGRO_DISPLAY *display,ALLEGRO_SYSTEM_MOUSE_CURSOR cursor_id) • bool al_get_mouse_cursor_position(int *ret_x, int *ret_y) 1108
  • 8. Ring Documentation, Release 1.7 • bool al_hide_mouse_cursor(ALLEGRO_DISPLAY *display) • bool al_show_mouse_cursor(ALLEGRO_DISPLAY *display) • bool al_grab_mouse(ALLEGRO_DISPLAY *display) • bool al_ungrab_mouse(void) • ALLEGRO_PATH *al_create_path(const char *str) • ALLEGRO_PATH *al_create_path_for_directory(const char *str) • void al_destroy_path(ALLEGRO_PATH *path) • ALLEGRO_PATH *al_clone_path(const ALLEGRO_PATH *path) • bool al_join_paths(ALLEGRO_PATH *path, const ALLEGRO_PATH *tail) • bool al_rebase_path(const ALLEGRO_PATH *head, ALLEGRO_PATH *tail) • const char *al_get_path_drive(const ALLEGRO_PATH *path) • int al_get_path_num_components(const ALLEGRO_PATH *path) • const char *al_get_path_component(const ALLEGRO_PATH *path, int i) • const char *al_get_path_tail(const ALLEGRO_PATH *path) • const char *al_get_path_filename(const ALLEGRO_PATH *path) • const char *al_get_path_basename(const ALLEGRO_PATH *path) • const char *al_get_path_extension(const ALLEGRO_PATH *path) • void al_set_path_drive(ALLEGRO_PATH *path, const char *drive) • void al_append_path_component(ALLEGRO_PATH *path, const char *s) • void al_insert_path_component(ALLEGRO_PATH *path, int i, const char *s) • void al_replace_path_component(ALLEGRO_PATH *path, int i, const char *s) • void al_remove_path_component(ALLEGRO_PATH *path, int i) • void al_drop_path_tail(ALLEGRO_PATH *path) • void al_set_path_filename(ALLEGRO_PATH *path, const char *filename) • bool al_set_path_extension(ALLEGRO_PATH *path, char const *extension) • const char *al_path_cstr(const ALLEGRO_PATH *path, char delim) • bool al_make_path_canonical(ALLEGRO_PATH *path) • void al_restore_state(ALLEGRO_STATE const *state) • void al_store_state(ALLEGRO_STATE *state, int flags • int al_get_errno(void) • void al_set_errno(int errnum) • void al_uninstall_system(void) • bool al_is_system_installed(void) • uint32_t al_get_allegro_version(void) • ALLEGRO_PATH *al_get_standard_path(int id) • void al_set_exe_name(char const *path) 1109
  • 9. Ring Documentation, Release 1.7 • void al_set_app_name(const char *app_name) • void al_set_org_name(const char *org_name) • const char *al_get_app_name(void) • const char *al_get_org_name(void) • ALLEGRO_CONFIG *al_get_system_config(void) • ALLEGRO_THREAD *al_create_thread(void) • void al_run_detached_thread(void) • void al_start_thread(ALLEGRO_THREAD *thread) • void al_join_thread(ALLEGRO_THREAD *thread, void **ret_value) • void al_set_thread_should_stop(ALLEGRO_THREAD *thread) • bool al_get_thread_should_stop(ALLEGRO_THREAD *thread) • void al_destroy_thread(ALLEGRO_THREAD *thread) • ALLEGRO_MUTEX *al_create_mutex(void) • ALLEGRO_MUTEX *al_create_mutex_recursive(void) • void al_lock_mutex(ALLEGRO_MUTEX *mutex) • void al_unlock_mutex(ALLEGRO_MUTEX *mutex) • void al_destroy_mutex(ALLEGRO_MUTEX *mutex) • ALLEGRO_COND *al_create_cond(void) • void al_destroy_cond(ALLEGRO_COND *cond) • void al_wait_cond(ALLEGRO_COND *cond, ALLEGRO_MUTEX *mutex) • int al_wait_cond_until(ALLEGRO_COND *cond, ALLEGRO_MUTEX *mutex,const ALLEGRO_TIMEOUT *timeout) • void al_broadcast_cond(ALLEGRO_COND *cond) • void al_signal_cond(ALLEGRO_COND *cond) • double al_get_time(void) • void al_init_timeout(ALLEGRO_TIMEOUT *timeout, double seconds) • void al_rest(double seconds) • ALLEGRO_TIMER *al_create_timer(double speed_secs) • void al_start_timer(ALLEGRO_TIMER *timer) • void al_stop_timer(ALLEGRO_TIMER *timer) • bool al_get_timer_started(const ALLEGRO_TIMER *timer) • void al_destroy_timer(ALLEGRO_TIMER *timer) • int64_t al_get_timer_count(const ALLEGRO_TIMER *timer) • void al_set_timer_count(ALLEGRO_TIMER *timer, int64_t new_count) • void al_add_timer_count(ALLEGRO_TIMER *timer, int64_t diff) • double al_get_timer_speed(const ALLEGRO_TIMER *timer) 1110
  • 10. Ring Documentation, Release 1.7 • void al_set_timer_speed(ALLEGRO_TIMER *timer, double new_speed_secs) • ALLEGRO_EVENT_SOURCE *al_get_timer_event_source(ALLEGRO_TIMER *timer) • void al_copy_transform(ALLEGRO_TRANSFORM *dest, const ALLEGRO_TRANSFORM *src) • void al_use_transform(const ALLEGRO_TRANSFORM *trans) • const ALLEGRO_TRANSFORM *al_get_current_transform(void) • void al_invert_transform(ALLEGRO_TRANSFORM *trans) • int al_check_inverse(const ALLEGRO_TRANSFORM *trans, float tol) • void al_identity_transform(ALLEGRO_TRANSFORM *trans) • void al_build_transform(ALLEGRO_TRANSFORM *trans, float x, float y,float sx, float sy, float theta) • void al_translate_transform(ALLEGRO_TRANSFORM *trans, float x, float y) • void al_rotate_transform(ALLEGRO_TRANSFORM *trans, float theta) • void al_scale_transform(ALLEGRO_TRANSFORM *trans, float sx, float sy) • void al_transform_coordinates(const ALLEGRO_TRANSFORM *trans, float *x, float *y) • void al_compose_transform(ALLEGRO_TRANSFORM *trans, const ALLEGRO_TRANSFORM *other) • ALLEGRO_USTR *al_ustr_new(const char *s) • ALLEGRO_USTR *al_ustr_new_from_buffer(const char *s, size_t size) • void al_ustr_free(ALLEGRO_USTR *us) • const char *al_cstr(const ALLEGRO_USTR *us) • void al_ustr_to_buffer(const ALLEGRO_USTR *us, char *buffer, int size) • char *al_cstr_dup(const ALLEGRO_USTR *us) • ALLEGRO_USTR *al_ustr_dup(const ALLEGRO_USTR *us) • ALLEGRO_USTR *al_ustr_dup_substr(const ALLEGRO_USTR *us, int start_pos,int end_pos) • const ALLEGRO_USTR *al_ustr_empty_string(void) • const ALLEGRO_USTR *al_ref_cstr(ALLEGRO_USTR_INFO *info, const char *s) • const ALLEGRO_USTR *al_ref_buffer(ALLEGRO_USTR_INFO *info, const char *s, size_t size) • const ALLEGRO_USTR *al_ref_ustr(ALLEGRO_USTR_INFO *info, const ALLEGRO_USTR *us,int start_pos, int end_pos) • size_t al_ustr_size(const ALLEGRO_USTR *us) • size_t al_ustr_length(const ALLEGRO_USTR *us) • int al_ustr_offset(const ALLEGRO_USTR *us, int index) • bool al_ustr_next(const ALLEGRO_USTR *us, int *pos) • bool al_ustr_prev(const ALLEGRO_USTR *us, int *pos) • int32_t al_ustr_get(const ALLEGRO_USTR *ub, int pos) • int32_t al_ustr_get_next(const ALLEGRO_USTR *us, int *pos) • int32_t al_ustr_prev_get(const ALLEGRO_USTR *us, int *pos) • bool al_ustr_insert(ALLEGRO_USTR *us1, int pos, const ALLEGRO_USTR *us2) 1111