SlideShare a Scribd company logo
Ring Documentation, Release 1.7
• bool al_ustr_insert_cstr(ALLEGRO_USTR *us, int pos, const char *s)
• size_t al_ustr_insert_chr(ALLEGRO_USTR *us, int pos, int32_t c)
• bool al_ustr_append(ALLEGRO_USTR *us1, const ALLEGRO_USTR *us2)
• bool al_ustr_append_cstr(ALLEGRO_USTR *us, const char *s)
• size_t al_ustr_append_chr(ALLEGRO_USTR *us, int32_t c)
• bool al_ustr_remove_chr(ALLEGRO_USTR *us, int pos)
• bool al_ustr_remove_range(ALLEGRO_USTR *us, int start_pos, int end_pos)
• bool al_ustr_truncate(ALLEGRO_USTR *us, int start_pos)
• bool al_ustr_ltrim_ws(ALLEGRO_USTR *us)
• bool al_ustr_rtrim_ws(ALLEGRO_USTR *us)
• bool al_ustr_trim_ws(ALLEGRO_USTR *us)
• bool al_ustr_assign(ALLEGRO_USTR *us1, const ALLEGRO_USTR *us2)
• bool al_ustr_assign_substr(ALLEGRO_USTR *us1, const ALLEGRO_USTR *us2,int start_pos, int end_pos)
• bool al_ustr_assign_cstr(ALLEGRO_USTR *us1, const char *s)
• size_t al_ustr_set_chr(ALLEGRO_USTR *us, int start_pos, int32_t c)
• bool al_ustr_replace_range(ALLEGRO_USTR *us1, int start_pos1, int end_pos1,const ALLEGRO_USTR
*us2)
• int al_ustr_find_chr(const ALLEGRO_USTR *us, int start_pos, int32_t c)
• int al_ustr_rfind_chr(const ALLEGRO_USTR *us, int end_pos, int32_t c)
• int al_ustr_find_set(const ALLEGRO_USTR *us, int start_pos,const ALLEGRO_USTR *accept)
• int al_ustr_find_set_cstr(const ALLEGRO_USTR *us, int start_pos,const char *accept)
• int al_ustr_find_cset(const ALLEGRO_USTR *us, int start_pos,const ALLEGRO_USTR *reject)
• int al_ustr_find_cset_cstr(const ALLEGRO_USTR *us, int start_pos,const char *reject)
• int al_ustr_find_str(const ALLEGRO_USTR *haystack, int start_pos,const ALLEGRO_USTR *needle)
• int al_ustr_find_cstr(const ALLEGRO_USTR *haystack, int start_pos,const char *needle)
• int al_ustr_rfind_str(const ALLEGRO_USTR *haystack, int end_pos,const ALLEGRO_USTR *needle)
• int al_ustr_rfind_cstr(const ALLEGRO_USTR *haystack, int end_pos,const char *needle)
• bool al_ustr_find_replace(ALLEGRO_USTR *us, int start_pos,const ALLEGRO_USTR *find, const ALLE-
GRO_USTR *replace)
• bool al_ustr_find_replace_cstr(ALLEGRO_USTR *us, int start_pos,const char *find, const char *replace)
• int al_ustr_compare(const ALLEGRO_USTR *us1, const ALLEGRO_USTR *us2)
• int al_ustr_ncompare(const ALLEGRO_USTR *us1, const ALLEGRO_USTR *us2, int n)
• bool al_ustr_equal(const ALLEGRO_USTR *us1, const ALLEGRO_USTR *us2)
• bool al_ustr_has_prefix(const ALLEGRO_USTR *us1, const ALLEGRO_USTR *us2)
• bool al_ustr_has_prefix_cstr(const ALLEGRO_USTR *us1, const char *s2)
• bool al_ustr_has_suffix(const ALLEGRO_USTR *us1, const ALLEGRO_USTR *us2)
• bool al_ustr_has_suffix_cstr(const ALLEGRO_USTR *us1, const char *s2)
1112
Ring Documentation, Release 1.7
• ALLEGRO_USTR *al_ustr_new_from_utf16(uint16_t const *s)
• size_t al_ustr_size_utf16(const ALLEGRO_USTR *us)
• size_t al_ustr_encode_utf16(const ALLEGRO_USTR *us, uint16_t *s,size_t n)
• size_t al_utf8_width(int c)
• size_t al_utf8_encode(char s[], int32_t c)
• size_t al_utf16_width(int c)
• LPDIRECT3DDEVICE9 al_get_d3d_device(ALLEGRO_DISPLAY *display)
• LPDIRECT3DTEXTURE9 al_get_d3d_system_texture(ALLEGRO_BITMAP *bitmap)
• LPDIRECT3DTEXTURE9 al_get_d3d_video_texture(ALLEGRO_BITMAP *bitmap)
• bool al_have_d3d_non_pow2_texture_support(void)
• bool al_have_d3d_non_square_texture_support(void)
• void al_get_d3d_texture_position(ALLEGRO_BITMAP *bitmap, int *u, int *v)
• bool al_is_d3d_device_lost(ALLEGRO_DISPLAY *display)
• ALLEGRO_OGL_EXT_LIST *al_get_opengl_extension_list(void)
• void *al_get_opengl_proc_address(const char *name)
• GLuint al_get_opengl_texture(ALLEGRO_BITMAP *bitmap)
• void al_get_opengl_texture_size(ALLEGRO_BITMAP *bitmap, int *w, int *h)
• void al_get_opengl_texture_position(ALLEGRO_BITMAP *bitmap, int *u, int *v)
• GLuint al_get_opengl_fbo(ALLEGRO_BITMAP *bitmap)
• void al_remove_opengl_fbo(ALLEGRO_BITMAP *bitmap)
• bool al_have_opengl_extension(const char *extension);
• uint32_t al_get_opengl_version(void)
• int al_get_opengl_variant(void)
• void al_set_current_opengl_context(ALLEGRO_DISPLAY *display)
• bool al_install_audio(void)
• void al_uninstall_audio(void)
• bool al_is_audio_installed(void)
• bool al_reserve_samples(int reserve_samples)
• uint32_t al_get_allegro_audio_version(void)
• size_t al_get_audio_depth_size(ALLEGRO_AUDIO_DEPTH depth)
• size_t al_get_channel_count(ALLEGRO_CHANNEL_CONF conf)
• ALLEGRO_VOICE *al_create_voice(unsigned int freq,ALLEGRO_AUDIO_DEPTH depth, ALLE-
GRO_CHANNEL_CONF chan_conf)
• void al_destroy_voice(ALLEGRO_VOICE *voice)
• void al_detach_voice(ALLEGRO_VOICE *voice)
• bool al_attach_audio_stream_to_voice(ALLEGRO_AUDIO_STREAM *stream,ALLEGRO_VOICE *voice)
1113
Ring Documentation, Release 1.7
• bool al_attach_mixer_to_voice(ALLEGRO_MIXER *mixer, ALLEGRO_VOICE *voice)
• bool al_attach_sample_instance_to_voice(ALLEGRO_SAMPLE_INSTANCE *spl,ALLEGRO_VOICE
*voice)
• unsigned int al_get_voice_frequency(const ALLEGRO_VOICE *voice)
• ALLEGRO_CHANNEL_CONF al_get_voice_channels(const ALLEGRO_VOICE *voice)
• ALLEGRO_AUDIO_DEPTH al_get_voice_depth(const ALLEGRO_VOICE *voice)
• bool al_get_voice_playing(const ALLEGRO_VOICE *voice)
• bool al_set_voice_playing(ALLEGRO_VOICE *voice, bool val)
• unsigned int al_get_voice_position(const ALLEGRO_VOICE *voice)
• bool al_set_voice_position(ALLEGRO_VOICE *voice, unsigned int val)
• ALLEGRO_SAMPLE *al_create_sample(void *buf, unsigned int samples,unsigned int freq, ALLE-
GRO_AUDIO_DEPTH depth,ALLEGRO_CHANNEL_CONF chan_conf, bool free_buf)
• void al_destroy_sample(ALLEGRO_SAMPLE *spl)
• bool al_play_sample(ALLEGRO_SAMPLE *spl, float gain, float pan, float speed,int loop, ALLE-
GRO_SAMPLE_ID *ret_id)
• void al_stop_sample(ALLEGRO_SAMPLE_ID *spl_id)
• void al_stop_samples(void)
• ALLEGRO_CHANNEL_CONF al_get_sample_channels(const ALLEGRO_SAMPLE *spl)
• ALLEGRO_AUDIO_DEPTH al_get_sample_depth(const ALLEGRO_SAMPLE *spl)
• unsigned int al_get_sample_frequency(const ALLEGRO_SAMPLE *spl)
• unsigned int al_get_sample_length(const ALLEGRO_SAMPLE *spl)
• void *al_get_sample_data(const ALLEGRO_SAMPLE *spl)
• ALLEGRO_SAMPLE_INSTANCE *al_create_sample_instance(ALLEGRO_SAMPLE *sample_data)
• void al_destroy_sample_instance(ALLEGRO_SAMPLE_INSTANCE *spl)
• bool al_play_sample_instance(ALLEGRO_SAMPLE_INSTANCE *spl)
• bool al_stop_sample_instance(ALLEGRO_SAMPLE_INSTANCE *spl)
• ALLEGRO_CHANNEL_CONF al_get_sample_instance_channels(const ALLEGRO_SAMPLE_INSTANCE
*spl)
• ALLEGRO_AUDIO_DEPTH al_get_sample_instance_depth(const ALLEGRO_SAMPLE_INSTANCE *spl)
• unsigned int al_get_sample_instance_frequency(const ALLEGRO_SAMPLE_INSTANCE *spl)
• unsigned int al_get_sample_instance_length(const ALLEGRO_SAMPLE_INSTANCE *spl)
• bool al_set_sample_instance_length(ALLEGRO_SAMPLE_INSTANCE *spl,unsigned int val)
• unsigned int al_get_sample_instance_position(const ALLEGRO_SAMPLE_INSTANCE *spl)
• bool al_set_sample_instance_position(ALLEGRO_SAMPLE_INSTANCE *spl,unsigned int val)
• float al_get_sample_instance_speed(const ALLEGRO_SAMPLE_INSTANCE *spl)
• bool al_set_sample_instance_speed(ALLEGRO_SAMPLE_INSTANCE *spl, float val)
• float al_get_sample_instance_gain(const ALLEGRO_SAMPLE_INSTANCE *spl)
1114
Ring Documentation, Release 1.7
• bool al_set_sample_instance_gain(ALLEGRO_SAMPLE_INSTANCE *spl, float val)
• float al_get_sample_instance_pan(const ALLEGRO_SAMPLE_INSTANCE *spl)
• bool al_set_sample_instance_pan(ALLEGRO_SAMPLE_INSTANCE *spl, float val)
• float al_get_sample_instance_time(const ALLEGRO_SAMPLE_INSTANCE *spl)
• ALLEGRO_PLAYMODE al_get_sample_instance_playmode(const ALLEGRO_SAMPLE_INSTANCE *spl)
• bool al_set_sample_instance_playmode(ALLEGRO_SAMPLE_INSTANCE *spl,ALLEGRO_PLAYMODE
val)
• bool al_get_sample_instance_playing(const ALLEGRO_SAMPLE_INSTANCE *spl)
• bool al_set_sample_instance_playing(ALLEGRO_SAMPLE_INSTANCE *spl, bool val)
• bool al_get_sample_instance_attached(const ALLEGRO_SAMPLE_INSTANCE *spl)
• bool al_detach_sample_instance(ALLEGRO_SAMPLE_INSTANCE *spl)
• ALLEGRO_SAMPLE *al_get_sample(ALLEGRO_SAMPLE_INSTANCE *spl)
• bool al_set_sample(ALLEGRO_SAMPLE_INSTANCE *spl, ALLEGRO_SAMPLE *data)
• ALLEGRO_MIXER *al_create_mixer(unsigned int freq,ALLEGRO_AUDIO_DEPTH depth, ALLE-
GRO_CHANNEL_CONF chan_conf)
• void al_destroy_mixer(ALLEGRO_MIXER *mixer)
• ALLEGRO_MIXER *al_get_default_mixer(void)
• bool al_set_default_mixer(ALLEGRO_MIXER *mixer)
• bool al_restore_default_mixer(void)
• bool al_attach_mixer_to_mixer(ALLEGRO_MIXER *stream, ALLEGRO_MIXER *mixer)
• bool al_attach_sample_instance_to_mixer(ALLEGRO_SAMPLE_INSTANCE *spl,ALLEGRO_MIXER
*mixer)
• bool al_attach_audio_stream_to_mixer(ALLEGRO_AUDIO_STREAM *stream, ALLEGRO_MIXER *mixer)
• unsigned int al_get_mixer_frequency(const ALLEGRO_MIXER *mixer)
• bool al_set_mixer_frequency(ALLEGRO_MIXER *mixer, unsigned int val)
• ALLEGRO_CHANNEL_CONF al_get_mixer_channels(const ALLEGRO_MIXER *mixer)
• ALLEGRO_AUDIO_DEPTH al_get_mixer_depth(const ALLEGRO_MIXER *mixer)
• float al_get_mixer_gain(const ALLEGRO_MIXER *mixer)
• bool al_set_mixer_gain(ALLEGRO_MIXER *mixer, float new_gain)
• ALLEGRO_MIXER_QUALITY al_get_mixer_quality(const ALLEGRO_MIXER *mixer)
• bool al_set_mixer_quality(ALLEGRO_MIXER *mixer, ALLEGRO_MIXER_QUALITY new_quality)
• bool al_get_mixer_playing(const ALLEGRO_MIXER *mixer)
• bool al_set_mixer_playing(ALLEGRO_MIXER *mixer, bool val)
• bool al_get_mixer_attached(const ALLEGRO_MIXER *mixer)
• bool al_detach_mixer(ALLEGRO_MIXER *mixer)
• void al_destroy_audio_stream(ALLEGRO_AUDIO_STREAM *stream)
1115
Ring Documentation, Release 1.7
• ALLEGRO_EVENT_SOURCE *al_get_audio_stream_event_source(ALLEGRO_AUDIO_STREAM
*stream)
• void al_drain_audio_stream(ALLEGRO_AUDIO_STREAM *stream)
• bool al_rewind_audio_stream(ALLEGRO_AUDIO_STREAM *stream)
• unsigned int al_get_audio_stream_frequency(const ALLEGRO_AUDIO_STREAM *stream)
• ALLEGRO_CHANNEL_CONF al_get_audio_stream_channels(const ALLEGRO_AUDIO_STREAM
*stream)
• ALLEGRO_AUDIO_DEPTH al_get_audio_stream_depth(const ALLEGRO_AUDIO_STREAM *stream)
• unsigned int al_get_audio_stream_length(const ALLEGRO_AUDIO_STREAM *stream)
• float al_get_audio_stream_speed(const ALLEGRO_AUDIO_STREAM *stream)
• bool al_set_audio_stream_speed(ALLEGRO_AUDIO_STREAM *stream, float val)
• float al_get_audio_stream_gain(const ALLEGRO_AUDIO_STREAM *stream)
• bool al_set_audio_stream_gain(ALLEGRO_AUDIO_STREAM *stream, float val)
• float al_get_audio_stream_pan(const ALLEGRO_AUDIO_STREAM *stream)
• bool al_set_audio_stream_pan(ALLEGRO_AUDIO_STREAM *stream, float val)
• bool al_get_audio_stream_playing(const ALLEGRO_AUDIO_STREAM *stream)
• bool al_set_audio_stream_playing(ALLEGRO_AUDIO_STREAM *stream, bool val)
• ALLEGRO_PLAYMODE al_get_audio_stream_playmode(const ALLEGRO_AUDIO_STREAM *stream)
• bool al_set_audio_stream_playmode(ALLEGRO_AUDIO_STREAM *stream,ALLEGRO_PLAYMODE val)
• bool al_get_audio_stream_attached(const ALLEGRO_AUDIO_STREAM *stream)
• bool al_detach_audio_stream(ALLEGRO_AUDIO_STREAM *stream)
• void *al_get_audio_stream_fragment(const ALLEGRO_AUDIO_STREAM *stream)
• bool al_set_audio_stream_fragment(ALLEGRO_AUDIO_STREAM *stream, void *val)
• unsigned int al_get_audio_stream_fragments(const ALLEGRO_AUDIO_STREAM *stream)
• unsigned int al_get_available_audio_stream_fragments(const ALLEGRO_AUDIO_STREAM *stream)
• bool al_seek_audio_stream_secs(ALLEGRO_AUDIO_STREAM *stream, double time)
• double al_get_audio_stream_position_secs(ALLEGRO_AUDIO_STREAM *stream)
• double al_get_audio_stream_length_secs(ALLEGRO_AUDIO_STREAM *stream)
• bool al_set_audio_stream_loop_secs(ALLEGRO_AUDIO_STREAM *stream,double start, double end)
• ALLEGRO_SAMPLE *al_load_sample(const char *filename)
• ALLEGRO_SAMPLE al_load_sample_f(ALLEGRO_FILE fp, const char *ident)
• ALLEGRO_AUDIO_STREAM *al_load_audio_stream(const char *filename,size_t buffer_count, unsigned int
samples)
• ALLEGRO_AUDIO_STREAM al_load_audio_stream_f(ALLEGRO_FILE fp, const char *ident,size_t
buffer_count, unsigned int samples)
• bool al_save_sample(const char *filename, ALLEGRO_SAMPLE *spl)
• bool al_save_sample_f(ALLEGRO_FILE *fp, const char *ident, ALLEGRO_SAMPLE *spl)
1116
Ring Documentation, Release 1.7
• bool al_init_acodec_addon(void)
• uint32_t al_get_allegro_acodec_version(void)
• ALLEGRO_COLOR al_color_cmyk(float c, float m, float y, float k)
• void al_color_cmyk_to_rgb(float cyan, float magenta, float yellow,float key, float *red, float *green, float *blue)
• ALLEGRO_COLOR al_color_hsl(float h, float s, float l)
• void al_color_hsl_to_rgb(float hue, float saturation, float lightness,float *red, float *green, float *blue)
• ALLEGRO_COLOR al_color_hsv(float h, float s, float v)
• void al_color_hsv_to_rgb(float hue, float saturation, float value,float *red, float *green, float *blue)
• ALLEGRO_COLOR al_color_html(char const *string)
• void al_color_html_to_rgb(char const *string,float *red, float *green, float *blue)
• void al_color_rgb_to_html(float red, float green, float blue,char *string)
• ALLEGRO_COLOR al_color_name(char const *name)
• bool al_color_name_to_rgb(char const *name, float *r, float *g, float *b)
• void al_color_rgb_to_cmyk(float red, float green, float blue,float *cyan, float *magenta, float *yellow, float
*key)
• void al_color_rgb_to_hsl(float red, float green, float blue,float *hue, float *saturation, float *lightness)
• void al_color_rgb_to_hsv(float red, float green, float blue,float *hue, float *saturation, float *value)
• char const *al_color_rgb_to_name(float r, float g, float b)
• void al_color_rgb_to_yuv(float red, float green, float blue,float *y, float *u, float *v)
• ALLEGRO_COLOR al_color_yuv(float y, float u, float v)
• void al_color_yuv_to_rgb(float y, float u, float v,float *red, float *green, float *blue)
• uint32_t al_get_allegro_color_version(void)
• void al_init_font_addon(void)
• void al_shutdown_font_addon(void)
• ALLEGRO_FONT *al_load_font(char const *filename, int size, int flags)
• void al_destroy_font(ALLEGRO_FONT *f)
• int al_get_font_ascent(const ALLEGRO_FONT *f)
• int al_get_font_descent(const ALLEGRO_FONT *f)
• int al_get_text_width(const ALLEGRO_FONT *f, const char *str)
• int al_get_ustr_width(const ALLEGRO_FONT *f, ALLEGRO_USTR const *ustr)
• void al_draw_text(const ALLEGRO_FONT *font,ALLEGRO_COLOR color, float x, float y, int flags,char const
*text)
• void al_draw_ustr(const ALLEGRO_FONT *font,ALLEGRO_COLOR color, float x, float y, int flags,const
ALLEGRO_USTR *ustr)
• void al_draw_justified_text(const ALLEGRO_FONT *font,ALLEGRO_COLOR color, float x1, float x2,float
y, float diff, int flags, const char *text)
• void al_draw_justified_ustr(const ALLEGRO_FONT *font,ALLEGRO_COLOR color, float x1, float x2,float
y, float diff, int flags, const ALLEGRO_USTR *ustr)
1117
Ring Documentation, Release 1.7
• void al_get_text_dimensions(const ALLEGRO_FONT *f,char const *text,int *bbx, int *bby, int *bbw, int *bbh)
• void al_get_ustr_dimensions(const ALLEGRO_FONT *f,ALLEGRO_USTR const *ustr,int *bbx, int *bby, int
*bbw, int *bbh)
• uint32_t al_get_allegro_font_version(void)
• ALLEGRO_FONT *al_grab_font_from_bitmap(ALLEGRO_BITMAP *bmp,int ranges_n, const int ranges[])
• ALLEGRO_FONT *al_load_bitmap_font(const char *fname)
• ALLEGRO_FONT *al_create_builtin_font(void)
• bool al_init_ttf_addon(void)
• void al_shutdown_ttf_addon(void)
• ALLEGRO_FONT *al_load_ttf_font(char const *filename, int size, int flags)
• ALLEGRO_FONT *al_load_ttf_font_f(ALLEGRO_FILE *file,char const *filename, int size, int flags)
• ALLEGRO_FONT *al_load_ttf_font_stretch(char const *filename, int w, int h,int flags)
• ALLEGRO_FONT *al_load_ttf_font_stretch_f(ALLEGRO_FILE *file,char const *filename, int w, int h, int
flags)
• uint32_t al_get_allegro_ttf_version(void)
• bool al_init_image_addon(void)
• void al_shutdown_image_addon(void)
• uint32_t al_get_allegro_image_version(void)
• ALLEGRO_FILE *al_open_memfile(void *mem, int64_t size, const char *mode)
• uint32_t al_get_allegro_memfile_version(void)
• bool al_init_native_dialog_addon(void)
• void al_shutdown_native_dialog_addon(void)
• ALLEGRO_FILECHOOSER *al_create_native_file_dialog(char const *initial_path,char const *title,char const
*patterns,int mode)
• bool al_show_native_file_dialog(ALLEGRO_DISPLAY *display,ALLEGRO_FILECHOOSER *dialog)
• int al_get_native_file_dialog_count(const ALLEGRO_FILECHOOSER *dialog)
• const char *al_get_native_file_dialog_path(const ALLEGRO_FILECHOOSER *dialog, size_t i)
• void al_destroy_native_file_dialog(ALLEGRO_FILECHOOSER *dialog)
• int al_show_native_message_box(ALLEGRO_DISPLAY *display,char const *title, char const *heading, char
const *text,char const *buttons, int flags)
• ALLEGRO_TEXTLOG *al_open_native_text_log(char const *title, int flags)
• void al_close_native_text_log(ALLEGRO_TEXTLOG *textlog)
• uint32_t al_get_allegro_native_dialog_version(void)
• void al_set_physfs_file_interface(void)
• uint32_t al_get_allegro_physfs_version(void)
• uint32_t al_get_allegro_primitives_version(void)
• bool al_init_primitives_addon(void)
1118
Ring Documentation, Release 1.7
• void al_shutdown_primitives_addon(void)
• void al_draw_line(float x1, float y1, float x2, float y2,ALLEGRO_COLOR color, float thickness)
• void al_draw_triangle(float x1, float y1, float x2, float y2,float x3, float y3, ALLEGRO_COLOR color, float
thickness)
• void al_draw_filled_triangle(float x1, float y1, float x2, float y2,float x3, float y3, ALLEGRO_COLOR color)
• void al_draw_rectangle(float x1, float y1, float x2, float y2,ALLEGRO_COLOR color, float thickness)
• void al_draw_filled_rectangle(float x1, float y1, float x2, float y2,ALLEGRO_COLOR color)
• void al_draw_rounded_rectangle(float x1, float y1, float x2, float y2,float rx, float ry, ALLEGRO_COLOR color,
float thickness)
• void al_draw_filled_rounded_rectangle(float x1, float y1, float x2, float y2,float rx, float ry, ALLEGRO_COLOR
color)
• void al_calculate_arc(float* dest, int stride, float cx, float cy,float rx, float ry, float start_theta, float delta_theta,
float thickness,int num_points)
• void al_draw_pieslice(float cx, float cy, float r, float start_theta,float delta_theta, ALLEGRO_COLOR color,
float thickness)
• void al_draw_filled_pieslice(float cx, float cy, float r, float start_theta,float delta_theta, ALLEGRO_COLOR
color)
• void al_draw_ellipse(float cx, float cy, float rx, float ry,ALLEGRO_COLOR color, float thickness)
• void al_draw_filled_ellipse(float cx, float cy, float rx, float ry,ALLEGRO_COLOR color)
• void al_draw_circle(float cx, float cy, float r, ALLEGRO_COLOR color,float thickness)
• void al_draw_filled_circle(float cx, float cy, float r, ALLEGRO_COLOR color)
• void al_draw_arc(float cx, float cy, float r, float start_theta,float delta_theta, ALLEGRO_COLOR color, float
thickness)
• void al_draw_elliptical_arc(float cx, float cy, float rx, float ry, float start_theta,float delta_theta, ALLE-
GRO_COLOR color, float thickness)
• void al_draw_ribbon(const float *points, int points_stride, ALLEGRO_COLOR color,float thickness, int
num_segments)
• int al_draw_prim(const void* vtxs, const ALLEGRO_VERTEX_DECL* decl,ALLEGRO_BITMAP* texture,
int start, int end, int type)
• int al_draw_indexed_prim(const void* vtxs, const ALLEGRO_VERTEX_DECL* decl,ALLEGRO_BITMAP*
texture, const int* indices, int num_vtx, int type)
• ALLEGRO_VERTEX_DECL* al_create_vertex_decl(const ALLEGRO_VERTEX_ELEMENT* elements, int
stride)
• void al_destroy_vertex_decl(ALLEGRO_VERTEX_DECL* decl)
1119
CHAPTER
EIGHTYFOUR
RINGLIBSDL FUNCTIONS REFERENCE
• MIX_DEFAULT_FORMAT
• SDL_QUIT
• SDL_BUTTON_LEFT
• SDL_BUTTON_MIDDLE
• SDL_BUTTON_RIGHT
• SDL_PRESSED
• SDL_RELEASED
• SDL_APP_TERMINATING
• SDL_APP_LOWMEMORY
• SDL_APP_WILLENTERBACKGROUND
• SDL_APP_DIDENTERBACKGROUND
• SDL_APP_WILLENTERFOREGROUND
• SDL_APP_DIDENTERFOREGROUND
• SDL_WINDOWEVENT
• SDL_SYSWMEVENT
• SDL_KEYDOWN
• SDL_KEYUP
• SDL_TEXTEDITING
• SDL_TEXTINPUT
• SDL_MOUSEMOTION
• SDL_MOUSEBUTTONDOWN
• SDL_MOUSEBUTTONUP
• SDL_MOUSEWHEEL
• SDL_JOYAXISMOTION
• SDL_JOYBALLMOTION
• SDL_JOYHATMOTION
• SDL_JOYBUTTONDOWN
1120
Ring Documentation, Release 1.7
• SDL_JOYBUTTONUP
• SDL_JOYDEVICEADDED
• SDL_JOYDEVICEREMOVED
• SDL_CONTROLLERAXISMOTION
• SDL_CONTROLLERBUTTONDOWN
• SDL_CONTROLLERBUTTONUP
• SDL_CONTROLLERDEVICEADDED
• SDL_CONTROLLERDEVICEREMOVED
• SDL_CONTROLLERDEVICEREMAPPED
• SDL_FINGERDOWN
• SDL_FINGERUP
• SDL_FINGERMOTION
• SDL_DOLLARGESTURE
• SDL_DOLLARRECORD
• SDL_MULTIGESTURE
• SDL_CLIPBOARDUPDATE
• SDL_DROPFILE
• SDL_RENDER_TARGETS_RESET
• SDL_USEREVENT
• SDL_LASTEVENT
• SDL_NET_MAJOR_VERSION
• SDL_NET_MINOR_VERSION
• SDL_NET_PATCHLEVEL
• INADDR_ANY
• INADDR_NONE
• INADDR_BROADCAST
• SDLNET_MAX_UDPCHANNELS
• SDLNET_MAX_UDPADDRESSES
• SDLK_0
• SDLK_1
• SDLK_2
• SDLK_3
• SDLK_4
• SDLK_5
• SDLK_6
• SDLK_7
1121

