SlideShare a Scribd company logo
1 of 10
Download to read offline
Ring Documentation, Release 1.5.3
• 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)
825
Ring Documentation, Release 1.5.3
• 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)
826
CHAPTER
SEVENTYFIVE
RINGLIBSDL FUNCTIONS REFERENCE
• void SDL_RenderCopy2(SDL_Renderer *,SDL_Texture *)
• void SDL_Delay(int)
• void SDL_Init(int)
• int SDL_InitSubSystem(Uint32 flags)
• void SDL_Quit(void)
• void SDL_QuitSubSystem(Uint32 flags)
• void SDL_SetMainReady(void)
• Uint32 SDL_WasInit(Uint32 flags)
• SDL_bool SDL_SetHint(const char *name,const char *value)
• SDL_bool SDL_SetHintWithPriority(const char *name,const char *value,SDL_HintPriority priority)
• void SDL_ClearError(void)
• const char *SDL_GetError(void)
• SDL_LogPriority SDL_LogGetPriority(int category)
• void SDL_LogResetPriorities(void)
• void SDL_LogSetAllPriority(SDL_LogPriority priority)
• SDL_AssertionHandler SDL_GetDefaultAssertionHandler(void)
• void SDL_ResetAssertionReport(void)
• void SDL_SetAssertionHandler(SDL_AssertionHandler handler,void *userdata)
• void SDL_TriggerBreakpoint(void)
• void SDL_assert(int)
• void SDL_assert_paranoid(int)
• void SDL_assert_release(int)
• const char * SDL_GetRevision(void)
• int SDL_GetRevisionNumber(void)
• void SDL_GetVersion(SDL_version *ver)
• SDL_Window *SDL_CreateWindow(const char * title,int x, int y,int w,int h,Uint32 flags)
• void SDL_DestroyWindow(SDL_Window *window)
827
Ring Documentation, Release 1.5.3
• void SDL_DisableScreenSaver(void)
• void SDL_EnableScreenSaver(void)
• SDL_GLContext SDL_GL_CreateContext(SDL_Window *window)
• void SDL_GL_DeleteContext(SDL_GLContext context)
• SDL_bool SDL_GL_ExtensionSupported(const char *extension)
• int SDL_GL_GetAttribute(SDL_GLattr attr,int *value)
• SDL_GLContext SDL_GL_GetCurrentContext(void)
• SDL_Window *SDL_GL_GetCurrentWindow(void)
• void SDL_GL_GetDrawableSize(SDL_Window *window,int *w,int *h)
• void *SDL_GL_GetProcAddress(const char *proc)
• int SDL_GL_GetSwapInterval(void)
• int SDL_GL_LoadLibrary(const char *path)
• int SDL_GL_MakeCurrent(SDL_Window *window,SDL_GLContext context)
• void SDL_GL_ResetAttributes(void)
• int SDL_GL_SetAttribute(SDL_GLattr attr,int value)
• int SDL_GL_SetSwapInterval(int interval)
• void SDL_GL_SwapWindow(SDL_Window *window)
• void SDL_GL_UnloadLibrary(void)
• SDL_DisplayMode *SDL_GetClosestDisplayMode(int displayIndex,SDL_DisplayMode
*mode,SDL_DisplayMode *closest)
• int SDL_GetCurrentDisplayMode(int displayIndex,SDL_DisplayMode *mode)
• const char *SDL_GetCurrentVideoDriver(void)
• int SDL_GetDesktopDisplayMode(int displayIndex,SDL_DisplayMode *mode)
• int SDL_GetDisplayBounds(int displayIndex,SDL_Rect *rect)
• int SDL_GetNumVideoDisplays(void)
• int SDL_GetNumVideoDrivers(void)
• const char * SDL_GetVideoDriver(int index)
• void *SDL_GetWindowData(SDL_Window *window,const char *name)
• int SDL_GetWindowDisplayIndex(SDL_Window *window)
• int SDL_GetWindowDisplayMode(SDL_Window *window,SDL_DisplayMode *mode)
• Uint32 SDL_GetWindowFlags(SDL_Window *window)
• SDL_Window *SDL_GetWindowFromID(Uint32 id)
• int SDL_GetWindowGammaRamp(SDL_Window *window,Uint16 *red,Uint16 *green,Uint16 *blue)
• SDL_bool SDL_GetWindowGrab(SDL_Window *window)
• Uint32 SDL_GetWindowID(SDL_Window* window)
• void SDL_GetWindowMaximumSize(SDL_Window *window,int *w,int *h)
828
Ring Documentation, Release 1.5.3
• void SDL_GetWindowMinimumSize(SDL_Window *window,int *w,int *h)
• void SDL_GetWindowPosition(SDL_Window *window,int *x,int *y)
• void SDL_GetWindowSize(SDL_Window *window,int *w,int *h)
• SDL_Surface *SDL_GetWindowSurface(SDL_Window *window)
• const char *SDL_GetWindowTitle(SDL_Window *window)
• SDL_bool SDL_IsScreenSaverEnabled(void)
• void SDL_MaximizeWindow(SDL_Window *window)
• void SDL_MinimizeWindow(SDL_Window *window)
• void SDL_RaiseWindow(SDL_Window *window)
• void SDL_RestoreWindow(SDL_Window *window)
• void SDL_SetWindowBordered(SDL_Window *window,SDL_bool bordered)
• int SDL_SetWindowBrightness(SDL_Window *window,float brightness)
• void *SDL_SetWindowData(SDL_Window *window,const char *name,void *userdata)
• int SDL_SetWindowDisplayMode(SDL_Window *window,const SDL_DisplayMode *mode)
• int SDL_SetWindowFullscreen(SDL_Window *window,Uint32 flags)
• int SDL_SetWindowGammaRamp(SDL_Window window,const Uint16 *red,const Uint16 *green,const Uint16
blue)
• void SDL_SetWindowGrab(SDL_Window *window,SDL_bool grabbed)
• void SDL_SetWindowMinimumSize(SDL_Window* window,int min_w,int min_h)
• void SDL_SetWindowSize(SDL_Window *window,int w,int h)
• void SDL_SetWindowTitle(SDL_Window *window,const char *title)
• int SDL_ShowMessageBox(const SDL_MessageBoxData *messageboxdata,int *buttonid)
• int SDL_ShowSimpleMessageBox(Uint32 flags,const char *title,const char *message,SDL_Window *window)
• void SDL_ShowWindow(SDL_Window *window)
• int SDL_UpdateWindowSurface(SDL_Window *window)
• int SDL_UpdateWindowSurfaceRects(SDL_Window *window,const SDL_Rect *rects,int numrects)
• int SDL_VideoInit(const char *driver_name)
• void SDL_VideoQuit(void)
• SDL_Renderer *SDL_CreateRenderer(SDL_Window *window,int index,Uint32 flags)
• SDL_Renderer *SDL_CreateSoftwareRenderer(SDL_Surface *surface)
• SDL_Texture *SDL_CreateTexture(SDL_Renderer *renderer,Uint32 format,int access,int w,int h)
• SDL_Texture *SDL_CreateTextureFromSurface(SDL_Renderer *renderer,SDL_Surface *surface)
• void SDL_DestroyTexture(SDL_Texture *texture)
• int SDL_GL_BindTexture(SDL_Texture *texture,float *texw,float *texh)
• int SDL_GL_UnbindTexture(SDL_Texture *texture)
• int SDL_GetNumRenderDrivers(void)
829
Ring Documentation, Release 1.5.3
• int SDL_GetRenderDrawBlendMode(SDL_Renderer *renderer,SDL_BlendMode *blendMode)
• int SDL_GetRenderDrawColor(SDL_Renderer *renderer,Uint8 *r,Uint8 *g,Uint8 *b,Uint8 *a)
• int SDL_GetRenderDriverInfo(int index,SDL_RendererInfo *info)
• SDL_Texture *SDL_GetRenderTarget(SDL_Renderer *renderer)
• SDL_Renderer *SDL_GetRenderer(SDL_Window *window)
• int SDL_GetRendererInfo(SDL_Renderer *renderer,SDL_RendererInfo *info)
• int SDL_GetRendererOutputSize(SDL_Renderer *renderer,int *w,int *h)
• int SDL_GetTextureAlphaMod(SDL_Texture *texture,Uint8 *alpha)
• int SDL_GetTextureBlendMode(SDL_Texture *texture,SDL_BlendMode *blendMode)
• int SDL_GetTextureColorMod(SDL_Texture *texture,Uint8 *r,Uint8 *g,Uint8 *b)
• int SDL_LockTexture(SDL_Texture *texture,const SDL_Rect *rect,void **pixels,int *pitch)
• int SDL_QueryTexture(SDL_Texture *texture,int *format,int *access,int *w,int *h)
• int SDL_RenderClear(SDL_Renderer *renderer)
• int SDL_RenderCopy(SDL_Renderer *renderer,SDL_Texture *texture,const SDL_Rect *srcrect,const
SDL_Rect *dstrect)
• int SDL_RenderCopyEx(SDL_Renderer *renderer,SDL_Texture *texture,const SDL_Rect *srcrect,const
SDL_Rect *dstrect,const double angle,const SDL_Point *center,const SDL_RendererFlip flip)
• int SDL_RenderDrawLine(SDL_Renderer *renderer,int x1,int y1,int x2,int y2)
• int SDL_RenderDrawLines(SDL_Renderer *renderer,const SDL_Point *points,int count)
• int SDL_RenderDrawPoint(SDL_Renderer *renderer,int x, int y)
• int SDL_RenderDrawPoints(SDL_Renderer *renderer,const SDL_Point *points,int count)
• int SDL_RenderDrawRect(SDL_Renderer *renderer,const SDL_Rect *rect)
• int SDL_RenderDrawRects(SDL_Renderer *renderer,const SDL_Rect *rects,int count)
• int SDL_RenderFillRect(SDL_Renderer *renderer,const SDL_Rect *rect)
• int SDL_RenderFillRects(SDL_Renderer renderer,const SDL_Rect rects,int count)
• void SDL_RenderGetClipRect(SDL_Renderer *renderer,SDL_Rect *rect)
• void SDL_RenderGetScale(SDL_Renderer *renderer,float *scaleX,float *scaleY)
• void SDL_RenderGetViewport(SDL_Renderer *renderer,SDL_Rect *rect)
• int SDL_RenderReadPixels(SDL_Renderer *renderer,const SDL_Rect *rect,Uint32 format,void *pixels,int
pitch)
• int SDL_RenderSetClipRect(SDL_Renderer *renderer,const SDL_Rect *rect)
• int SDL_RenderSetScale(SDL_Renderer *renderer,float scaleX,float scaleY)
• int SDL_RenderSetViewport(SDL_Renderer *renderer,const SDL_Rect *rect)
• SDL_bool SDL_RenderTargetSupported(SDL_Renderer *renderer)
• int SDL_SetRenderDrawBlendMode(SDL_Renderer *renderer,SDL_BlendMode blendMode)
• int SDL_SetRenderDrawColor(SDL_Renderer *renderer,Uint8 r,Uint8 g,Uint8 b,Uint8 a)
• int SDL_SetRenderTarget(SDL_Renderer *renderer,SDL_Texture *texture)
830
Ring Documentation, Release 1.5.3
• int SDL_SetTextureAlphaMod(SDL_Texture *texture,Uint8 alpha)
• int SDL_SetTextureBlendMode(SDL_Texture *texture,SDL_BlendMode blendMode)
• int SDL_SetTextureColorMod(SDL_Texture *texture,Uint8 r,Uint8 g,Uint8 b)
• void SDL_UnlockTexture(SDL_Texture *texture)
• int SDL_UpdateTexture(SDL_Texture *texture,const SDL_Rect *rect,const void*pixels,int pitch)
• int SDL_UpdateYUVTexture(SDL_Texture *texture,const SDL_Rect *rect,const Uint8 *Yplane,int Yp-
itch,const Uint8 *Uplane,int Upitch,const Uint8 *Vplane,int Vpitch)
• SDL_PixelFormat *SDL_AllocFormat(Uint32 pixel_format)
• SDL_Palette *SDL_AllocPalette(int ncolors)
• void SDL_CalculateGammaRamp(float gamma,Uint16 *ramp)
• void SDL_FreeFormat(SDL_PixelFormat *format)
• void SDL_FreePalette(SDL_Palette *palette)
• const char *SDL_GetPixelFormatName(Uint32 format)
• void SDL_GetRGB(Uint32 pixel,const SDL_PixelFormat* format,Uint8 *r,Uint8 *g,Uint8 *b)
• void SDL_GetRGBA(Uint32 pixel,const SDL_PixelFormat* format,Uint8 *r,Uint8 *g,Uint8 *b,Uint8 *a)
• Uint32 SDL_MapRGB(const SDL_PixelFormat* format,Uint8 r,Uint8 g, Uint8 b)
• Uint32 SDL_MapRGBA(const SDL_PixelFormat* format,Uint8 r,Uint8 g, Uint8 b, Uint8 a)
• Uint32 SDL_MasksToPixelFormatEnum(int bpp,Uint32 Rmask,Uint32 Gmask,Uint32 Bmask,Uint32 Amask)
• SDL_bool SDL_PixelFormatEnumToMasks(Uint32 format,int *bpp,Uint32 *Rmask,Uint32 *Gmask,Uint32
*Bmask,Uint32 *Amask)
• int SDL_SetPaletteColors(SDL_Palette *palette,const SDL_Color *colors,int firstcolor,int ncolors)
• int SDL_SetPixelFormatPalette(SDL_PixelFormat *format,SDL_Palette *palette)
• SDL_bool SDL_EnclosePoints(const SDL_Point* points,int count,const SDL_Rect *clip,SDL_Rect *result)
• SDL_bool SDL_HasIntersection(const SDL_Rect *A,const SDL_Rect *B)
• SDL_bool SDL_IntersectRect(const SDL_Rect *A,const SDL_Rect *B,SDL_Rect *result)
• SDL_bool SDL_IntersectRectAndLine(const SDL_Rect *rect,int *X1,int *Y1,int *X2,int *Y2)
• SDL_bool SDL_RectEquals(const SDL_Rect *a,const SDL_Rect *b)
• void SDL_UnionRect(const SDL_Rect *A,const SDL_Rect *B,SDL_Rect *result)
• int SDL_BlitScaled(SDL_Surface *src,const SDL_Rect *srcrect,SDL_Surface *dst,SDL_Rect *dstrect)
• int SDL_BlitSurface(SDL_Surface src,const SDL_Rect srcrect,SDL_Surface *dst,SDL_Rect *dstrect)
• int SDL_ConvertPixels(int width,int height,Uint32 src_format,const void *src,int src_pitch,Uint32
dst_format,void *dst,int dst_pitch)
• SDL_Surface *SDL_ConvertSurface(SDL_Surface *src,const SDL_PixelFormat *fmt,Uint32 flags)
• SDL_Surface *SDL_ConvertSurfaceFormat(SDL_Surface *src,Uint32 pixel_format,Uint32 flags)
• SDL_Surface *SDL_CreateRGBSurface(Uint32 flags,int width,int height,int depth,Uint32 Rmask,Uint32
Gmask,Uint32 Bmask,Uint32 Amask)
• SDL_Surface* SDL_CreateRGBSurfaceFrom(void *pixels,int width,int height,int depth,int pitch,Uint32
Rmask,Uint32 Gmask,Uint32 Bmask,Uint32 Amask)
831
Ring Documentation, Release 1.5.3
• int SDL_FillRect(SDL_Surface *dst,const SDL_Rect *rect,Uint32 color)
• int SDL_FillRects(SDL_Surface *dst,const SDL_Rect *rects,int count,Uint32 color)
• void SDL_FreeSurface(SDL_Surface *surface)
• void SDL_GetClipRect(SDL_Surface *surface,SDL_Rect *rect)
• int SDL_GetColorKey(SDL_Surface *surface,Uint32 *key)
• int SDL_GetSurfaceAlphaMod(SDL_Surface *surface,Uint8 *alpha)
• int SDL_GetSurfaceBlendMode(SDL_Surface *surface,SDL_BlendMode *blendMode)
• int SDL_GetSurfaceColorMod(SDL_Surface *surface,Uint8 *r,Uint8 *g,Uint8 *b)
• SDL_Surface *SDL_LoadBMP(const char *file)
• SDL_Surface *SDL_LoadBMP_RW(SDL_RWops *src,int freesrc)
• int SDL_LockSurface(SDL_Surface *surface)
• int SDL_LowerBlit(SDL_Surface *src,SDL_Rect *srcrect,SDL_Surface *dst,SDL_Rect *dstrect)
• int SDL_LowerBlitScaled(SDL_Surface *src,SDL_Rect *srcrect,SDL_Surface *dst,SDL_Rect *dstrect)
• SDL_bool SDL_MUSTLOCK(SDL_Surface *surface)
• int SDL_SaveBMP(SDL_Surface *surface,const char *file)
• int SDL_SaveBMP_RW(SDL_Surface *surface,SDL_RWops *dst,int freedst)
• SDL_bool SDL_SetClipRect(SDL_Surface *surface,const SDL_Rect *rect)
• int SDL_SetColorKey(SDL_Surface *surface,int flag,Uint32 key)
• int SDL_SetSurfaceAlphaMod(SDL_Surface *surface,Uint8 alpha)
• int SDL_SetSurfaceBlendMode(SDL_Surface *surface,SDL_BlendMode blendMode)
• int SDL_SetSurfaceColorMod(SDL_Surface *surface,Uint8 r,Uint8 g,Uint8 b)
• int SDL_SetSurfacePalette(SDL_Surface *surface,SDL_Palette *palette)
• int SDL_SetSurfaceRLE(SDL_Surface *surface,int flag)
• void SDL_UnlockSurface(SDL_Surface* surface)
• SDL_bool SDL_GetWindowWMInfo(SDL_Window *window,SDL_SysWMinfo *info)
• char *SDL_GetClipboardText(void)
• SDL_bool SDL_HasClipboardText(void)
• int SDL_SetClipboardText(const char *text)
• void SDL_AddEventWatch(SDL_EventFilter filter,void *userdata)
• void SDL_DelEventWatch(SDL_EventFilter filter,void *userdata)
• Uint8 SDL_EventState(Uint32 type,int state)
• void SDL_FilterEvents(SDL_EventFilter filter,void *userdata)
• void SDL_FlushEvent(Uint32 type)
• void SDL_FlushEvents(Uint32 minType,Uint32 maxType)
• SDL_bool SDL_GetEventFilter(SDL_EventFilter *filter,void **userdata)
• Uint8 SDL_GetEventState(Uint32 type)
832
Ring Documentation, Release 1.5.3
• int SDL_GetNumTouchDevices(void)
• int SDL_GetNumTouchFingers(SDL_TouchID touchID)
• SDL_TouchID SDL_GetTouchDevice(int index)
• SDL_Finger* SDL_GetTouchFinger(SDL_TouchID touchID,int index)
• SDL_bool SDL_HasEvent(Uint32 type)
• SDL_bool SDL_HasEvents(Uint32 minType,Uint32 maxType)
• int SDL_LoadDollarTemplates(SDL_TouchID touchId,SDL_RWops *src)
• int SDL_PeepEvents(SDL_Event *events,int numevents,SDL_eventaction action,Uint32 minType,Uint32 max-
Type)
• int SDL_PollEvent(SDL_Event *event)
• void SDL_PumpEvents(void)
• int SDL_PushEvent(SDL_Event *event)
• SDL_bool SDL_QuitRequested(void)
• int SDL_RecordGesture(SDL_TouchID touchId)
• Uint32 SDL_RegisterEvents(int numevents)
• int SDL_SaveAllDollarTemplates(SDL_RWops *dst)
• int SDL_SaveDollarTemplate(SDL_GestureID gestureId,SDL_RWops *dst)
• void SDL_SetEventFilter(SDL_EventFilter filter,void *userdata)
• int SDL_WaitEvent(SDL_Event *event)
• int SDL_WaitEventTimeout(SDL_Event *event,int timeout)
• SDL_Keycode SDL_GetKeyFromName(const char * name)
• SDL_Keycode SDL_GetKeyFromScancode(SDL_Scancode scancode)
• const char * SDL_GetKeyName(SDL_Keycode key)
• SDL_Window* SDL_GetKeyboardFocus(void)
• const Uint8* SDL_GetKeyboardState(int* numkeys)
• SDL_Keymod SDL_GetModState(void)
• SDL_Scancode SDL_GetScancodeFromKey(SDL_Keycode key)
• SDL_Scancode SDL_GetScancodeFromName(const char * name)
• const char * SDL_GetScancodeName(SDL_Scancode scancode)
• SDL_bool SDL_HasScreenKeyboardSupport(void)
• SDL_bool SDL_IsScreenKeyboardShown(SDL_Window* window)
• SDL_bool SDL_IsTextInputActive(void)
• void SDL_SetModState(SDL_Keymod modstate)
• void SDL_SetTextInputRect(SDL_Rect* rect)
• void SDL_StartTextInput(void)
• void SDL_StopTextInput(void)
833
Ring Documentation, Release 1.5.3
• SDL_Cursor *SDL_CreateCursor(const Uint8 *data,const Uint8 *mask,int w,int h,int hot_x,int hot_y)
• void SDL_FreeCursor(SDL_Cursor *cursor)
• SDL_Cursor *SDL_GetCursor(void)
• SDL_Cursor *SDL_GetDefaultCursor(void)
• Uint32 SDL_GetMouseState(int *x,int * y)
• SDL_bool SDL_GetRelativeMouseMode(void)
• Uint32 SDL_GetRelativeMouseState(int *x,int *y)
• void SDL_SetCursor(SDL_Cursor *cursor)
• int SDL_SetRelativeMouseMode(SDL_bool enabled)
• int SDL_ShowCursor(int toggle)
• void SDL_JoystickClose(SDL_Joystick *joystick)
• SDL_bool SDL_JoystickGetAttached(SDL_Joystick *joystick)
• Sint16 SDL_JoystickGetAxis(SDL_Joystick *joystick,int axis)
• int SDL_JoystickGetBall(SDL_Joystick *joystick,int ball,int *dx,int *dy)
• Uint8 SDL_JoystickGetButton(SDL_Joystick *joystick,int button)
• SDL_JoystickGUID SDL_JoystickGetDeviceGUID(int device_index)
• SDL_JoystickGUID SDL_JoystickGetGUID(SDL_Joystick *joystick)
• SDL_JoystickGUID SDL_JoystickGetGUIDFromString(const char *pchGUID)
• void SDL_JoystickGetGUIDString(SDL_JoystickGUID guid,char *pszGUID,int cbGUID)
• Uint8 SDL_JoystickGetHat(SDL_Joystick *joystick,int hat)
• SDL_JoystickID SDL_JoystickInstanceID(SDL_Joystick *joystick)
• const char *SDL_JoystickName(SDL_Joystick *joystick)
• const char *SDL_JoystickNameForIndex(int device_index)
• int SDL_JoystickNumAxes(SDL_Joystick *joystick)
• int SDL_JoystickNumBalls(SDL_Joystick *joystick)
• int SDL_JoystickNumButtons(SDL_Joystick *joystick)
• int SDL_JoystickNumHats(SDL_Joystick *joystick)
• SDL_Joystick *SDL_JoystickOpen(int device_index)
• void SDL_JoystickUpdate(void)
• int SDL_NumJoysticks(void)
• int SDL_GameControllerAddMapping(const char *mappingString)
• int SDL_GameControllerAddMappingsFromFile(const char *filename)
• int SDL_GameControllerAddMappingsFromRW(SDL_RWops *rw,int freerw)
• void SDL_GameControllerClose(SDL_GameController *gamecontroller)
• int SDL_GameControllerEventState(int state)
• Sint16 SDL_GameControllerGetAxis(SDL_GameController *gamecontroller,SDL_GameControllerAxis axis)
834

