From 77bc75fc8b0ddeb0b746d524dce8e0e888dd98b0 Mon Sep 17 00:00:00 2001 From: peterc-s Date: Sat, 28 Dec 2024 13:56:54 +0000 Subject: [PATCH] move raylib renderer to header file Author: peterc-s --- ...renderer_raylib.c => clay_renderer_raylib.h} | 17 +++++++++++++---- 1 file changed, 13 insertions(+), 4 deletions(-) rename renderers/raylib/{clay_renderer_raylib.c => clay_renderer_raylib.h} (98%) diff --git a/renderers/raylib/clay_renderer_raylib.c b/renderers/raylib/clay_renderer_raylib.h similarity index 98% rename from renderers/raylib/clay_renderer_raylib.c rename to renderers/raylib/clay_renderer_raylib.h index 0fe545a..fb01e73 100644 --- a/renderers/raylib/clay_renderer_raylib.c +++ b/renderers/raylib/clay_renderer_raylib.h @@ -1,3 +1,6 @@ +#ifndef CLAY_RENDERER_RAYLIB_H +#define CLAY_RENDERER_RAYLIB_H + #include "raylib.h" #include "raymath.h" #include "stdint.h" @@ -14,8 +17,6 @@ typedef struct Font font; } Raylib_Font; -Raylib_Font Raylib_fonts[10]; -Camera Raylib_camera; typedef enum { @@ -38,6 +39,12 @@ typedef struct }; } CustomLayoutElement; +#ifdef CLAY_RAYLIB_IMPLEMENTATION +// Global state +Raylib_Font Raylib_fonts[10]; +Camera Raylib_camera; +uint32_t measureCalls = 0; + // Get a ray trace from the screen position (i.e mouse) within a specific section of the screen Ray GetScreenToWorldPointWithZDistance(Vector2 position, Camera camera, int screenWidth, int screenHeight, float zDistance) { @@ -87,8 +94,6 @@ Ray GetScreenToWorldPointWithZDistance(Vector2 position, Camera camera, int scre return ray; } -uint32_t measureCalls = 0; - static inline Clay_Dimensions Raylib_MeasureText(Clay_String *text, Clay_TextElementConfig *config) { measureCalls++; // Measure string size for Font @@ -122,6 +127,7 @@ static inline Clay_Dimensions Raylib_MeasureText(Clay_String *text, Clay_TextEle } void Clay_Raylib_Initialize(int width, int height, const char *title, unsigned int flags) { + measureCalls = 0; SetConfigFlags(flags); InitWindow(width, height, title); // EnableEventWaiting(); @@ -231,3 +237,6 @@ void Clay_Raylib_Render(Clay_RenderCommandArray renderCommands) } } } + +#endif // CLAY_RAYLIB_IMPLEMENTATION +#endif // CLAY_RENDERER_RAYLIB_H