mirror of
https://github.com/nicbarker/clay.git
synced 2025-09-18 04:26:18 +00:00
[Renderers/SDL3] add support for custom SDL3 render commands
This commit is contained in:
parent
8dfcc944fa
commit
69921e898a
|
@ -4,10 +4,17 @@
|
||||||
#include <SDL3_ttf/SDL_ttf.h>
|
#include <SDL3_ttf/SDL_ttf.h>
|
||||||
#include <SDL3_image/SDL_image.h>
|
#include <SDL3_image/SDL_image.h>
|
||||||
|
|
||||||
typedef struct {
|
struct Clay_SDL3RendererData;
|
||||||
|
typedef void SDL_Clay_RenderCustomCommand(
|
||||||
|
struct Clay_SDL3RendererData *rendererData,
|
||||||
|
Clay_RenderCommand *rcommand,
|
||||||
|
const SDL_FRect view);
|
||||||
|
|
||||||
|
typedef struct Clay_SDL3RendererData {
|
||||||
SDL_Renderer *renderer;
|
SDL_Renderer *renderer;
|
||||||
TTF_TextEngine *textEngine;
|
TTF_TextEngine *textEngine;
|
||||||
TTF_Font **fonts;
|
TTF_Font **fonts;
|
||||||
|
SDL_Clay_RenderCustomCommand *custom_handler;
|
||||||
} Clay_SDL3RendererData;
|
} Clay_SDL3RendererData;
|
||||||
|
|
||||||
/* Global for convenience. Even in 4K this is enough for smooth curves (low radius or rect size coupled with
|
/* Global for convenience. Even in 4K this is enough for smooth curves (low radius or rect size coupled with
|
||||||
|
@ -257,6 +264,13 @@ static void SDL_Clay_RenderClayCommands(Clay_SDL3RendererData *rendererData, Cla
|
||||||
SDL_RenderTexture(rendererData->renderer, texture, NULL, &dest);
|
SDL_RenderTexture(rendererData->renderer, texture, NULL, &dest);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
case CLAY_RENDER_COMMAND_TYPE_CUSTOM: {
|
||||||
|
rendererData->custom_handler(
|
||||||
|
rendererData,
|
||||||
|
rcmd,
|
||||||
|
rect);
|
||||||
|
break;
|
||||||
|
}
|
||||||
default:
|
default:
|
||||||
SDL_Log("Unknown render command type: %d", rcmd->commandType);
|
SDL_Log("Unknown render command type: %d", rcmd->commandType);
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue