mirror of
				https://github.com/nicbarker/clay.git
				synced 2025-11-04 08:36:17 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			39 lines
		
	
	
		
			1.4 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			39 lines
		
	
	
		
			1.4 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
// Must be defined in one file, _before_ #include "clay.h"
 | 
						|
#define CLAY_IMPLEMENTATION
 | 
						|
 | 
						|
#include <unistd.h>
 | 
						|
#include "../../clay.h"
 | 
						|
#include "../../renderers/terminal/clay_renderer_terminal_ansi.c"
 | 
						|
#include "../shared-layouts/clay-video-demo.c"
 | 
						|
 | 
						|
const Clay_Color COLOR_LIGHT = (Clay_Color) {224, 215, 210, 255};
 | 
						|
const Clay_Color COLOR_RED = (Clay_Color) {168, 66, 28, 255};
 | 
						|
const Clay_Color COLOR_ORANGE = (Clay_Color) {225, 138, 50, 255};
 | 
						|
 | 
						|
void HandleClayErrors(Clay_ErrorData errorData) {
 | 
						|
    printf("%s", errorData.errorText.chars);
 | 
						|
}
 | 
						|
 | 
						|
int main() {
 | 
						|
    const int width = 145;
 | 
						|
    const int height = 41;
 | 
						|
    int columnWidth = 16;
 | 
						|
 | 
						|
    uint64_t totalMemorySize = Clay_MinMemorySize();
 | 
						|
    Clay_Arena arena = Clay_CreateArenaWithCapacityAndMemory(totalMemorySize, malloc(totalMemorySize));
 | 
						|
    Clay_Initialize(arena,
 | 
						|
                    (Clay_Dimensions) {.width = (float) width * columnWidth, .height = (float) height * columnWidth},
 | 
						|
                    (Clay_ErrorHandler) {HandleClayErrors});
 | 
						|
    // Tell clay how to measure text
 | 
						|
    Clay_SetMeasureTextFunction(Console_MeasureText, &columnWidth);
 | 
						|
    ClayVideoDemo_Data demoData = ClayVideoDemo_Initialize();
 | 
						|
 | 
						|
    while (true) {
 | 
						|
        Clay_RenderCommandArray renderCommands = ClayVideoDemo_CreateLayout(&demoData);
 | 
						|
 | 
						|
        Clay_Terminal_Render(renderCommands, width, height, columnWidth);
 | 
						|
 | 
						|
        fflush(stdout);
 | 
						|
        sleep(1);
 | 
						|
    }
 | 
						|
} |