More Related Content

What's hot (9)

The Ring programming language version 1.9 book - Part 132 of 210
The Ring programming language version 1.9 book - Part 132 of 210The Ring programming language version 1.9 book - Part 132 of 210
The Ring programming language version 1.9 book - Part 132 of 210
 
Atm machine using c++
Atm machine using c++Atm machine using c++
Atm machine using c++
 
Atm machine using c++
Atm machine using c++Atm machine using c++
Atm machine using c++
 
The Ring programming language version 1.5.2 book - Part 85 of 181
The Ring programming language version 1.5.2 book - Part 85 of 181The Ring programming language version 1.5.2 book - Part 85 of 181
The Ring programming language version 1.5.2 book - Part 85 of 181
 
Atm machine using c++
Atm machine using c++Atm machine using c++
Atm machine using c++
 
Atm machine using c++
Atm machine using c++Atm machine using c++
Atm machine using c++
 
15 vba y objetos excel
15  vba y objetos excel15  vba y objetos excel
15 vba y objetos excel
 
Exploring Canvas
Exploring CanvasExploring Canvas
Exploring Canvas
 
Divide and Be Conquered?
Divide and Be Conquered?Divide and Be Conquered?
Divide and Be Conquered?
 

Similar to The Ring programming language version 1.5.3 book - Part 96 of 184

