mirror of
				https://github.com/nicbarker/clay.git
				synced 2025-11-04 08:36:17 +00:00 
			
		
		
		
	Update odin bindings for new text measurement API
This commit is contained in:
		
							parent
							
								
									326325ffaf
								
							
						
					
					
						commit
						01d3ab127f
					
				| 
						 | 
				
			
			@ -2,7 +2,7 @@ cp ../../clay.h clay.c;
 | 
			
		|||
# Intel Mac
 | 
			
		||||
clang -c -DCLAY_IMPLEMENTATION -o clay.o -static -target x86_64-apple-darwin clay.c -fPIC && ar r clay-odin/macos/clay.a clay.o;
 | 
			
		||||
# ARM Mac
 | 
			
		||||
clang -c -DCLAY_IMPLEMENTATION -o clay.o -static clay.c -fPIC && ar r clay-odin/macos-arm64/clay.a clay.o;
 | 
			
		||||
clang -c -DCLAY_IMPLEMENTATION -g -o clay.o -static clay.c -fPIC && ar r clay-odin/macos-arm64/clay.a clay.o;
 | 
			
		||||
# x64 Windows
 | 
			
		||||
clang -c -DCLAY_IMPLEMENTATION -o clay-odin/windows/clay.lib -target x86_64-pc-windows-msvc -fuse-ld=llvm-lib -static clay.c;
 | 
			
		||||
# Linux
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -22,6 +22,12 @@ String :: struct {
 | 
			
		|||
    chars:  [^]c.char,
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
StringSlice :: struct {
 | 
			
		||||
    length: c.int32_t,
 | 
			
		||||
    chars:  [^]c.char,
 | 
			
		||||
    baseChars:  [^]c.char,
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
Vector2 :: [2]c.float
 | 
			
		||||
 | 
			
		||||
Dimensions :: struct {
 | 
			
		||||
| 
						 | 
				
			
			@ -305,7 +311,7 @@ foreign Clay {
 | 
			
		|||
    PointerOver :: proc(id: ElementId) -> bool ---
 | 
			
		||||
    GetElementId :: proc(id: String) -> ElementId ---
 | 
			
		||||
    GetScrollContainerData :: proc(id: ElementId) -> ScrollContainerData ---
 | 
			
		||||
    SetMeasureTextFunction :: proc(measureTextFunction: proc "c" (text: ^String, config: ^TextElementConfig) -> Dimensions) ---
 | 
			
		||||
    SetMeasureTextFunction :: proc(measureTextFunction: proc "c" (text: StringSlice, config: ^TextElementConfig, userData: uintptr) -> Dimensions, userData: uintptr) ---
 | 
			
		||||
    RenderCommandArray_Get :: proc(array: ^ClayArray(RenderCommand), index: i32) -> ^RenderCommand ---
 | 
			
		||||
    SetDebugModeEnabled :: proc(enabled: bool) ---
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
										
											Binary file not shown.
										
									
								
							
										
											Binary file not shown.
										
									
								
							
										
											Binary file not shown.
										
									
								
							
										
											Binary file not shown.
										
									
								
							
										
											Binary file not shown.
										
									
								
							| 
						 | 
				
			
			@ -493,8 +493,8 @@ main :: proc() {
 | 
			
		|||
    minMemorySize: u32 = clay.MinMemorySize()
 | 
			
		||||
    memory := make([^]u8, minMemorySize)
 | 
			
		||||
    arena: clay.Arena = clay.CreateArenaWithCapacityAndMemory(minMemorySize, memory)
 | 
			
		||||
    clay.SetMeasureTextFunction(measureText)
 | 
			
		||||
    clay.Initialize(arena, {cast(f32)raylib.GetScreenWidth(), cast(f32)raylib.GetScreenHeight()}, { handler = errorHandler })
 | 
			
		||||
    clay.SetMeasureTextFunction(measureText, 0)
 | 
			
		||||
 | 
			
		||||
    raylib.SetConfigFlags({.VSYNC_HINT, .WINDOW_RESIZABLE, .WINDOW_HIGHDPI, .MSAA_4X_HINT})
 | 
			
		||||
    raylib.InitWindow(windowWidth, windowHeight, "Raylib Odin Example")
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -16,7 +16,7 @@ clayColorToRaylibColor :: proc(color: clay.Color) -> raylib.Color {
 | 
			
		|||
 | 
			
		||||
raylibFonts := [10]RaylibFont{}
 | 
			
		||||
 | 
			
		||||
measureText :: proc "c" (text: ^clay.String, config: ^clay.TextElementConfig) -> clay.Dimensions {
 | 
			
		||||
measureText :: proc "c" (text: clay.StringSlice, config: ^clay.TextElementConfig, userData: uintptr) -> clay.Dimensions {
 | 
			
		||||
    // Measure string size for Font
 | 
			
		||||
    textSize: clay.Dimensions = {0, 0}
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
		Reference in a new issue