From ee0f1c0268d12f2461de5582788ae6640be5b436 Mon Sep 17 00:00:00 2001 From: Felix Morgner Date: Wed, 18 Feb 2026 17:40:41 +0100 Subject: feat: render a red square --- libs/SDL.S | 1 + libs/SDL/events.S | 15 +++++++++++++++ libs/SDL/render.S | 30 +++++++++++++++++++++++++++++- 3 files changed, 45 insertions(+), 1 deletion(-) create mode 100644 libs/SDL/events.S (limited to 'libs') diff --git a/libs/SDL.S b/libs/SDL.S index 96efe31..6d96a8d 100644 --- a/libs/SDL.S +++ b/libs/SDL.S @@ -1,4 +1,5 @@ #include "SDL/error.S" +#include "SDL/event.S" #include "SDL/init.S" #include "SDL/rect.S" #include "SDL/render.S" diff --git a/libs/SDL/events.S b/libs/SDL/events.S new file mode 100644 index 0000000..b94b65c --- /dev/null +++ b/libs/SDL/events.S @@ -0,0 +1,15 @@ +//! @file events.S +//! +//! Assembler bindings for SDL2 (SDL_events.h) + +#define SIZE_SDL_Event 56 + +#define OFFSET_SDL_Event_type 0 + +#define SDL_EVENT_QUIT 0x100 + +//! @fn int SDL_PollEvent(SDL_Event * event); +//! @param event the SDL_Event structure to be filled with the next event from the queue, or NULL. +//! @return 1 if there is a pending event, or 0 if there isn't. +.type SDL_PollEvent, @function +.extern SDL_PollEvent \ No newline at end of file diff --git a/libs/SDL/render.S b/libs/SDL/render.S index d422971..70d1ca8 100644 --- a/libs/SDL/render.S +++ b/libs/SDL/render.S @@ -15,4 +15,32 @@ //! @fn void SDL_DestroyRenderer(SDL_Renderer * renderer); //! @param renderer the renderer to destroy .type SDL_DestroyRenderer, @function -.extern SDL_DestroyRenderer \ No newline at end of file +.extern SDL_DestroyRenderer + +//! @fn int SDL_RenderClear(SDL_Renderer * renderer); +//! @param renderer the rendering context. +//! @return 0 on success, or a negative value on error. +.type SDL_RenderClear, @function +.extern SDL_RenderClear + +//! @fn int SDL_RenderFillRect(SDL_Renderer * renderer, const SDL_Rect * rect); +//! @param renderer the rendering context. +//! @param rect the rectangle to fill +//! @return 0 on success, or a negative value on error. +.type SDL_RenderFillRect, @function +.extern SDL_RenderFillRect + +//! @fn void SDL_RenderPresent(SDL_Renderer * renderer); +//! @param renderer the rendering context +.type SDL_RenderPresent, @function +.extern SDL_RenderPresent + +//! @fn int SDL_SetRenderDrawColor(SDL_Renderer * renderer, Uint8 r, Uint8 g, Uint8 b, Uint8 a); +//! @param renderer the rendering context. +//! @param r the red value used to draw on the rendering target. +//! @param g the green value used to draw on the rendering target. +//! @param b the blue value used to draw on the rendering target. +//! @param a the alpha value used to draw on the rendering target. +//! @return 0 on success, or a negative value on error. +.type SDL_SetRenderDrawColor, @function +.extern SDL_SetRenderDrawColor \ No newline at end of file -- cgit v1.2.3