More Related Content

PDF
The Ring programming language version 1.2 book - Part 62 of 84
PDF
The Ring programming language version 1.4 book - Part 23 of 30
PDF
The Ring programming language version 1.3 book - Part 65 of 88
PDF
The Ring programming language version 1.5.3 book - Part 95 of 184
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.10 book - Part 130 of 212
PDF
The Ring programming language version 1.2 book - Part 61 of 84
The Ring programming language version 1.2 book - Part 62 of 84
The Ring programming language version 1.4 book - Part 23 of 30
The Ring programming language version 1.3 book - Part 65 of 88
The Ring programming language version 1.5.3 book - Part 95 of 184
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.10 book - Part 130 of 212
The Ring programming language version 1.2 book - Part 61 of 84

What's hot (12)

PDF
The Ring programming language version 1.5.3 book - Part 94 of 184
PDF
The Ring programming language version 1.3 book - Part 64 of 88
PDF
The Ring programming language version 1.9 book - Part 126 of 210
PDF
The Ring programming language version 1.5.2 book - Part 83 of 181
PDF
The Ring programming language version 1.5.4 book - Part 84 of 185
PDF
The Ring programming language version 1.10 book - Part 128 of 212
PDF
The Ring programming language version 1.10 book - Part 129 of 212
PDF
The Ring programming language version 1.5.1 book - Part 80 of 180
PDF
The Ring programming language version 1.6 book - Part 87 of 189
PDF
Linuxカーネルを読んで改めて知るプロセスとスレッドの違い
PDF
The Ring programming language version 1.3 book - Part 66 of 88
PDF
Stabilizer: Statistically Sound Performance Evaluation
The Ring programming language version 1.5.3 book - Part 94 of 184
The Ring programming language version 1.3 book - Part 64 of 88
The Ring programming language version 1.9 book - Part 126 of 210
The Ring programming language version 1.5.2 book - Part 83 of 181
The Ring programming language version 1.5.4 book - Part 84 of 185
The Ring programming language version 1.10 book - Part 128 of 212
The Ring programming language version 1.10 book - Part 129 of 212
The Ring programming language version 1.5.1 book - Part 80 of 180
The Ring programming language version 1.6 book - Part 87 of 189
Linuxカーネルを読んで改めて知るプロセスとスレッドの違い
The Ring programming language version 1.3 book - Part 66 of 88
Stabilizer: Statistically Sound Performance Evaluation
Ad