Similar to The Ring programming language version 1.5.3 book - Part 96 of 184 (20)

The Ring programming language version 1.10 book - Part 129 of 212
The Ring programming language version 1.10 book - Part 129 of 212The Ring programming language version 1.10 book - Part 129 of 212
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.9 book - Part 127 of 210The Ring programming language version 1.9 book - Part 127 of 210
The Ring programming language version 1.9 book - Part 127 of 210
 
The Ring programming language version 1.5.1 book - Part 83 of 180
The Ring programming language version 1.5.1 book - Part 83 of 180The Ring programming language version 1.5.1 book - Part 83 of 180
The Ring programming language version 1.5.1 book - Part 83 of 180
 
The Ring programming language version 1.8 book - Part 123 of 202
The Ring programming language version 1.8 book - Part 123 of 202The Ring programming language version 1.8 book - Part 123 of 202
The Ring programming language version 1.8 book - Part 123 of 202
 
The Ring programming language version 1.5.2 book - Part 84 of 181
The Ring programming language version 1.5.2 book - Part 84 of 181The Ring programming language version 1.5.2 book - Part 84 of 181
The Ring programming language version 1.5.2 book - Part 84 of 181
 
The Ring programming language version 1.2 book - Part 63 of 84
The Ring programming language version 1.2 book - Part 63 of 84The Ring programming language version 1.2 book - Part 63 of 84
The Ring programming language version 1.2 book - Part 63 of 84
 
