mirror of
https://github.com/nicbarker/clay.git
synced 2025-04-22 06:08:03 +00:00
Compare commits
9 Commits
eb4b454094
...
5b94223756
Author | SHA1 | Date | |
---|---|---|---|
|
5b94223756 | ||
|
c9e1a63378 | ||
|
20543bdc74 | ||
|
c13eef1c1e | ||
|
c24a41b9e4 | ||
|
23863edde0 | ||
|
974af1e61c | ||
|
10f1565f6f | ||
|
77bc75fc8b |
@ -33,8 +33,9 @@ target_link_libraries(SDL2_video_demo PUBLIC
|
|||||||
SDL2::SDL2-static
|
SDL2::SDL2-static
|
||||||
SDL2_ttf::SDL2_ttf-static
|
SDL2_ttf::SDL2_ttf-static
|
||||||
)
|
)
|
||||||
set(CMAKE_CXX_FLAGS_DEBUG "-Wall -Werror -DCLAY_DEBUG")
|
|
||||||
set(CMAKE_CXX_FLAGS_RELEASE "-O3")
|
set(CMAKE_C_FLAGS_DEBUG "-Wall -Werror -Wno-error=missing-braces -DCLAY_DEBUG")
|
||||||
|
set(CMAKE_C_FLAGS_RELEASE "-O3")
|
||||||
|
|
||||||
add_custom_command(
|
add_custom_command(
|
||||||
TARGET SDL2_video_demo POST_BUILD
|
TARGET SDL2_video_demo POST_BUILD
|
||||||
|
@ -8,8 +8,9 @@ target_compile_options(clay_examples_cairo_pdf_rendering PUBLIC)
|
|||||||
target_include_directories(clay_examples_cairo_pdf_rendering PUBLIC .)
|
target_include_directories(clay_examples_cairo_pdf_rendering PUBLIC .)
|
||||||
|
|
||||||
target_link_libraries(clay_examples_cairo_pdf_rendering PUBLIC cairo)
|
target_link_libraries(clay_examples_cairo_pdf_rendering PUBLIC cairo)
|
||||||
set(CMAKE_CXX_FLAGS_DEBUG "-Wall -Werror")
|
|
||||||
set(CMAKE_CXX_FLAGS_RELEASE "-O3")
|
set(CMAKE_C_FLAGS_DEBUG "-Wall -Werror -Wno-error=missing-braces")
|
||||||
|
set(CMAKE_C_FLAGS_RELEASE "-O3")
|
||||||
|
|
||||||
add_custom_command(
|
add_custom_command(
|
||||||
TARGET clay_examples_cairo_pdf_rendering POST_BUILD
|
TARGET clay_examples_cairo_pdf_rendering POST_BUILD
|
||||||
|
@ -5,7 +5,7 @@ set(CMAKE_C_STANDARD 99)
|
|||||||
|
|
||||||
add_executable(clay_official_website main.c)
|
add_executable(clay_official_website main.c)
|
||||||
|
|
||||||
target_compile_options(clay_official_website PUBLIC -Wall -Werror -Wno-unknown-pragmas)
|
target_compile_options(clay_official_website PUBLIC -Wall -Werror -Wno-unknown-pragmas -Wno-error=missing-braces)
|
||||||
target_include_directories(clay_official_website PUBLIC .)
|
target_include_directories(clay_official_website PUBLIC .)
|
||||||
|
|
||||||
set(CMAKE_CXX_FLAGS_RELEASE "-O3")
|
set(CMAKE_C_FLAGS_RELEASE "-O3")
|
@ -8,5 +8,5 @@ add_executable(clay_examples_cpp_project_example main.cpp)
|
|||||||
|
|
||||||
target_include_directories(clay_examples_cpp_project_example PUBLIC .)
|
target_include_directories(clay_examples_cpp_project_example PUBLIC .)
|
||||||
|
|
||||||
set(CMAKE_CXX_FLAGS_DEBUG "-Werror -Wall")
|
set(CMAKE_C_FLAGS_DEBUG "-Werror -Wall -Wno-error=missing-braces")
|
||||||
set(CMAKE_CXX_FLAGS_RELEASE "-O3")
|
set(CMAKE_C_FLAGS_RELEASE "-O3")
|
||||||
|
@ -24,8 +24,9 @@ target_compile_options(clay_examples_introducing_clay_video_demo PUBLIC)
|
|||||||
target_include_directories(clay_examples_introducing_clay_video_demo PUBLIC .)
|
target_include_directories(clay_examples_introducing_clay_video_demo PUBLIC .)
|
||||||
|
|
||||||
target_link_libraries(clay_examples_introducing_clay_video_demo PUBLIC raylib)
|
target_link_libraries(clay_examples_introducing_clay_video_demo PUBLIC raylib)
|
||||||
set(CMAKE_CXX_FLAGS_DEBUG "-Wall -Werror -DCLAY_DEBUG")
|
|
||||||
set(CMAKE_CXX_FLAGS_RELEASE "-O3")
|
set(CMAKE_C_FLAGS_DEBUG "-Wall -Werror -Wno-error=missing-braces -DCLAY_DEBUG")
|
||||||
|
set(CMAKE_C_FLAGS_RELEASE "-O3")
|
||||||
|
|
||||||
add_custom_command(
|
add_custom_command(
|
||||||
TARGET clay_examples_introducing_clay_video_demo POST_BUILD
|
TARGET clay_examples_introducing_clay_video_demo POST_BUILD
|
||||||
|
@ -1,6 +1,7 @@
|
|||||||
#define CLAY_IMPLEMENTATION
|
#define CLAY_IMPLEMENTATION
|
||||||
#include "../../clay.h"
|
#include "../../clay.h"
|
||||||
#include "../../renderers/raylib/clay_renderer_raylib.c"
|
#define CLAY_RAYLIB_IMPLEMENTATION // This is different to the video, the raylib renderer is now in a header file
|
||||||
|
#include "../../renderers/raylib/clay_renderer_raylib.h"
|
||||||
|
|
||||||
const int FONT_ID_BODY_16 = 0;
|
const int FONT_ID_BODY_16 = 0;
|
||||||
Clay_Color COLOR_WHITE = { 255, 255, 255, 255};
|
Clay_Color COLOR_WHITE = { 255, 255, 255, 255};
|
||||||
|
@ -24,8 +24,9 @@ target_compile_options(clay_examples_raylib_sidebar_scrolling_container PUBLIC)
|
|||||||
target_include_directories(clay_examples_raylib_sidebar_scrolling_container PUBLIC .)
|
target_include_directories(clay_examples_raylib_sidebar_scrolling_container PUBLIC .)
|
||||||
|
|
||||||
target_link_libraries(clay_examples_raylib_sidebar_scrolling_container PUBLIC raylib)
|
target_link_libraries(clay_examples_raylib_sidebar_scrolling_container PUBLIC raylib)
|
||||||
set(CMAKE_CXX_FLAGS_DEBUG "-Wall -Werror -DCLAY_DEBUG")
|
|
||||||
set(CMAKE_CXX_FLAGS_RELEASE "-O3")
|
set(CMAKE_C_FLAGS_DEBUG "-Wall -Werror -Wno-error=missing-braces -DCLAY_DEBUG")
|
||||||
|
set(CMAKE_C_FLAGS_RELEASE "-O3")
|
||||||
|
|
||||||
add_custom_command(
|
add_custom_command(
|
||||||
TARGET clay_examples_raylib_sidebar_scrolling_container POST_BUILD
|
TARGET clay_examples_raylib_sidebar_scrolling_container POST_BUILD
|
||||||
|
@ -1,6 +1,7 @@
|
|||||||
#define CLAY_IMPLEMENTATION
|
#define CLAY_IMPLEMENTATION
|
||||||
#include "../../clay.h"
|
#include "../../clay.h"
|
||||||
#include "../../renderers/raylib/clay_renderer_raylib.c"
|
#define CLAY_RAYLIB_IMPLEMENTATION
|
||||||
|
#include "../../renderers/raylib/clay_renderer_raylib.h"
|
||||||
|
|
||||||
const uint32_t FONT_ID_BODY_24 = 0;
|
const uint32_t FONT_ID_BODY_24 = 0;
|
||||||
const uint32_t FONT_ID_BODY_16 = 1;
|
const uint32_t FONT_ID_BODY_16 = 1;
|
||||||
|
3
generator/array_allocate_pointer.template.c
Normal file
3
generator/array_allocate_pointer.template.c
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
$NAME$ $NAME$_Allocate_Arena(uint32_t capacity, Clay_Arena *arena) {
|
||||||
|
return CLAY__INIT($NAME$){.capacity = capacity, .length = 0, .internalArray = ($TYPE$ *)Clay__Array_Allocate_Arena(capacity, sizeof($TYPE$), CLAY__POINTER_ALIGNMENT, arena)};
|
||||||
|
}
|
@ -1,6 +1,6 @@
|
|||||||
typedef struct
|
CLAY__TYPEDEF($NAME$, struct
|
||||||
{
|
{
|
||||||
uint32_t capacity;
|
uint32_t capacity;
|
||||||
uint32_t length;
|
uint32_t length;
|
||||||
$TYPE$ *internalArray;
|
$TYPE$ *internalArray;
|
||||||
} $NAME$;
|
});
|
@ -1,5 +1,5 @@
|
|||||||
typedef struct
|
CLAY__TYPEDEF($NAME$Slice, struct
|
||||||
{
|
{
|
||||||
uint32_t length;
|
uint32_t length;
|
||||||
$TYPE$ *internalArray;
|
$TYPE$ *internalArray;
|
||||||
} $NAME$Slice;
|
});
|
@ -1,3 +1,6 @@
|
|||||||
|
#ifndef CLAY_RENDERER_RAYLIB_H
|
||||||
|
#define CLAY_RENDERER_RAYLIB_H
|
||||||
|
|
||||||
#include "raylib.h"
|
#include "raylib.h"
|
||||||
#include "raymath.h"
|
#include "raymath.h"
|
||||||
#include "stdint.h"
|
#include "stdint.h"
|
||||||
@ -14,8 +17,6 @@ typedef struct
|
|||||||
Font font;
|
Font font;
|
||||||
} Raylib_Font;
|
} Raylib_Font;
|
||||||
|
|
||||||
Raylib_Font Raylib_fonts[10];
|
|
||||||
Camera Raylib_camera;
|
|
||||||
|
|
||||||
typedef enum
|
typedef enum
|
||||||
{
|
{
|
||||||
@ -38,6 +39,14 @@ typedef struct
|
|||||||
};
|
};
|
||||||
} CustomLayoutElement;
|
} CustomLayoutElement;
|
||||||
|
|
||||||
|
#ifdef CLAY_RAYLIB_IMPLEMENTATION
|
||||||
|
#undef 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
|
// 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)
|
Ray GetScreenToWorldPointWithZDistance(Vector2 position, Camera camera, int screenWidth, int screenHeight, float zDistance)
|
||||||
{
|
{
|
||||||
@ -87,8 +96,6 @@ Ray GetScreenToWorldPointWithZDistance(Vector2 position, Camera camera, int scre
|
|||||||
return ray;
|
return ray;
|
||||||
}
|
}
|
||||||
|
|
||||||
uint32_t measureCalls = 0;
|
|
||||||
|
|
||||||
static inline Clay_Dimensions Raylib_MeasureText(Clay_String *text, Clay_TextElementConfig *config) {
|
static inline Clay_Dimensions Raylib_MeasureText(Clay_String *text, Clay_TextElementConfig *config) {
|
||||||
measureCalls++;
|
measureCalls++;
|
||||||
// Measure string size for Font
|
// Measure string size for Font
|
||||||
@ -122,6 +129,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) {
|
void Clay_Raylib_Initialize(int width, int height, const char *title, unsigned int flags) {
|
||||||
|
measureCalls = 0;
|
||||||
SetConfigFlags(flags);
|
SetConfigFlags(flags);
|
||||||
InitWindow(width, height, title);
|
InitWindow(width, height, title);
|
||||||
// EnableEventWaiting();
|
// EnableEventWaiting();
|
||||||
@ -231,3 +239,6 @@ void Clay_Raylib_Render(Clay_RenderCommandArray renderCommands)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#endif // CLAY_RAYLIB_IMPLEMENTATION
|
||||||
|
#endif // CLAY_RENDERER_RAYLIB_H
|
Loading…
Reference in New Issue
Block a user