Similar to The Ring programming language version 1.7 book - Part 115 of 196 (20)

PDF
The Ring programming language version 1.7 book - Part 114 of 196
PDF
The Ring programming language version 1.9 book - Part 127 of 210
PDF
The Ring programming language version 1.8 book - Part 119 of 202
PDF
The Ring programming language version 1.5.3 book - Part 97 of 184
PDF
The Ring programming language version 1.5.4 book - Part 85 of 185
PDF
The Ring programming language version 1.9 book - Part 128 of 210
PDF
The Ring programming language version 1.3 book - Part 67 of 88
PDF
The Ring programming language version 1.5.4 book - Part 86 of 185
PDF
The Ring programming language version 1.5.1 book - Part 84 of 180
PDF
The Ring programming language version 1.8 book - Part 123 of 202
PDF
The Ring programming language version 1.5.1 book - Part 81 of 180
PDF
The Ring programming language version 1.10 book - Part 134 of 212
PDF
The Ring programming language version 1.5.2 book - Part 82 of 181
PDF
The Ring programming language version 1.4.1 book - Part 23 of 31
PDF
The Ring programming language version 1.7 book - Part 119 of 196
PDF
The Ring programming language version 1.5.4 book - Part 88 of 185
PDF
The Ring programming language version 1.5.1 book - Part 82 of 180
PDF
TensorFlow 2: New Era of Developing Deep Learning Models
PDF
The Ring programming language version 1.5.4 book - Part 87 of 185
PDF
The Ring programming language version 1.9 book - Part 168 of 210
The Ring programming language version 1.7 book - Part 114 of 196
The Ring programming language version 1.9 book - Part 127 of 210
The Ring programming language version 1.8 book - Part 119 of 202
The Ring programming language version 1.5.3 book - Part 97 of 184
The Ring programming language version 1.5.4 book - Part 85 of 185
The Ring programming language version 1.9 book - Part 128 of 210
The Ring programming language version 1.3 book - Part 67 of 88
The Ring programming language version 1.5.4 book - Part 86 of 185
The Ring programming language version 1.5.1 book - Part 84 of 180
The Ring programming language version 1.8 book - Part 123 of 202
The Ring programming language version 1.5.1 book - Part 81 of 180
The Ring programming language version 1.10 book - Part 134 of 212
The Ring programming language version 1.5.2 book - Part 82 of 181
The Ring programming language version 1.4.1 book - Part 23 of 31
The Ring programming language version 1.7 book - Part 119 of 196
The Ring programming language version 1.5.4 book - Part 88 of 185
The Ring programming language version 1.5.1 book - Part 82 of 180
TensorFlow 2: New Era of Developing Deep Learning Models
The Ring programming language version 1.5.4 book - Part 87 of 185
The Ring programming language version 1.9 book - Part 168 of 210
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)