The Ring programming language version 1.5.3 book - Part 97 of 184
The Ring programming language version 1.5.3 book - Part 97 of 184The Ring programming language version 1.5.3 book - Part 97 of 184
The Ring programming language version 1.5.3 book - Part 97 of 184
 
The Ring programming language version 1.2 book - Part 64 of 84
The Ring programming language version 1.2 book - Part 64 of 84The Ring programming language version 1.2 book - Part 64 of 84
The Ring programming language version 1.2 book - Part 64 of 84
 
The Ring programming language version 1.5.1 book - Part 81 of 180
The Ring programming language version 1.5.1 book - Part 81 of 180The Ring programming language version 1.5.1 book - Part 81 of 180
The Ring programming language version 1.5.1 book - Part 81 of 180
 
The Ring programming language version 1.9 book - Part 128 of 210
The Ring programming language version 1.9 book - Part 128 of 210The Ring programming language version 1.9 book - Part 128 of 210
The Ring programming language version 1.9 book - Part 128 of 210
 
The Ring programming language version 1.10 book - Part 132 of 212
The Ring programming language version 1.10 book - Part 132 of 212The Ring programming language version 1.10 book - Part 132 of 212
The Ring programming language version 1.10 book - Part 132 of 212
 
The Ring programming language version 1.5.4 book - Part 85 of 185
The Ring programming language version 1.5.4 book - Part 85 of 185The Ring programming language version 1.5.4 book - Part 85 of 185
The Ring programming language version 1.5.4 book - Part 85 of 185
 
The Ring programming language version 1.5.4 book - Part 86 of 185
The Ring programming language version 1.5.4 book - Part 86 of 185The Ring programming language version 1.5.4 book - Part 86 of 185
The Ring programming language version 1.5.4 book - Part 86 of 185
 
The Ring programming language version 1.6 book - Part 91 of 189
The Ring programming language version 1.6 book - Part 91 of 189The Ring programming language version 1.6 book - Part 91 of 189
The Ring programming language version 1.6 book - Part 91 of 189
 
The Ring programming language version 1.2 book - Part 61 of 84
The Ring programming language version 1.2 book - Part 61 of 84The Ring programming language version 1.2 book - Part 61 of 84
The Ring programming language version 1.2 book - Part 61 of 84
 
The Ring programming language version 1.3 book - Part 65 of 88
The Ring programming language version 1.3 book - Part 65 of 88The Ring programming language version 1.3 book - Part 65 of 88
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.5.3 book - Part 95 of 184The Ring programming language version 1.5.3 book - Part 95 of 184
The Ring programming language version 1.5.3 book - Part 95 of 184
 
The Ring programming language version 1.3 book - Part 67 of 88
The Ring programming language version 1.3 book - Part 67 of 88The Ring programming language version 1.3 book - Part 67 of 88
The Ring programming language version 1.3 book - Part 67 of 88
 
The Ring programming language version 1.5.1 book - Part 84 of 180
The Ring programming language version 1.5.1 book - Part 84 of 180The Ring programming language version 1.5.1 book - Part 84 of 180
The Ring programming language version 1.5.1 book - Part 84 of 180
 
The Ring programming language version 1.5.3 book - Part 98 of 184
The Ring programming language version 1.5.3 book - Part 98 of 184The Ring programming language version 1.5.3 book - Part 98 of 184
The Ring programming language version 1.5.3 book - Part 98 of 184
 

More from Mahmoud Samir Fayed

More from Mahmoud Samir Fayed (20)

The Ring programming language version 1.10 book - Part 212 of 212
The Ring programming language version 1.10 book - Part 212 of 212The Ring programming language version 1.10 book - Part 212 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 211 of 212The Ring programming language version 1.10 book - Part 211 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 210 of 212The Ring programming language version 1.10 book - Part 210 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 208 of 212The Ring programming language version 1.10 book - Part 208 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 207 of 212The Ring programming language version 1.10 book - Part 207 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 205 of 212The Ring programming language version 1.10 book - Part 205 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 206 of 212The Ring programming language version 1.10 book - Part 206 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 204 of 212The Ring programming language version 1.10 book - Part 204 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 203 of 212The Ring programming language version 1.10 book - Part 203 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 202 of 212The Ring programming language version 1.10 book - Part 202 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 201 of 212The Ring programming language version 1.10 book - Part 201 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 200 of 212The Ring programming language version 1.10 book - Part 200 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 199 of 212The Ring programming language version 1.10 book - Part 199 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 198 of 212The Ring programming language version 1.10 book - Part 198 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 197 of 212The Ring programming language version 1.10 book - Part 197 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 196 of 212The Ring programming language version 1.10 book - Part 196 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 195 of 212The Ring programming language version 1.10 book - Part 195 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 194 of 212The Ring programming language version 1.10 book - Part 194 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 193 of 212The Ring programming language version 1.10 book - Part 193 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
The Ring programming language version 1.10 book - Part 192 of 212The Ring programming language version 1.10 book - Part 192 of 212
The Ring programming language version 1.10 book - Part 192 of 212
 

Recently uploaded

Recently uploaded (20)

Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CV
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
Developing An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of BrazilDeveloping An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of Brazil
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
HTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation StrategiesHTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation Strategies
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 