PPTX
VMware vSphere Foundation How to Sell Presentation-Ver1.4-2-14-2024.pptx
PPTX
sap open course for s4hana steps from ECC to s4
PDF
MIND Revenue Release Quarter 2 2025 Press Release
PDF
Spectral efficient network and resource selection model in 5G networks
PDF
Review of recent advances in non-invasive hemoglobin estimation
PPTX
KOM of Painting work and Equipment Insulation REV00 update 25-dec.pptx
PDF
Reach Out and Touch Someone: Haptics and Empathic Computing
PDF
Empathic Computing: Creating Shared Understanding
PDF
Network Security Unit 5.pdf for BCA BBA.
PDF
KodekX | Application Modernization Development
PPTX
Effective Security Operations Center (SOC) A Modern, Strategic, and Threat-In...
PDF
The Rise and Fall of 3GPP – Time for a Sabbatical?
PDF
Diabetes mellitus diagnosis method based random forest with bat algorithm
PPTX
20250228 LYD VKU AI Blended-Learning.pptx
PDF
Agricultural_Statistics_at_a_Glance_2022_0.pdf
PDF
cuic standard and advanced reporting.pdf
PDF
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
PDF
Optimiser vos workloads AI/ML sur Amazon EC2 et AWS Graviton
PDF
Electronic commerce courselecture one. Pdf
PPTX
Spectroscopy.pptx food analysis technology
VMware vSphere Foundation How to Sell Presentation-Ver1.4-2-14-2024.pptx
sap open course for s4hana steps from ECC to s4
MIND Revenue Release Quarter 2 2025 Press Release
Spectral efficient network and resource selection model in 5G networks
Review of recent advances in non-invasive hemoglobin estimation
KOM of Painting work and Equipment Insulation REV00 update 25-dec.pptx
Reach Out and Touch Someone: Haptics and Empathic Computing
Empathic Computing: Creating Shared Understanding
Network Security Unit 5.pdf for BCA BBA.
KodekX | Application Modernization Development
Effective Security Operations Center (SOC) A Modern, Strategic, and Threat-In...
The Rise and Fall of 3GPP – Time for a Sabbatical?
Diabetes mellitus diagnosis method based random forest with bat algorithm
20250228 LYD VKU AI Blended-Learning.pptx
Agricultural_Statistics_at_a_Glance_2022_0.pdf
cuic standard and advanced reporting.pdf
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
Optimiser vos workloads AI/ML sur Amazon EC2 et AWS Graviton
Electronic commerce courselecture one. Pdf
Spectroscopy.pptx food analysis technology

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

  • 1. Ring Documentation, Release 1.7 • bool al_ustr_insert_cstr(ALLEGRO_USTR *us, int pos, const char *s) • size_t al_ustr_insert_chr(ALLEGRO_USTR *us, int pos, int32_t c) • bool al_ustr_append(ALLEGRO_USTR *us1, const ALLEGRO_USTR *us2) • bool al_ustr_append_cstr(ALLEGRO_USTR *us, const char *s) • size_t al_ustr_append_chr(ALLEGRO_USTR *us, int32_t c) • bool al_ustr_remove_chr(ALLEGRO_USTR *us, int pos) • bool al_ustr_remove_range(ALLEGRO_USTR *us, int start_pos, int end_pos) • bool al_ustr_truncate(ALLEGRO_USTR *us, int start_pos) • bool al_ustr_ltrim_ws(ALLEGRO_USTR *us) • bool al_ustr_rtrim_ws(ALLEGRO_USTR *us) • bool al_ustr_trim_ws(ALLEGRO_USTR *us) • bool al_ustr_assign(ALLEGRO_USTR *us1, const ALLEGRO_USTR *us2) • bool al_ustr_assign_substr(ALLEGRO_USTR *us1, const ALLEGRO_USTR *us2,int start_pos, int end_pos) • bool al_ustr_assign_cstr(ALLEGRO_USTR *us1, const char *s) • size_t al_ustr_set_chr(ALLEGRO_USTR *us, int start_pos, int32_t c) • bool al_ustr_replace_range(ALLEGRO_USTR *us1, int start_pos1, int end_pos1,const ALLEGRO_USTR *us2) • int al_ustr_find_chr(const ALLEGRO_USTR *us, int start_pos, int32_t c) • int al_ustr_rfind_chr(const ALLEGRO_USTR *us, int end_pos, int32_t c) • int al_ustr_find_set(const ALLEGRO_USTR *us, int start_pos,const ALLEGRO_USTR *accept) • int al_ustr_find_set_cstr(const ALLEGRO_USTR *us, int start_pos,const char *accept) • int al_ustr_find_cset(const ALLEGRO_USTR *us, int start_pos,const ALLEGRO_USTR *reject) • int al_ustr_find_cset_cstr(const ALLEGRO_USTR *us, int start_pos,const char *reject) • int al_ustr_find_str(const ALLEGRO_USTR *haystack, int start_pos,const ALLEGRO_USTR *needle) • int al_ustr_find_cstr(const ALLEGRO_USTR *haystack, int start_pos,const char *needle) • int al_ustr_rfind_str(const ALLEGRO_USTR *haystack, int end_pos,const ALLEGRO_USTR *needle) • int al_ustr_rfind_cstr(const ALLEGRO_USTR *haystack, int end_pos,const char *needle) • bool al_ustr_find_replace(ALLEGRO_USTR *us, int start_pos,const ALLEGRO_USTR *find, const ALLE- GRO_USTR *replace) • bool al_ustr_find_replace_cstr(ALLEGRO_USTR *us, int start_pos,const char *find, const char *replace) • int al_ustr_compare(const ALLEGRO_USTR *us1, const ALLEGRO_USTR *us2) • int al_ustr_ncompare(const ALLEGRO_USTR *us1, const ALLEGRO_USTR *us2, int n) • bool al_ustr_equal(const ALLEGRO_USTR *us1, const ALLEGRO_USTR *us2) • bool al_ustr_has_prefix(const ALLEGRO_USTR *us1, const ALLEGRO_USTR *us2) • bool al_ustr_has_prefix_cstr(const ALLEGRO_USTR *us1, const char *s2) • bool al_ustr_has_suffix(const ALLEGRO_USTR *us1, const ALLEGRO_USTR *us2) • bool al_ustr_has_suffix_cstr(const ALLEGRO_USTR *us1, const char *s2) 1112
  • 2. Ring Documentation, Release 1.7 • ALLEGRO_USTR *al_ustr_new_from_utf16(uint16_t const *s) • size_t al_ustr_size_utf16(const ALLEGRO_USTR *us) • size_t al_ustr_encode_utf16(const ALLEGRO_USTR *us, uint16_t *s,size_t n) • size_t al_utf8_width(int c) • size_t al_utf8_encode(char s[], int32_t c) • size_t al_utf16_width(int c) • LPDIRECT3DDEVICE9 al_get_d3d_device(ALLEGRO_DISPLAY *display) • LPDIRECT3DTEXTURE9 al_get_d3d_system_texture(ALLEGRO_BITMAP *bitmap) • LPDIRECT3DTEXTURE9 al_get_d3d_video_texture(ALLEGRO_BITMAP *bitmap) • bool al_have_d3d_non_pow2_texture_support(void) • bool al_have_d3d_non_square_texture_support(void) • void al_get_d3d_texture_position(ALLEGRO_BITMAP *bitmap, int *u, int *v) • bool al_is_d3d_device_lost(ALLEGRO_DISPLAY *display) • ALLEGRO_OGL_EXT_LIST *al_get_opengl_extension_list(void) • void *al_get_opengl_proc_address(const char *name) • GLuint al_get_opengl_texture(ALLEGRO_BITMAP *bitmap) • void al_get_opengl_texture_size(ALLEGRO_BITMAP *bitmap, int *w, int *h) • void al_get_opengl_texture_position(ALLEGRO_BITMAP *bitmap, int *u, int *v) • GLuint al_get_opengl_fbo(ALLEGRO_BITMAP *bitmap) • void al_remove_opengl_fbo(ALLEGRO_BITMAP *bitmap) • bool al_have_opengl_extension(const char *extension); • uint32_t al_get_opengl_version(void) • int al_get_opengl_variant(void) • void al_set_current_opengl_context(ALLEGRO_DISPLAY *display) • bool al_install_audio(void) • void al_uninstall_audio(void) • bool al_is_audio_installed(void) • bool al_reserve_samples(int reserve_samples) • uint32_t al_get_allegro_audio_version(void) • size_t al_get_audio_depth_size(ALLEGRO_AUDIO_DEPTH depth) • size_t al_get_channel_count(ALLEGRO_CHANNEL_CONF conf) • ALLEGRO_VOICE *al_create_voice(unsigned int freq,ALLEGRO_AUDIO_DEPTH depth, ALLE- GRO_CHANNEL_CONF chan_conf) • void al_destroy_voice(ALLEGRO_VOICE *voice) • void al_detach_voice(ALLEGRO_VOICE *voice) • bool al_attach_audio_stream_to_voice(ALLEGRO_AUDIO_STREAM *stream,ALLEGRO_VOICE *voice) 1113
  • 3. Ring Documentation, Release 1.7 • bool al_attach_mixer_to_voice(ALLEGRO_MIXER *mixer, ALLEGRO_VOICE *voice) • bool al_attach_sample_instance_to_voice(ALLEGRO_SAMPLE_INSTANCE *spl,ALLEGRO_VOICE *voice) • unsigned int al_get_voice_frequency(const ALLEGRO_VOICE *voice) • ALLEGRO_CHANNEL_CONF al_get_voice_channels(const ALLEGRO_VOICE *voice) • ALLEGRO_AUDIO_DEPTH al_get_voice_depth(const ALLEGRO_VOICE *voice) • bool al_get_voice_playing(const ALLEGRO_VOICE *voice) • bool al_set_voice_playing(ALLEGRO_VOICE *voice, bool val) • unsigned int al_get_voice_position(const ALLEGRO_VOICE *voice) • bool al_set_voice_position(ALLEGRO_VOICE *voice, unsigned int val) • ALLEGRO_SAMPLE *al_create_sample(void *buf, unsigned int samples,unsigned int freq, ALLE- GRO_AUDIO_DEPTH depth,ALLEGRO_CHANNEL_CONF chan_conf, bool free_buf) • void al_destroy_sample(ALLEGRO_SAMPLE *spl) • bool al_play_sample(ALLEGRO_SAMPLE *spl, float gain, float pan, float speed,int loop, ALLE- GRO_SAMPLE_ID *ret_id) • void al_stop_sample(ALLEGRO_SAMPLE_ID *spl_id) • void al_stop_samples(void) • ALLEGRO_CHANNEL_CONF al_get_sample_channels(const ALLEGRO_SAMPLE *spl) • ALLEGRO_AUDIO_DEPTH al_get_sample_depth(const ALLEGRO_SAMPLE *spl) • unsigned int al_get_sample_frequency(const ALLEGRO_SAMPLE *spl) • unsigned int al_get_sample_length(const ALLEGRO_SAMPLE *spl) • void *al_get_sample_data(const ALLEGRO_SAMPLE *spl) • ALLEGRO_SAMPLE_INSTANCE *al_create_sample_instance(ALLEGRO_SAMPLE *sample_data) • void al_destroy_sample_instance(ALLEGRO_SAMPLE_INSTANCE *spl) • bool al_play_sample_instance(ALLEGRO_SAMPLE_INSTANCE *spl) • bool al_stop_sample_instance(ALLEGRO_SAMPLE_INSTANCE *spl) • ALLEGRO_CHANNEL_CONF al_get_sample_instance_channels(const ALLEGRO_SAMPLE_INSTANCE *spl) • ALLEGRO_AUDIO_DEPTH al_get_sample_instance_depth(const ALLEGRO_SAMPLE_INSTANCE *spl) • unsigned int al_get_sample_instance_frequency(const ALLEGRO_SAMPLE_INSTANCE *spl) • unsigned int al_get_sample_instance_length(const ALLEGRO_SAMPLE_INSTANCE *spl) • bool al_set_sample_instance_length(ALLEGRO_SAMPLE_INSTANCE *spl,unsigned int val) • unsigned int al_get_sample_instance_position(const ALLEGRO_SAMPLE_INSTANCE *spl) • bool al_set_sample_instance_position(ALLEGRO_SAMPLE_INSTANCE *spl,unsigned int val) • float al_get_sample_instance_speed(const ALLEGRO_SAMPLE_INSTANCE *spl) • bool al_set_sample_instance_speed(ALLEGRO_SAMPLE_INSTANCE *spl, float val) • float al_get_sample_instance_gain(const ALLEGRO_SAMPLE_INSTANCE *spl) 1114
  • 4. Ring Documentation, Release 1.7 • bool al_set_sample_instance_gain(ALLEGRO_SAMPLE_INSTANCE *spl, float val) • float al_get_sample_instance_pan(const ALLEGRO_SAMPLE_INSTANCE *spl) • bool al_set_sample_instance_pan(ALLEGRO_SAMPLE_INSTANCE *spl, float val) • float al_get_sample_instance_time(const ALLEGRO_SAMPLE_INSTANCE *spl) • ALLEGRO_PLAYMODE al_get_sample_instance_playmode(const ALLEGRO_SAMPLE_INSTANCE *spl) • bool al_set_sample_instance_playmode(ALLEGRO_SAMPLE_INSTANCE *spl,ALLEGRO_PLAYMODE val) • bool al_get_sample_instance_playing(const ALLEGRO_SAMPLE_INSTANCE *spl) • bool al_set_sample_instance_playing(ALLEGRO_SAMPLE_INSTANCE *spl, bool val) • bool al_get_sample_instance_attached(const ALLEGRO_SAMPLE_INSTANCE *spl) • bool al_detach_sample_instance(ALLEGRO_SAMPLE_INSTANCE *spl) • ALLEGRO_SAMPLE *al_get_sample(ALLEGRO_SAMPLE_INSTANCE *spl) • bool al_set_sample(ALLEGRO_SAMPLE_INSTANCE *spl, ALLEGRO_SAMPLE *data) • ALLEGRO_MIXER *al_create_mixer(unsigned int freq,ALLEGRO_AUDIO_DEPTH depth, ALLE- GRO_CHANNEL_CONF chan_conf) • void al_destroy_mixer(ALLEGRO_MIXER *mixer) • ALLEGRO_MIXER *al_get_default_mixer(void) • bool al_set_default_mixer(ALLEGRO_MIXER *mixer) • bool al_restore_default_mixer(void) • bool al_attach_mixer_to_mixer(ALLEGRO_MIXER *stream, ALLEGRO_MIXER *mixer) • bool al_attach_sample_instance_to_mixer(ALLEGRO_SAMPLE_INSTANCE *spl,ALLEGRO_MIXER *mixer) • bool al_attach_audio_stream_to_mixer(ALLEGRO_AUDIO_STREAM *stream, ALLEGRO_MIXER *mixer) • unsigned int al_get_mixer_frequency(const ALLEGRO_MIXER *mixer) • bool al_set_mixer_frequency(ALLEGRO_MIXER *mixer, unsigned int val) • ALLEGRO_CHANNEL_CONF al_get_mixer_channels(const ALLEGRO_MIXER *mixer) • ALLEGRO_AUDIO_DEPTH al_get_mixer_depth(const ALLEGRO_MIXER *mixer) • float al_get_mixer_gain(const ALLEGRO_MIXER *mixer) • bool al_set_mixer_gain(ALLEGRO_MIXER *mixer, float new_gain) • ALLEGRO_MIXER_QUALITY al_get_mixer_quality(const ALLEGRO_MIXER *mixer) • bool al_set_mixer_quality(ALLEGRO_MIXER *mixer, ALLEGRO_MIXER_QUALITY new_quality) • bool al_get_mixer_playing(const ALLEGRO_MIXER *mixer) • bool al_set_mixer_playing(ALLEGRO_MIXER *mixer, bool val) • bool al_get_mixer_attached(const ALLEGRO_MIXER *mixer) • bool al_detach_mixer(ALLEGRO_MIXER *mixer) • void al_destroy_audio_stream(ALLEGRO_AUDIO_STREAM *stream) 1115
  • 5. Ring Documentation, Release 1.7 • ALLEGRO_EVENT_SOURCE *al_get_audio_stream_event_source(ALLEGRO_AUDIO_STREAM *stream) • void al_drain_audio_stream(ALLEGRO_AUDIO_STREAM *stream) • bool al_rewind_audio_stream(ALLEGRO_AUDIO_STREAM *stream) • unsigned int al_get_audio_stream_frequency(const ALLEGRO_AUDIO_STREAM *stream) • ALLEGRO_CHANNEL_CONF al_get_audio_stream_channels(const ALLEGRO_AUDIO_STREAM *stream) • ALLEGRO_AUDIO_DEPTH al_get_audio_stream_depth(const ALLEGRO_AUDIO_STREAM *stream) • unsigned int al_get_audio_stream_length(const ALLEGRO_AUDIO_STREAM *stream) • float al_get_audio_stream_speed(const ALLEGRO_AUDIO_STREAM *stream) • bool al_set_audio_stream_speed(ALLEGRO_AUDIO_STREAM *stream, float val) • float al_get_audio_stream_gain(const ALLEGRO_AUDIO_STREAM *stream) • bool al_set_audio_stream_gain(ALLEGRO_AUDIO_STREAM *stream, float val) • float al_get_audio_stream_pan(const ALLEGRO_AUDIO_STREAM *stream) • bool al_set_audio_stream_pan(ALLEGRO_AUDIO_STREAM *stream, float val) • bool al_get_audio_stream_playing(const ALLEGRO_AUDIO_STREAM *stream) • bool al_set_audio_stream_playing(ALLEGRO_AUDIO_STREAM *stream, bool val) • ALLEGRO_PLAYMODE al_get_audio_stream_playmode(const ALLEGRO_AUDIO_STREAM *stream) • bool al_set_audio_stream_playmode(ALLEGRO_AUDIO_STREAM *stream,ALLEGRO_PLAYMODE val) • bool al_get_audio_stream_attached(const ALLEGRO_AUDIO_STREAM *stream) • bool al_detach_audio_stream(ALLEGRO_AUDIO_STREAM *stream) • void *al_get_audio_stream_fragment(const ALLEGRO_AUDIO_STREAM *stream) • bool al_set_audio_stream_fragment(ALLEGRO_AUDIO_STREAM *stream, void *val) • unsigned int al_get_audio_stream_fragments(const ALLEGRO_AUDIO_STREAM *stream) • unsigned int al_get_available_audio_stream_fragments(const ALLEGRO_AUDIO_STREAM *stream) • bool al_seek_audio_stream_secs(ALLEGRO_AUDIO_STREAM *stream, double time) • double al_get_audio_stream_position_secs(ALLEGRO_AUDIO_STREAM *stream) • double al_get_audio_stream_length_secs(ALLEGRO_AUDIO_STREAM *stream) • bool al_set_audio_stream_loop_secs(ALLEGRO_AUDIO_STREAM *stream,double start, double end) • ALLEGRO_SAMPLE *al_load_sample(const char *filename) • ALLEGRO_SAMPLE al_load_sample_f(ALLEGRO_FILE fp, const char *ident) • ALLEGRO_AUDIO_STREAM *al_load_audio_stream(const char *filename,size_t buffer_count, unsigned int samples) • ALLEGRO_AUDIO_STREAM al_load_audio_stream_f(ALLEGRO_FILE fp, const char *ident,size_t buffer_count, unsigned int samples) • bool al_save_sample(const char *filename, ALLEGRO_SAMPLE *spl) • bool al_save_sample_f(ALLEGRO_FILE *fp, const char *ident, ALLEGRO_SAMPLE *spl) 1116
  • 6. Ring Documentation, Release 1.7 • bool al_init_acodec_addon(void) • uint32_t al_get_allegro_acodec_version(void) • ALLEGRO_COLOR al_color_cmyk(float c, float m, float y, float k) • void al_color_cmyk_to_rgb(float cyan, float magenta, float yellow,float key, float *red, float *green, float *blue) • ALLEGRO_COLOR al_color_hsl(float h, float s, float l) • void al_color_hsl_to_rgb(float hue, float saturation, float lightness,float *red, float *green, float *blue) • ALLEGRO_COLOR al_color_hsv(float h, float s, float v) • void al_color_hsv_to_rgb(float hue, float saturation, float value,float *red, float *green, float *blue) • ALLEGRO_COLOR al_color_html(char const *string) • void al_color_html_to_rgb(char const *string,float *red, float *green, float *blue) • void al_color_rgb_to_html(float red, float green, float blue,char *string) • ALLEGRO_COLOR al_color_name(char const *name) • bool al_color_name_to_rgb(char const *name, float *r, float *g, float *b) • void al_color_rgb_to_cmyk(float red, float green, float blue,float *cyan, float *magenta, float *yellow, float *key) • void al_color_rgb_to_hsl(float red, float green, float blue,float *hue, float *saturation, float *lightness) • void al_color_rgb_to_hsv(float red, float green, float blue,float *hue, float *saturation, float *value) • char const *al_color_rgb_to_name(float r, float g, float b) • void al_color_rgb_to_yuv(float red, float green, float blue,float *y, float *u, float *v) • ALLEGRO_COLOR al_color_yuv(float y, float u, float v) • void al_color_yuv_to_rgb(float y, float u, float v,float *red, float *green, float *blue) • uint32_t al_get_allegro_color_version(void) • void al_init_font_addon(void) • void al_shutdown_font_addon(void) • ALLEGRO_FONT *al_load_font(char const *filename, int size, int flags) • void al_destroy_font(ALLEGRO_FONT *f) • int al_get_font_ascent(const ALLEGRO_FONT *f) • int al_get_font_descent(const ALLEGRO_FONT *f) • int al_get_text_width(const ALLEGRO_FONT *f, const char *str) • int al_get_ustr_width(const ALLEGRO_FONT *f, ALLEGRO_USTR const *ustr) • void al_draw_text(const ALLEGRO_FONT *font,ALLEGRO_COLOR color, float x, float y, int flags,char const *text) • void al_draw_ustr(const ALLEGRO_FONT *font,ALLEGRO_COLOR color, float x, float y, int flags,const ALLEGRO_USTR *ustr) • void al_draw_justified_text(const ALLEGRO_FONT *font,ALLEGRO_COLOR color, float x1, float x2,float y, float diff, int flags, const char *text) • void al_draw_justified_ustr(const ALLEGRO_FONT *font,ALLEGRO_COLOR color, float x1, float x2,float y, float diff, int flags, const ALLEGRO_USTR *ustr) 1117
  • 7. Ring Documentation, Release 1.7 • void al_get_text_dimensions(const ALLEGRO_FONT *f,char const *text,int *bbx, int *bby, int *bbw, int *bbh) • void al_get_ustr_dimensions(const ALLEGRO_FONT *f,ALLEGRO_USTR const *ustr,int *bbx, int *bby, int *bbw, int *bbh) • uint32_t al_get_allegro_font_version(void) • ALLEGRO_FONT *al_grab_font_from_bitmap(ALLEGRO_BITMAP *bmp,int ranges_n, const int ranges[]) • ALLEGRO_FONT *al_load_bitmap_font(const char *fname) • ALLEGRO_FONT *al_create_builtin_font(void) • bool al_init_ttf_addon(void) • void al_shutdown_ttf_addon(void) • ALLEGRO_FONT *al_load_ttf_font(char const *filename, int size, int flags) • ALLEGRO_FONT *al_load_ttf_font_f(ALLEGRO_FILE *file,char const *filename, int size, int flags) • ALLEGRO_FONT *al_load_ttf_font_stretch(char const *filename, int w, int h,int flags) • ALLEGRO_FONT *al_load_ttf_font_stretch_f(ALLEGRO_FILE *file,char const *filename, int w, int h, int flags) • uint32_t al_get_allegro_ttf_version(void) • bool al_init_image_addon(void) • void al_shutdown_image_addon(void) • uint32_t al_get_allegro_image_version(void) • ALLEGRO_FILE *al_open_memfile(void *mem, int64_t size, const char *mode) • uint32_t al_get_allegro_memfile_version(void) • bool al_init_native_dialog_addon(void) • void al_shutdown_native_dialog_addon(void) • ALLEGRO_FILECHOOSER *al_create_native_file_dialog(char const *initial_path,char const *title,char const *patterns,int mode) • bool al_show_native_file_dialog(ALLEGRO_DISPLAY *display,ALLEGRO_FILECHOOSER *dialog) • int al_get_native_file_dialog_count(const ALLEGRO_FILECHOOSER *dialog) • const char *al_get_native_file_dialog_path(const ALLEGRO_FILECHOOSER *dialog, size_t i) • void al_destroy_native_file_dialog(ALLEGRO_FILECHOOSER *dialog) • int al_show_native_message_box(ALLEGRO_DISPLAY *display,char const *title, char const *heading, char const *text,char const *buttons, int flags) • ALLEGRO_TEXTLOG *al_open_native_text_log(char const *title, int flags) • void al_close_native_text_log(ALLEGRO_TEXTLOG *textlog) • uint32_t al_get_allegro_native_dialog_version(void) • void al_set_physfs_file_interface(void) • uint32_t al_get_allegro_physfs_version(void) • uint32_t al_get_allegro_primitives_version(void) • bool al_init_primitives_addon(void) 1118
  • 8. Ring Documentation, Release 1.7 • void al_shutdown_primitives_addon(void) • void al_draw_line(float x1, float y1, float x2, float y2,ALLEGRO_COLOR color, float thickness) • void al_draw_triangle(float x1, float y1, float x2, float y2,float x3, float y3, ALLEGRO_COLOR color, float thickness) • void al_draw_filled_triangle(float x1, float y1, float x2, float y2,float x3, float y3, ALLEGRO_COLOR color) • void al_draw_rectangle(float x1, float y1, float x2, float y2,ALLEGRO_COLOR color, float thickness) • void al_draw_filled_rectangle(float x1, float y1, float x2, float y2,ALLEGRO_COLOR color) • void al_draw_rounded_rectangle(float x1, float y1, float x2, float y2,float rx, float ry, ALLEGRO_COLOR color, float thickness) • void al_draw_filled_rounded_rectangle(float x1, float y1, float x2, float y2,float rx, float ry, ALLEGRO_COLOR color) • void al_calculate_arc(float* dest, int stride, float cx, float cy,float rx, float ry, float start_theta, float delta_theta, float thickness,int num_points) • void al_draw_pieslice(float cx, float cy, float r, float start_theta,float delta_theta, ALLEGRO_COLOR color, float thickness) • void al_draw_filled_pieslice(float cx, float cy, float r, float start_theta,float delta_theta, ALLEGRO_COLOR color) • void al_draw_ellipse(float cx, float cy, float rx, float ry,ALLEGRO_COLOR color, float thickness) • void al_draw_filled_ellipse(float cx, float cy, float rx, float ry,ALLEGRO_COLOR color) • void al_draw_circle(float cx, float cy, float r, ALLEGRO_COLOR color,float thickness) • void al_draw_filled_circle(float cx, float cy, float r, ALLEGRO_COLOR color) • void al_draw_arc(float cx, float cy, float r, float start_theta,float delta_theta, ALLEGRO_COLOR color, float thickness) • void al_draw_elliptical_arc(float cx, float cy, float rx, float ry, float start_theta,float delta_theta, ALLE- GRO_COLOR color, float thickness) • void al_draw_ribbon(const float *points, int points_stride, ALLEGRO_COLOR color,float thickness, int num_segments) • int al_draw_prim(const void* vtxs, const ALLEGRO_VERTEX_DECL* decl,ALLEGRO_BITMAP* texture, int start, int end, int type) • int al_draw_indexed_prim(const void* vtxs, const ALLEGRO_VERTEX_DECL* decl,ALLEGRO_BITMAP* texture, const int* indices, int num_vtx, int type) • ALLEGRO_VERTEX_DECL* al_create_vertex_decl(const ALLEGRO_VERTEX_ELEMENT* elements, int stride) • void al_destroy_vertex_decl(ALLEGRO_VERTEX_DECL* decl) 1119
  • 9. CHAPTER EIGHTYFOUR RINGLIBSDL FUNCTIONS REFERENCE • MIX_DEFAULT_FORMAT • SDL_QUIT • SDL_BUTTON_LEFT • SDL_BUTTON_MIDDLE • SDL_BUTTON_RIGHT • SDL_PRESSED • SDL_RELEASED • SDL_APP_TERMINATING • SDL_APP_LOWMEMORY • SDL_APP_WILLENTERBACKGROUND • SDL_APP_DIDENTERBACKGROUND • SDL_APP_WILLENTERFOREGROUND • SDL_APP_DIDENTERFOREGROUND • SDL_WINDOWEVENT • SDL_SYSWMEVENT • SDL_KEYDOWN • SDL_KEYUP • SDL_TEXTEDITING • SDL_TEXTINPUT • SDL_MOUSEMOTION • SDL_MOUSEBUTTONDOWN • SDL_MOUSEBUTTONUP • SDL_MOUSEWHEEL • SDL_JOYAXISMOTION • SDL_JOYBALLMOTION • SDL_JOYHATMOTION • SDL_JOYBUTTONDOWN 1120
  • 10. Ring Documentation, Release 1.7 • SDL_JOYBUTTONUP • SDL_JOYDEVICEADDED • SDL_JOYDEVICEREMOVED • SDL_CONTROLLERAXISMOTION • SDL_CONTROLLERBUTTONDOWN • SDL_CONTROLLERBUTTONUP • SDL_CONTROLLERDEVICEADDED • SDL_CONTROLLERDEVICEREMOVED • SDL_CONTROLLERDEVICEREMAPPED • SDL_FINGERDOWN • SDL_FINGERUP • SDL_FINGERMOTION • SDL_DOLLARGESTURE • SDL_DOLLARRECORD • SDL_MULTIGESTURE • SDL_CLIPBOARDUPDATE • SDL_DROPFILE • SDL_RENDER_TARGETS_RESET • SDL_USEREVENT • SDL_LASTEVENT • SDL_NET_MAJOR_VERSION • SDL_NET_MINOR_VERSION • SDL_NET_PATCHLEVEL • INADDR_ANY • INADDR_NONE • INADDR_BROADCAST • SDLNET_MAX_UDPCHANNELS • SDLNET_MAX_UDPADDRESSES • SDLK_0 • SDLK_1 • SDLK_2 • SDLK_3 • SDLK_4 • SDLK_5 • SDLK_6 • SDLK_7 1121