The Ring programming language version 1.5.3 book - Part 96 of 184

  • 1. Ring Documentation, Release 1.5.3 • 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) 825
  • 2. Ring Documentation, Release 1.5.3 • 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) 826
  • 3. CHAPTER SEVENTYFIVE RINGLIBSDL FUNCTIONS REFERENCE • void SDL_RenderCopy2(SDL_Renderer *,SDL_Texture *) • void SDL_Delay(int) • void SDL_Init(int) • int SDL_InitSubSystem(Uint32 flags) • void SDL_Quit(void) • void SDL_QuitSubSystem(Uint32 flags) • void SDL_SetMainReady(void) • Uint32 SDL_WasInit(Uint32 flags) • SDL_bool SDL_SetHint(const char *name,const char *value) • SDL_bool SDL_SetHintWithPriority(const char *name,const char *value,SDL_HintPriority priority) • void SDL_ClearError(void) • const char *SDL_GetError(void) • SDL_LogPriority SDL_LogGetPriority(int category) • void SDL_LogResetPriorities(void) • void SDL_LogSetAllPriority(SDL_LogPriority priority) • SDL_AssertionHandler SDL_GetDefaultAssertionHandler(void) • void SDL_ResetAssertionReport(void) • void SDL_SetAssertionHandler(SDL_AssertionHandler handler,void *userdata) • void SDL_TriggerBreakpoint(void) • void SDL_assert(int) • void SDL_assert_paranoid(int) • void SDL_assert_release(int) • const char * SDL_GetRevision(void) • int SDL_GetRevisionNumber(void) • void SDL_GetVersion(SDL_version *ver) • SDL_Window *SDL_CreateWindow(const char * title,int x, int y,int w,int h,Uint32 flags) • void SDL_DestroyWindow(SDL_Window *window) 827
  • 4. Ring Documentation, Release 1.5.3 • void SDL_DisableScreenSaver(void) • void SDL_EnableScreenSaver(void) • SDL_GLContext SDL_GL_CreateContext(SDL_Window *window) • void SDL_GL_DeleteContext(SDL_GLContext context) • SDL_bool SDL_GL_ExtensionSupported(const char *extension) • int SDL_GL_GetAttribute(SDL_GLattr attr,int *value) • SDL_GLContext SDL_GL_GetCurrentContext(void) • SDL_Window *SDL_GL_GetCurrentWindow(void) • void SDL_GL_GetDrawableSize(SDL_Window *window,int *w,int *h) • void *SDL_GL_GetProcAddress(const char *proc) • int SDL_GL_GetSwapInterval(void) • int SDL_GL_LoadLibrary(const char *path) • int SDL_GL_MakeCurrent(SDL_Window *window,SDL_GLContext context) • void SDL_GL_ResetAttributes(void) • int SDL_GL_SetAttribute(SDL_GLattr attr,int value) • int SDL_GL_SetSwapInterval(int interval) • void SDL_GL_SwapWindow(SDL_Window *window) • void SDL_GL_UnloadLibrary(void) • SDL_DisplayMode *SDL_GetClosestDisplayMode(int displayIndex,SDL_DisplayMode *mode,SDL_DisplayMode *closest) • int SDL_GetCurrentDisplayMode(int displayIndex,SDL_DisplayMode *mode) • const char *SDL_GetCurrentVideoDriver(void) • int SDL_GetDesktopDisplayMode(int displayIndex,SDL_DisplayMode *mode) • int SDL_GetDisplayBounds(int displayIndex,SDL_Rect *rect) • int SDL_GetNumVideoDisplays(void) • int SDL_GetNumVideoDrivers(void) • const char * SDL_GetVideoDriver(int index) • void *SDL_GetWindowData(SDL_Window *window,const char *name) • int SDL_GetWindowDisplayIndex(SDL_Window *window) • int SDL_GetWindowDisplayMode(SDL_Window *window,SDL_DisplayMode *mode) • Uint32 SDL_GetWindowFlags(SDL_Window *window) • SDL_Window *SDL_GetWindowFromID(Uint32 id) • int SDL_GetWindowGammaRamp(SDL_Window *window,Uint16 *red,Uint16 *green,Uint16 *blue) • SDL_bool SDL_GetWindowGrab(SDL_Window *window) • Uint32 SDL_GetWindowID(SDL_Window* window) • void SDL_GetWindowMaximumSize(SDL_Window *window,int *w,int *h) 828
  • 5. Ring Documentation, Release 1.5.3 • void SDL_GetWindowMinimumSize(SDL_Window *window,int *w,int *h) • void SDL_GetWindowPosition(SDL_Window *window,int *x,int *y) • void SDL_GetWindowSize(SDL_Window *window,int *w,int *h) • SDL_Surface *SDL_GetWindowSurface(SDL_Window *window) • const char *SDL_GetWindowTitle(SDL_Window *window) • SDL_bool SDL_IsScreenSaverEnabled(void) • void SDL_MaximizeWindow(SDL_Window *window) • void SDL_MinimizeWindow(SDL_Window *window) • void SDL_RaiseWindow(SDL_Window *window) • void SDL_RestoreWindow(SDL_Window *window) • void SDL_SetWindowBordered(SDL_Window *window,SDL_bool bordered) • int SDL_SetWindowBrightness(SDL_Window *window,float brightness) • void *SDL_SetWindowData(SDL_Window *window,const char *name,void *userdata) • int SDL_SetWindowDisplayMode(SDL_Window *window,const SDL_DisplayMode *mode) • int SDL_SetWindowFullscreen(SDL_Window *window,Uint32 flags) • int SDL_SetWindowGammaRamp(SDL_Window window,const Uint16 *red,const Uint16 *green,const Uint16 blue) • void SDL_SetWindowGrab(SDL_Window *window,SDL_bool grabbed) • void SDL_SetWindowMinimumSize(SDL_Window* window,int min_w,int min_h) • void SDL_SetWindowSize(SDL_Window *window,int w,int h) • void SDL_SetWindowTitle(SDL_Window *window,const char *title) • int SDL_ShowMessageBox(const SDL_MessageBoxData *messageboxdata,int *buttonid) • int SDL_ShowSimpleMessageBox(Uint32 flags,const char *title,const char *message,SDL_Window *window) • void SDL_ShowWindow(SDL_Window *window) • int SDL_UpdateWindowSurface(SDL_Window *window) • int SDL_UpdateWindowSurfaceRects(SDL_Window *window,const SDL_Rect *rects,int numrects) • int SDL_VideoInit(const char *driver_name) • void SDL_VideoQuit(void) • SDL_Renderer *SDL_CreateRenderer(SDL_Window *window,int index,Uint32 flags) • SDL_Renderer *SDL_CreateSoftwareRenderer(SDL_Surface *surface) • SDL_Texture *SDL_CreateTexture(SDL_Renderer *renderer,Uint32 format,int access,int w,int h) • SDL_Texture *SDL_CreateTextureFromSurface(SDL_Renderer *renderer,SDL_Surface *surface) • void SDL_DestroyTexture(SDL_Texture *texture) • int SDL_GL_BindTexture(SDL_Texture *texture,float *texw,float *texh) • int SDL_GL_UnbindTexture(SDL_Texture *texture) • int SDL_GetNumRenderDrivers(void) 829
  • 6. Ring Documentation, Release 1.5.3 • int SDL_GetRenderDrawBlendMode(SDL_Renderer *renderer,SDL_BlendMode *blendMode) • int SDL_GetRenderDrawColor(SDL_Renderer *renderer,Uint8 *r,Uint8 *g,Uint8 *b,Uint8 *a) • int SDL_GetRenderDriverInfo(int index,SDL_RendererInfo *info) • SDL_Texture *SDL_GetRenderTarget(SDL_Renderer *renderer) • SDL_Renderer *SDL_GetRenderer(SDL_Window *window) • int SDL_GetRendererInfo(SDL_Renderer *renderer,SDL_RendererInfo *info) • int SDL_GetRendererOutputSize(SDL_Renderer *renderer,int *w,int *h) • int SDL_GetTextureAlphaMod(SDL_Texture *texture,Uint8 *alpha) • int SDL_GetTextureBlendMode(SDL_Texture *texture,SDL_BlendMode *blendMode) • int SDL_GetTextureColorMod(SDL_Texture *texture,Uint8 *r,Uint8 *g,Uint8 *b) • int SDL_LockTexture(SDL_Texture *texture,const SDL_Rect *rect,void **pixels,int *pitch) • int SDL_QueryTexture(SDL_Texture *texture,int *format,int *access,int *w,int *h) • int SDL_RenderClear(SDL_Renderer *renderer) • int SDL_RenderCopy(SDL_Renderer *renderer,SDL_Texture *texture,const SDL_Rect *srcrect,const SDL_Rect *dstrect) • int SDL_RenderCopyEx(SDL_Renderer *renderer,SDL_Texture *texture,const SDL_Rect *srcrect,const SDL_Rect *dstrect,const double angle,const SDL_Point *center,const SDL_RendererFlip flip) • int SDL_RenderDrawLine(SDL_Renderer *renderer,int x1,int y1,int x2,int y2) • int SDL_RenderDrawLines(SDL_Renderer *renderer,const SDL_Point *points,int count) • int SDL_RenderDrawPoint(SDL_Renderer *renderer,int x, int y) • int SDL_RenderDrawPoints(SDL_Renderer *renderer,const SDL_Point *points,int count) • int SDL_RenderDrawRect(SDL_Renderer *renderer,const SDL_Rect *rect) • int SDL_RenderDrawRects(SDL_Renderer *renderer,const SDL_Rect *rects,int count) • int SDL_RenderFillRect(SDL_Renderer *renderer,const SDL_Rect *rect) • int SDL_RenderFillRects(SDL_Renderer renderer,const SDL_Rect rects,int count) • void SDL_RenderGetClipRect(SDL_Renderer *renderer,SDL_Rect *rect) • void SDL_RenderGetScale(SDL_Renderer *renderer,float *scaleX,float *scaleY) • void SDL_RenderGetViewport(SDL_Renderer *renderer,SDL_Rect *rect) • int SDL_RenderReadPixels(SDL_Renderer *renderer,const SDL_Rect *rect,Uint32 format,void *pixels,int pitch) • int SDL_RenderSetClipRect(SDL_Renderer *renderer,const SDL_Rect *rect) • int SDL_RenderSetScale(SDL_Renderer *renderer,float scaleX,float scaleY) • int SDL_RenderSetViewport(SDL_Renderer *renderer,const SDL_Rect *rect) • SDL_bool SDL_RenderTargetSupported(SDL_Renderer *renderer) • int SDL_SetRenderDrawBlendMode(SDL_Renderer *renderer,SDL_BlendMode blendMode) • int SDL_SetRenderDrawColor(SDL_Renderer *renderer,Uint8 r,Uint8 g,Uint8 b,Uint8 a) • int SDL_SetRenderTarget(SDL_Renderer *renderer,SDL_Texture *texture) 830
  • 7. Ring Documentation, Release 1.5.3 • int SDL_SetTextureAlphaMod(SDL_Texture *texture,Uint8 alpha) • int SDL_SetTextureBlendMode(SDL_Texture *texture,SDL_BlendMode blendMode) • int SDL_SetTextureColorMod(SDL_Texture *texture,Uint8 r,Uint8 g,Uint8 b) • void SDL_UnlockTexture(SDL_Texture *texture) • int SDL_UpdateTexture(SDL_Texture *texture,const SDL_Rect *rect,const void*pixels,int pitch) • int SDL_UpdateYUVTexture(SDL_Texture *texture,const SDL_Rect *rect,const Uint8 *Yplane,int Yp- itch,const Uint8 *Uplane,int Upitch,const Uint8 *Vplane,int Vpitch) • SDL_PixelFormat *SDL_AllocFormat(Uint32 pixel_format) • SDL_Palette *SDL_AllocPalette(int ncolors) • void SDL_CalculateGammaRamp(float gamma,Uint16 *ramp) • void SDL_FreeFormat(SDL_PixelFormat *format) • void SDL_FreePalette(SDL_Palette *palette) • const char *SDL_GetPixelFormatName(Uint32 format) • void SDL_GetRGB(Uint32 pixel,const SDL_PixelFormat* format,Uint8 *r,Uint8 *g,Uint8 *b) • void SDL_GetRGBA(Uint32 pixel,const SDL_PixelFormat* format,Uint8 *r,Uint8 *g,Uint8 *b,Uint8 *a) • Uint32 SDL_MapRGB(const SDL_PixelFormat* format,Uint8 r,Uint8 g, Uint8 b) • Uint32 SDL_MapRGBA(const SDL_PixelFormat* format,Uint8 r,Uint8 g, Uint8 b, Uint8 a) • Uint32 SDL_MasksToPixelFormatEnum(int bpp,Uint32 Rmask,Uint32 Gmask,Uint32 Bmask,Uint32 Amask) • SDL_bool SDL_PixelFormatEnumToMasks(Uint32 format,int *bpp,Uint32 *Rmask,Uint32 *Gmask,Uint32 *Bmask,Uint32 *Amask) • int SDL_SetPaletteColors(SDL_Palette *palette,const SDL_Color *colors,int firstcolor,int ncolors) • int SDL_SetPixelFormatPalette(SDL_PixelFormat *format,SDL_Palette *palette) • SDL_bool SDL_EnclosePoints(const SDL_Point* points,int count,const SDL_Rect *clip,SDL_Rect *result) • SDL_bool SDL_HasIntersection(const SDL_Rect *A,const SDL_Rect *B) • SDL_bool SDL_IntersectRect(const SDL_Rect *A,const SDL_Rect *B,SDL_Rect *result) • SDL_bool SDL_IntersectRectAndLine(const SDL_Rect *rect,int *X1,int *Y1,int *X2,int *Y2) • SDL_bool SDL_RectEquals(const SDL_Rect *a,const SDL_Rect *b) • void SDL_UnionRect(const SDL_Rect *A,const SDL_Rect *B,SDL_Rect *result) • int SDL_BlitScaled(SDL_Surface *src,const SDL_Rect *srcrect,SDL_Surface *dst,SDL_Rect *dstrect) • int SDL_BlitSurface(SDL_Surface src,const SDL_Rect srcrect,SDL_Surface *dst,SDL_Rect *dstrect) • int SDL_ConvertPixels(int width,int height,Uint32 src_format,const void *src,int src_pitch,Uint32 dst_format,void *dst,int dst_pitch) • SDL_Surface *SDL_ConvertSurface(SDL_Surface *src,const SDL_PixelFormat *fmt,Uint32 flags) • SDL_Surface *SDL_ConvertSurfaceFormat(SDL_Surface *src,Uint32 pixel_format,Uint32 flags) • SDL_Surface *SDL_CreateRGBSurface(Uint32 flags,int width,int height,int depth,Uint32 Rmask,Uint32 Gmask,Uint32 Bmask,Uint32 Amask) • SDL_Surface* SDL_CreateRGBSurfaceFrom(void *pixels,int width,int height,int depth,int pitch,Uint32 Rmask,Uint32 Gmask,Uint32 Bmask,Uint32 Amask) 831
  • 8. Ring Documentation, Release 1.5.3 • int SDL_FillRect(SDL_Surface *dst,const SDL_Rect *rect,Uint32 color) • int SDL_FillRects(SDL_Surface *dst,const SDL_Rect *rects,int count,Uint32 color) • void SDL_FreeSurface(SDL_Surface *surface) • void SDL_GetClipRect(SDL_Surface *surface,SDL_Rect *rect) • int SDL_GetColorKey(SDL_Surface *surface,Uint32 *key) • int SDL_GetSurfaceAlphaMod(SDL_Surface *surface,Uint8 *alpha) • int SDL_GetSurfaceBlendMode(SDL_Surface *surface,SDL_BlendMode *blendMode) • int SDL_GetSurfaceColorMod(SDL_Surface *surface,Uint8 *r,Uint8 *g,Uint8 *b) • SDL_Surface *SDL_LoadBMP(const char *file) • SDL_Surface *SDL_LoadBMP_RW(SDL_RWops *src,int freesrc) • int SDL_LockSurface(SDL_Surface *surface) • int SDL_LowerBlit(SDL_Surface *src,SDL_Rect *srcrect,SDL_Surface *dst,SDL_Rect *dstrect) • int SDL_LowerBlitScaled(SDL_Surface *src,SDL_Rect *srcrect,SDL_Surface *dst,SDL_Rect *dstrect) • SDL_bool SDL_MUSTLOCK(SDL_Surface *surface) • int SDL_SaveBMP(SDL_Surface *surface,const char *file) • int SDL_SaveBMP_RW(SDL_Surface *surface,SDL_RWops *dst,int freedst) • SDL_bool SDL_SetClipRect(SDL_Surface *surface,const SDL_Rect *rect) • int SDL_SetColorKey(SDL_Surface *surface,int flag,Uint32 key) • int SDL_SetSurfaceAlphaMod(SDL_Surface *surface,Uint8 alpha) • int SDL_SetSurfaceBlendMode(SDL_Surface *surface,SDL_BlendMode blendMode) • int SDL_SetSurfaceColorMod(SDL_Surface *surface,Uint8 r,Uint8 g,Uint8 b) • int SDL_SetSurfacePalette(SDL_Surface *surface,SDL_Palette *palette) • int SDL_SetSurfaceRLE(SDL_Surface *surface,int flag) • void SDL_UnlockSurface(SDL_Surface* surface) • SDL_bool SDL_GetWindowWMInfo(SDL_Window *window,SDL_SysWMinfo *info) • char *SDL_GetClipboardText(void) • SDL_bool SDL_HasClipboardText(void) • int SDL_SetClipboardText(const char *text) • void SDL_AddEventWatch(SDL_EventFilter filter,void *userdata) • void SDL_DelEventWatch(SDL_EventFilter filter,void *userdata) • Uint8 SDL_EventState(Uint32 type,int state) • void SDL_FilterEvents(SDL_EventFilter filter,void *userdata) • void SDL_FlushEvent(Uint32 type) • void SDL_FlushEvents(Uint32 minType,Uint32 maxType) • SDL_bool SDL_GetEventFilter(SDL_EventFilter *filter,void **userdata) • Uint8 SDL_GetEventState(Uint32 type) 832
  • 9. Ring Documentation, Release 1.5.3 • int SDL_GetNumTouchDevices(void) • int SDL_GetNumTouchFingers(SDL_TouchID touchID) • SDL_TouchID SDL_GetTouchDevice(int index) • SDL_Finger* SDL_GetTouchFinger(SDL_TouchID touchID,int index) • SDL_bool SDL_HasEvent(Uint32 type) • SDL_bool SDL_HasEvents(Uint32 minType,Uint32 maxType) • int SDL_LoadDollarTemplates(SDL_TouchID touchId,SDL_RWops *src) • int SDL_PeepEvents(SDL_Event *events,int numevents,SDL_eventaction action,Uint32 minType,Uint32 max- Type) • int SDL_PollEvent(SDL_Event *event) • void SDL_PumpEvents(void) • int SDL_PushEvent(SDL_Event *event) • SDL_bool SDL_QuitRequested(void) • int SDL_RecordGesture(SDL_TouchID touchId) • Uint32 SDL_RegisterEvents(int numevents) • int SDL_SaveAllDollarTemplates(SDL_RWops *dst) • int SDL_SaveDollarTemplate(SDL_GestureID gestureId,SDL_RWops *dst) • void SDL_SetEventFilter(SDL_EventFilter filter,void *userdata) • int SDL_WaitEvent(SDL_Event *event) • int SDL_WaitEventTimeout(SDL_Event *event,int timeout) • SDL_Keycode SDL_GetKeyFromName(const char * name) • SDL_Keycode SDL_GetKeyFromScancode(SDL_Scancode scancode) • const char * SDL_GetKeyName(SDL_Keycode key) • SDL_Window* SDL_GetKeyboardFocus(void) • const Uint8* SDL_GetKeyboardState(int* numkeys) • SDL_Keymod SDL_GetModState(void) • SDL_Scancode SDL_GetScancodeFromKey(SDL_Keycode key) • SDL_Scancode SDL_GetScancodeFromName(const char * name) • const char * SDL_GetScancodeName(SDL_Scancode scancode) • SDL_bool SDL_HasScreenKeyboardSupport(void) • SDL_bool SDL_IsScreenKeyboardShown(SDL_Window* window) • SDL_bool SDL_IsTextInputActive(void) • void SDL_SetModState(SDL_Keymod modstate) • void SDL_SetTextInputRect(SDL_Rect* rect) • void SDL_StartTextInput(void) • void SDL_StopTextInput(void) 833
  • 10. Ring Documentation, Release 1.5.3 • SDL_Cursor *SDL_CreateCursor(const Uint8 *data,const Uint8 *mask,int w,int h,int hot_x,int hot_y) • void SDL_FreeCursor(SDL_Cursor *cursor) • SDL_Cursor *SDL_GetCursor(void) • SDL_Cursor *SDL_GetDefaultCursor(void) • Uint32 SDL_GetMouseState(int *x,int * y) • SDL_bool SDL_GetRelativeMouseMode(void) • Uint32 SDL_GetRelativeMouseState(int *x,int *y) • void SDL_SetCursor(SDL_Cursor *cursor) • int SDL_SetRelativeMouseMode(SDL_bool enabled) • int SDL_ShowCursor(int toggle) • void SDL_JoystickClose(SDL_Joystick *joystick) • SDL_bool SDL_JoystickGetAttached(SDL_Joystick *joystick) • Sint16 SDL_JoystickGetAxis(SDL_Joystick *joystick,int axis) • int SDL_JoystickGetBall(SDL_Joystick *joystick,int ball,int *dx,int *dy) • Uint8 SDL_JoystickGetButton(SDL_Joystick *joystick,int button) • SDL_JoystickGUID SDL_JoystickGetDeviceGUID(int device_index) • SDL_JoystickGUID SDL_JoystickGetGUID(SDL_Joystick *joystick) • SDL_JoystickGUID SDL_JoystickGetGUIDFromString(const char *pchGUID) • void SDL_JoystickGetGUIDString(SDL_JoystickGUID guid,char *pszGUID,int cbGUID) • Uint8 SDL_JoystickGetHat(SDL_Joystick *joystick,int hat) • SDL_JoystickID SDL_JoystickInstanceID(SDL_Joystick *joystick) • const char *SDL_JoystickName(SDL_Joystick *joystick) • const char *SDL_JoystickNameForIndex(int device_index) • int SDL_JoystickNumAxes(SDL_Joystick *joystick) • int SDL_JoystickNumBalls(SDL_Joystick *joystick) • int SDL_JoystickNumButtons(SDL_Joystick *joystick) • int SDL_JoystickNumHats(SDL_Joystick *joystick) • SDL_Joystick *SDL_JoystickOpen(int device_index) • void SDL_JoystickUpdate(void) • int SDL_NumJoysticks(void) • int SDL_GameControllerAddMapping(const char *mappingString) • int SDL_GameControllerAddMappingsFromFile(const char *filename) • int SDL_GameControllerAddMappingsFromRW(SDL_RWops *rw,int freerw) • void SDL_GameControllerClose(SDL_GameController *gamecontroller) • int SDL_GameControllerEventState(int state) • Sint16 SDL_GameControllerGetAxis(SDL_GameController *gamecontroller,SDL_GameControllerAxis axis) 834