normalize line endings in generated files

This commit is contained in:
Nikita Smith
2026-06-02 12:10:34 -07:00
committed by Ryan Fleury
parent 9447cce94d
commit c62afbcf83
23 changed files with 6096 additions and 6095 deletions
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
+208 -208
View File
@@ -1,208 +1,208 @@
// Copyright (c) Epic Games Tools // Copyright (c) Epic Games Tools
// Licensed under the MIT license (https://opensource.org/license/mit/) // Licensed under the MIT license (https://opensource.org/license/mit/)
//- GENERATED CODE //- GENERATED CODE
C_LINKAGE_BEGIN C_LINKAGE_BEGIN
String8 d_entity_kind_code_name_table[12] = String8 d_entity_kind_code_name_table[12] =
{ {
{0}, {0},
str8_lit_comp("root"), str8_lit_comp("root"),
str8_lit_comp("machine"), str8_lit_comp("machine"),
str8_lit_comp("process"), str8_lit_comp("process"),
str8_lit_comp("thread"), str8_lit_comp("thread"),
str8_lit_comp("module"), str8_lit_comp("module"),
str8_lit_comp("entry_point"), str8_lit_comp("entry_point"),
str8_lit_comp("debug_info_path"), str8_lit_comp("debug_info_path"),
str8_lit_comp("pending_thread_name"), str8_lit_comp("pending_thread_name"),
str8_lit_comp("pending_thread_color"), str8_lit_comp("pending_thread_color"),
str8_lit_comp("breakpoint"), str8_lit_comp("breakpoint"),
str8_lit_comp("address_range_annotation"), str8_lit_comp("address_range_annotation"),
}; };
String8 d_entity_kind_display_string_table[12] = String8 d_entity_kind_display_string_table[12] =
{ {
{0}, {0},
str8_lit_comp("Root"), str8_lit_comp("Root"),
str8_lit_comp("Machine"), str8_lit_comp("Machine"),
str8_lit_comp("Process"), str8_lit_comp("Process"),
str8_lit_comp("Thread"), str8_lit_comp("Thread"),
str8_lit_comp("Module"), str8_lit_comp("Module"),
str8_lit_comp("EntryPoint"), str8_lit_comp("EntryPoint"),
str8_lit_comp("DebugInfoPath"), str8_lit_comp("DebugInfoPath"),
str8_lit_comp("PendingThreadName"), str8_lit_comp("PendingThreadName"),
str8_lit_comp("PendingThreadColor"), str8_lit_comp("PendingThreadColor"),
str8_lit_comp("Breakpoint"), str8_lit_comp("Breakpoint"),
str8_lit_comp("AddressRangeAnnotation"), str8_lit_comp("AddressRangeAnnotation"),
}; };
U32 d_exception_code_kind_code_table[38] = U32 d_exception_code_kind_code_table[38] =
{ {
0, 0,
0x40010005, 0x40010005,
0x40010008, 0x40010008,
0x40080201, 0x40080201,
0x40080202, 0x40080202,
0x0000071a, 0x0000071a,
0x80000002, 0x80000002,
0xc0000005, 0xc0000005,
0xc0000006, 0xc0000006,
0xc0000008, 0xc0000008,
0xc0000017, 0xc0000017,
0xc000001d, 0xc000001d,
0xc0000025, 0xc0000025,
0xc0000026, 0xc0000026,
0xc000008c, 0xc000008c,
0xc000008d, 0xc000008d,
0xc000008e, 0xc000008e,
0xc000008f, 0xc000008f,
0xc0000090, 0xc0000090,
0xc0000091, 0xc0000091,
0xc0000092, 0xc0000092,
0xc0000093, 0xc0000093,
0xc0000094, 0xc0000094,
0xc0000095, 0xc0000095,
0xc0000096, 0xc0000096,
0xc00000fd, 0xc00000fd,
0xc0000135, 0xc0000135,
0xc0000138, 0xc0000138,
0xc0000139, 0xc0000139,
0xc0000142, 0xc0000142,
0xc00002b4, 0xc00002b4,
0xc00002b5, 0xc00002b5,
0xc0000420, 0xc0000420,
0xc06d007e, 0xc06d007e,
0xc06d007f, 0xc06d007f,
0xe073616e, 0xe073616e,
0xe0736171, 0xe0736171,
0x0000087a, 0x0000087a,
}; };
String8 d_exception_code_kind_display_string_table[38] = String8 d_exception_code_kind_display_string_table[38] =
{ {
{0}, {0},
str8_lit_comp("(Win32) Control-C"), str8_lit_comp("(Win32) Control-C"),
str8_lit_comp("(Win32) Control-Break"), str8_lit_comp("(Win32) Control-Break"),
str8_lit_comp("(Win32) WinRT Originate Error"), str8_lit_comp("(Win32) WinRT Originate Error"),
str8_lit_comp("(Win32) WinRT Transform Error"), str8_lit_comp("(Win32) WinRT Transform Error"),
str8_lit_comp("(Win32) RPC Call Cancelled"), str8_lit_comp("(Win32) RPC Call Cancelled"),
str8_lit_comp("(Win32) Data Type Misalignment"), str8_lit_comp("(Win32) Data Type Misalignment"),
str8_lit_comp("(Win32) Access Violation"), str8_lit_comp("(Win32) Access Violation"),
str8_lit_comp("(Win32) In Page Error"), str8_lit_comp("(Win32) In Page Error"),
str8_lit_comp("(Win32) Invalid Handle Specified"), str8_lit_comp("(Win32) Invalid Handle Specified"),
str8_lit_comp("(Win32) Not Enough Quota"), str8_lit_comp("(Win32) Not Enough Quota"),
str8_lit_comp("(Win32) Illegal Instruction"), str8_lit_comp("(Win32) Illegal Instruction"),
str8_lit_comp("(Win32) Cannot Continue From Exception"), str8_lit_comp("(Win32) Cannot Continue From Exception"),
str8_lit_comp("(Win32) Invalid Exception Disposition Returned By Handler"), str8_lit_comp("(Win32) Invalid Exception Disposition Returned By Handler"),
str8_lit_comp("(Win32) Array Bounds Exceeded"), str8_lit_comp("(Win32) Array Bounds Exceeded"),
str8_lit_comp("(Win32) Floating-Point Denormal Operand"), str8_lit_comp("(Win32) Floating-Point Denormal Operand"),
str8_lit_comp("(Win32) Floating-Point Division By Zero"), str8_lit_comp("(Win32) Floating-Point Division By Zero"),
str8_lit_comp("(Win32) Floating-Point Inexact Result"), str8_lit_comp("(Win32) Floating-Point Inexact Result"),
str8_lit_comp("(Win32) Floating-Point Invalid Operation"), str8_lit_comp("(Win32) Floating-Point Invalid Operation"),
str8_lit_comp("(Win32) Floating-Point Overflow"), str8_lit_comp("(Win32) Floating-Point Overflow"),
str8_lit_comp("(Win32) Floating-Point Stack Check"), str8_lit_comp("(Win32) Floating-Point Stack Check"),
str8_lit_comp("(Win32) Floating-Point Underflow"), str8_lit_comp("(Win32) Floating-Point Underflow"),
str8_lit_comp("(Win32) Integer Division By Zero"), str8_lit_comp("(Win32) Integer Division By Zero"),
str8_lit_comp("(Win32) Integer Overflow"), str8_lit_comp("(Win32) Integer Overflow"),
str8_lit_comp("(Win32) Privileged Instruction"), str8_lit_comp("(Win32) Privileged Instruction"),
str8_lit_comp("(Win32) Stack Overflow"), str8_lit_comp("(Win32) Stack Overflow"),
str8_lit_comp("(Win32) Unable To Locate DLL"), str8_lit_comp("(Win32) Unable To Locate DLL"),
str8_lit_comp("(Win32) Ordinal Not Found"), str8_lit_comp("(Win32) Ordinal Not Found"),
str8_lit_comp("(Win32) Entry Point Not Found"), str8_lit_comp("(Win32) Entry Point Not Found"),
str8_lit_comp("(Win32) DLL Initialization Failed"), str8_lit_comp("(Win32) DLL Initialization Failed"),
str8_lit_comp("(Win32) Floating Point SSE Multiple Faults"), str8_lit_comp("(Win32) Floating Point SSE Multiple Faults"),
str8_lit_comp("(Win32) Floating Point SSE Multiple Traps"), str8_lit_comp("(Win32) Floating Point SSE Multiple Traps"),
str8_lit_comp("(Win32) Assertion Failed"), str8_lit_comp("(Win32) Assertion Failed"),
str8_lit_comp("(Win32) Module Not Found"), str8_lit_comp("(Win32) Module Not Found"),
str8_lit_comp("(Win32) Procedure Not Found"), str8_lit_comp("(Win32) Procedure Not Found"),
str8_lit_comp("(Win32) Sanitizer Error Detected"), str8_lit_comp("(Win32) Sanitizer Error Detected"),
str8_lit_comp("(Win32) Sanitizer Raw Access Violation"), str8_lit_comp("(Win32) Sanitizer Raw Access Violation"),
str8_lit_comp("(Win32) DirectX Debug Layer"), str8_lit_comp("(Win32) DirectX Debug Layer"),
}; };
String8 d_exception_code_kind_lowercase_code_string_table[38] = String8 d_exception_code_kind_lowercase_code_string_table[38] =
{ {
{0}, {0},
str8_lit_comp("win32_ctrl_c"), str8_lit_comp("win32_ctrl_c"),
str8_lit_comp("win32_ctrl_break"), str8_lit_comp("win32_ctrl_break"),
str8_lit_comp("win32_win_rt_originate_error"), str8_lit_comp("win32_win_rt_originate_error"),
str8_lit_comp("win32_win_rt_transform_error"), str8_lit_comp("win32_win_rt_transform_error"),
str8_lit_comp("win32_rpc_call_cancelled"), str8_lit_comp("win32_rpc_call_cancelled"),
str8_lit_comp("win32_datatype_misalignment"), str8_lit_comp("win32_datatype_misalignment"),
str8_lit_comp("win32_access_violation"), str8_lit_comp("win32_access_violation"),
str8_lit_comp("win32_in_page_error"), str8_lit_comp("win32_in_page_error"),
str8_lit_comp("win32_invalid_handle"), str8_lit_comp("win32_invalid_handle"),
str8_lit_comp("win32_not_enough_quota"), str8_lit_comp("win32_not_enough_quota"),
str8_lit_comp("win32_illegal_instruction"), str8_lit_comp("win32_illegal_instruction"),
str8_lit_comp("win32_cannot_continue_exception"), str8_lit_comp("win32_cannot_continue_exception"),
str8_lit_comp("win32_invalid_exception_disposition"), str8_lit_comp("win32_invalid_exception_disposition"),
str8_lit_comp("win32_array_bounds_exceeded"), str8_lit_comp("win32_array_bounds_exceeded"),
str8_lit_comp("win32_floating_point_denormal_operand"), str8_lit_comp("win32_floating_point_denormal_operand"),
str8_lit_comp("win32_floating_point_division_by_zero"), str8_lit_comp("win32_floating_point_division_by_zero"),
str8_lit_comp("win32_floating_point_inexact_result"), str8_lit_comp("win32_floating_point_inexact_result"),
str8_lit_comp("win32_floating_point_invalid_operation"), str8_lit_comp("win32_floating_point_invalid_operation"),
str8_lit_comp("win32_floating_point_overflow"), str8_lit_comp("win32_floating_point_overflow"),
str8_lit_comp("win32_floating_point_stack_check"), str8_lit_comp("win32_floating_point_stack_check"),
str8_lit_comp("win32_floating_point_underflow"), str8_lit_comp("win32_floating_point_underflow"),
str8_lit_comp("win32_integer_division_by_zero"), str8_lit_comp("win32_integer_division_by_zero"),
str8_lit_comp("win32_integer_overflow"), str8_lit_comp("win32_integer_overflow"),
str8_lit_comp("win32_privileged_instruction"), str8_lit_comp("win32_privileged_instruction"),
str8_lit_comp("win32_stack_overflow"), str8_lit_comp("win32_stack_overflow"),
str8_lit_comp("win32_unable_to_locate_dll"), str8_lit_comp("win32_unable_to_locate_dll"),
str8_lit_comp("win32_ordinal_not_found"), str8_lit_comp("win32_ordinal_not_found"),
str8_lit_comp("win32_entry_point_not_found"), str8_lit_comp("win32_entry_point_not_found"),
str8_lit_comp("win32_dll_initialization_failed"), str8_lit_comp("win32_dll_initialization_failed"),
str8_lit_comp("win32_floating_point_sse_multiple_faults"), str8_lit_comp("win32_floating_point_sse_multiple_faults"),
str8_lit_comp("win32_floating_point_sse_multiple_traps"), str8_lit_comp("win32_floating_point_sse_multiple_traps"),
str8_lit_comp("win32_assertion_failed"), str8_lit_comp("win32_assertion_failed"),
str8_lit_comp("win32_module_not_found"), str8_lit_comp("win32_module_not_found"),
str8_lit_comp("win32_procedure_not_found"), str8_lit_comp("win32_procedure_not_found"),
str8_lit_comp("win32_sanitizer_error_detected"), str8_lit_comp("win32_sanitizer_error_detected"),
str8_lit_comp("win32_sanitizer_raw_access_violation"), str8_lit_comp("win32_sanitizer_raw_access_violation"),
str8_lit_comp("win32_directx_debug_layer"), str8_lit_comp("win32_directx_debug_layer"),
}; };
B8 d_exception_code_kind_default_enable_table[38] = B8 d_exception_code_kind_default_enable_table[38] =
{ {
0, 0,
1, 1,
1, 1,
0, 0,
0, 0,
0, 0,
0, 0,
1, 1,
0, 0,
1, 1,
0, 0,
0, 0,
0, 0,
0, 0,
0, 0,
0, 0,
0, 0,
0, 0,
0, 0,
0, 0,
0, 0,
0, 0,
0, 0,
0, 0,
0, 0,
0, 0,
0, 0,
0, 0,
0, 0,
0, 0,
0, 0,
0, 0,
1, 1,
0, 0,
0, 0,
1, 1,
0, 0,
1, 1,
}; };
C_LINKAGE_END C_LINKAGE_END
+42 -42
View File
@@ -1,42 +1,42 @@
// Copyright (c) Epic Games Tools // Copyright (c) Epic Games Tools
// Licensed under the MIT license (https://opensource.org/license/mit/) // Licensed under the MIT license (https://opensource.org/license/mit/)
//- GENERATED CODE //- GENERATED CODE
C_LINKAGE_BEGIN C_LINKAGE_BEGIN
String8 dmn_event_kind_string_table[21] = String8 dmn_event_kind_string_table[21] =
{ {
str8_lit_comp("Null"), str8_lit_comp("Null"),
str8_lit_comp("Error"), str8_lit_comp("Error"),
str8_lit_comp("HandshakeComplete"), str8_lit_comp("HandshakeComplete"),
str8_lit_comp("CreateProcess"), str8_lit_comp("CreateProcess"),
str8_lit_comp("ExitProcess"), str8_lit_comp("ExitProcess"),
str8_lit_comp("CreateThread"), str8_lit_comp("CreateThread"),
str8_lit_comp("ExitThread"), str8_lit_comp("ExitThread"),
str8_lit_comp("LoadModule"), str8_lit_comp("LoadModule"),
str8_lit_comp("UnloadModule"), str8_lit_comp("UnloadModule"),
str8_lit_comp("Breakpoint"), str8_lit_comp("Breakpoint"),
str8_lit_comp("Trap"), str8_lit_comp("Trap"),
str8_lit_comp("SingleStep"), str8_lit_comp("SingleStep"),
str8_lit_comp("Exception"), str8_lit_comp("Exception"),
str8_lit_comp("Halt"), str8_lit_comp("Halt"),
str8_lit_comp("Memory"), str8_lit_comp("Memory"),
str8_lit_comp("DebugString"), str8_lit_comp("DebugString"),
str8_lit_comp("SetThreadName"), str8_lit_comp("SetThreadName"),
str8_lit_comp("SetThreadColor"), str8_lit_comp("SetThreadColor"),
str8_lit_comp("SetBreakpoint"), str8_lit_comp("SetBreakpoint"),
str8_lit_comp("UnsetBreakpoint"), str8_lit_comp("UnsetBreakpoint"),
str8_lit_comp("SetVAddrRangeNote"), str8_lit_comp("SetVAddrRangeNote"),
}; };
String8 dmn_exception_kind_string_table[5] = String8 dmn_exception_kind_string_table[5] =
{ {
str8_lit_comp("Null"), str8_lit_comp("Null"),
str8_lit_comp("MemoryRead"), str8_lit_comp("MemoryRead"),
str8_lit_comp("MemoryWrite"), str8_lit_comp("MemoryWrite"),
str8_lit_comp("MemoryExecute"), str8_lit_comp("MemoryExecute"),
str8_lit_comp("CppThrow"), str8_lit_comp("CppThrow"),
}; };
C_LINKAGE_END C_LINKAGE_END
+70 -70
View File
@@ -1,70 +1,70 @@
// Copyright (c) Epic Games Tools // Copyright (c) Epic Games Tools
// Licensed under the MIT license (https://opensource.org/license/mit/) // Licensed under the MIT license (https://opensource.org/license/mit/)
//- GENERATED CODE //- GENERATED CODE
#ifndef DEMON_META_H #ifndef DEMON_META_H
#define DEMON_META_H #define DEMON_META_H
typedef enum DMN_EventKind typedef enum DMN_EventKind
{ {
DMN_EventKind_Null, DMN_EventKind_Null,
DMN_EventKind_Error, DMN_EventKind_Error,
DMN_EventKind_HandshakeComplete, DMN_EventKind_HandshakeComplete,
DMN_EventKind_CreateProcess, DMN_EventKind_CreateProcess,
DMN_EventKind_ExitProcess, DMN_EventKind_ExitProcess,
DMN_EventKind_CreateThread, DMN_EventKind_CreateThread,
DMN_EventKind_ExitThread, DMN_EventKind_ExitThread,
DMN_EventKind_LoadModule, DMN_EventKind_LoadModule,
DMN_EventKind_UnloadModule, DMN_EventKind_UnloadModule,
DMN_EventKind_Breakpoint, DMN_EventKind_Breakpoint,
DMN_EventKind_Trap, DMN_EventKind_Trap,
DMN_EventKind_SingleStep, DMN_EventKind_SingleStep,
DMN_EventKind_Exception, DMN_EventKind_Exception,
DMN_EventKind_Halt, DMN_EventKind_Halt,
DMN_EventKind_Memory, DMN_EventKind_Memory,
DMN_EventKind_DebugString, DMN_EventKind_DebugString,
DMN_EventKind_SetThreadName, DMN_EventKind_SetThreadName,
DMN_EventKind_SetThreadColor, DMN_EventKind_SetThreadColor,
DMN_EventKind_SetBreakpoint, DMN_EventKind_SetBreakpoint,
DMN_EventKind_UnsetBreakpoint, DMN_EventKind_UnsetBreakpoint,
DMN_EventKind_SetVAddrRangeNote, DMN_EventKind_SetVAddrRangeNote,
DMN_EventKind_COUNT, DMN_EventKind_COUNT,
} DMN_EventKind; } DMN_EventKind;
typedef enum DMN_ErrorKind typedef enum DMN_ErrorKind
{ {
DMN_ErrorKind_Null, DMN_ErrorKind_Null,
DMN_ErrorKind_NotAttached, DMN_ErrorKind_NotAttached,
DMN_ErrorKind_UnexpectedFailure, DMN_ErrorKind_UnexpectedFailure,
DMN_ErrorKind_InvalidHandle, DMN_ErrorKind_InvalidHandle,
DMN_ErrorKind_COUNT, DMN_ErrorKind_COUNT,
} DMN_ErrorKind; } DMN_ErrorKind;
typedef enum DMN_MemoryEventKind typedef enum DMN_MemoryEventKind
{ {
DMN_MemoryEventKind_Null, DMN_MemoryEventKind_Null,
DMN_MemoryEventKind_Commit, DMN_MemoryEventKind_Commit,
DMN_MemoryEventKind_Reserve, DMN_MemoryEventKind_Reserve,
DMN_MemoryEventKind_Decommit, DMN_MemoryEventKind_Decommit,
DMN_MemoryEventKind_Release, DMN_MemoryEventKind_Release,
DMN_MemoryEventKind_COUNT, DMN_MemoryEventKind_COUNT,
} DMN_MemoryEventKind; } DMN_MemoryEventKind;
typedef enum DMN_ExceptionKind typedef enum DMN_ExceptionKind
{ {
DMN_ExceptionKind_Null, DMN_ExceptionKind_Null,
DMN_ExceptionKind_MemoryRead, DMN_ExceptionKind_MemoryRead,
DMN_ExceptionKind_MemoryWrite, DMN_ExceptionKind_MemoryWrite,
DMN_ExceptionKind_MemoryExecute, DMN_ExceptionKind_MemoryExecute,
DMN_ExceptionKind_CppThrow, DMN_ExceptionKind_CppThrow,
DMN_ExceptionKind_COUNT, DMN_ExceptionKind_COUNT,
} DMN_ExceptionKind; } DMN_ExceptionKind;
C_LINKAGE_BEGIN C_LINKAGE_BEGIN
extern String8 dmn_event_kind_string_table[21]; extern String8 dmn_event_kind_string_table[21];
extern String8 dmn_exception_kind_string_table[5]; extern String8 dmn_exception_kind_string_table[5];
C_LINKAGE_END C_LINKAGE_END
#endif // DEMON_META_H #endif // DEMON_META_H
+17 -17
View File
@@ -1,17 +1,17 @@
// Copyright (c) Epic Games Tools // Copyright (c) Epic Games Tools
// Licensed under the MIT license (https://opensource.org/license/mit/) // Licensed under the MIT license (https://opensource.org/license/mit/)
//- GENERATED CODE //- GENERATED CODE
internal R_Tex2DSampleKind dr_push_tex2d_sample_kind(R_Tex2DSampleKind v) {DR_StackPushImpl(Tex2DSampleKind, tex2d_sample_kind, R_Tex2DSampleKind, v);} internal R_Tex2DSampleKind dr_push_tex2d_sample_kind(R_Tex2DSampleKind v) {DR_StackPushImpl(Tex2DSampleKind, tex2d_sample_kind, R_Tex2DSampleKind, v);}
internal Mat3x3F32 dr_push_xform2d(Mat3x3F32 v) {DR_StackPushImpl(XForm2D, xform2d, Mat3x3F32, v);} internal Mat3x3F32 dr_push_xform2d(Mat3x3F32 v) {DR_StackPushImpl(XForm2D, xform2d, Mat3x3F32, v);}
internal Rng2F32 dr_push_clip(Rng2F32 v) {DR_StackPushImpl(Clip, clip, Rng2F32, v);} internal Rng2F32 dr_push_clip(Rng2F32 v) {DR_StackPushImpl(Clip, clip, Rng2F32, v);}
internal F32 dr_push_transparency(F32 v) {DR_StackPushImpl(Transparency, transparency, F32, v);} internal F32 dr_push_transparency(F32 v) {DR_StackPushImpl(Transparency, transparency, F32, v);}
internal R_Tex2DSampleKind dr_pop_tex2d_sample_kind(void) {DR_StackPopImpl(Tex2DSampleKind, tex2d_sample_kind, R_Tex2DSampleKind);} internal R_Tex2DSampleKind dr_pop_tex2d_sample_kind(void) {DR_StackPopImpl(Tex2DSampleKind, tex2d_sample_kind, R_Tex2DSampleKind);}
internal Mat3x3F32 dr_pop_xform2d(void) {DR_StackPopImpl(XForm2D, xform2d, Mat3x3F32);} internal Mat3x3F32 dr_pop_xform2d(void) {DR_StackPopImpl(XForm2D, xform2d, Mat3x3F32);}
internal Rng2F32 dr_pop_clip(void) {DR_StackPopImpl(Clip, clip, Rng2F32);} internal Rng2F32 dr_pop_clip(void) {DR_StackPopImpl(Clip, clip, Rng2F32);}
internal F32 dr_pop_transparency(void) {DR_StackPopImpl(Transparency, transparency, F32);} internal F32 dr_pop_transparency(void) {DR_StackPopImpl(Transparency, transparency, F32);}
internal R_Tex2DSampleKind dr_top_tex2d_sample_kind(void) {DR_StackTopImpl(Tex2DSampleKind, tex2d_sample_kind, R_Tex2DSampleKind);} internal R_Tex2DSampleKind dr_top_tex2d_sample_kind(void) {DR_StackTopImpl(Tex2DSampleKind, tex2d_sample_kind, R_Tex2DSampleKind);}
internal Mat3x3F32 dr_top_xform2d(void) {DR_StackTopImpl(XForm2D, xform2d, Mat3x3F32);} internal Mat3x3F32 dr_top_xform2d(void) {DR_StackTopImpl(XForm2D, xform2d, Mat3x3F32);}
internal Rng2F32 dr_top_clip(void) {DR_StackTopImpl(Clip, clip, Rng2F32);} internal Rng2F32 dr_top_clip(void) {DR_StackTopImpl(Clip, clip, Rng2F32);}
internal F32 dr_top_transparency(void) {DR_StackTopImpl(Transparency, transparency, F32);} internal F32 dr_top_transparency(void) {DR_StackTopImpl(Transparency, transparency, F32);}
+49 -49
View File
@@ -1,49 +1,49 @@
// Copyright (c) Epic Games Tools // Copyright (c) Epic Games Tools
// Licensed under the MIT license (https://opensource.org/license/mit/) // Licensed under the MIT license (https://opensource.org/license/mit/)
//- GENERATED CODE //- GENERATED CODE
#ifndef DRAW_META_H #ifndef DRAW_META_H
#define DRAW_META_H #define DRAW_META_H
typedef struct DR_Tex2DSampleKindNode DR_Tex2DSampleKindNode; struct DR_Tex2DSampleKindNode {DR_Tex2DSampleKindNode *next; R_Tex2DSampleKind v;}; typedef struct DR_Tex2DSampleKindNode DR_Tex2DSampleKindNode; struct DR_Tex2DSampleKindNode {DR_Tex2DSampleKindNode *next; R_Tex2DSampleKind v;};
typedef struct DR_XForm2DNode DR_XForm2DNode; struct DR_XForm2DNode {DR_XForm2DNode *next; Mat3x3F32 v;}; typedef struct DR_XForm2DNode DR_XForm2DNode; struct DR_XForm2DNode {DR_XForm2DNode *next; Mat3x3F32 v;};
typedef struct DR_ClipNode DR_ClipNode; struct DR_ClipNode {DR_ClipNode *next; Rng2F32 v;}; typedef struct DR_ClipNode DR_ClipNode; struct DR_ClipNode {DR_ClipNode *next; Rng2F32 v;};
typedef struct DR_TransparencyNode DR_TransparencyNode; struct DR_TransparencyNode {DR_TransparencyNode *next; F32 v;}; typedef struct DR_TransparencyNode DR_TransparencyNode; struct DR_TransparencyNode {DR_TransparencyNode *next; F32 v;};
#define DR_BucketStackDecls struct{\ #define DR_BucketStackDecls struct{\
DR_Tex2DSampleKindNode *top_tex2d_sample_kind;\ DR_Tex2DSampleKindNode *top_tex2d_sample_kind;\
DR_XForm2DNode *top_xform2d;\ DR_XForm2DNode *top_xform2d;\
DR_ClipNode *top_clip;\ DR_ClipNode *top_clip;\
DR_TransparencyNode *top_transparency;\ DR_TransparencyNode *top_transparency;\
} }
read_only global DR_Tex2DSampleKindNode dr_nil_tex2d_sample_kind = {0, R_Tex2DSampleKind_Nearest}; read_only global DR_Tex2DSampleKindNode dr_nil_tex2d_sample_kind = {0, R_Tex2DSampleKind_Nearest};
read_only global DR_XForm2DNode dr_nil_xform2d = {0, {1, 0, 0, 0, 1, 0, 0, 0, 1}}; read_only global DR_XForm2DNode dr_nil_xform2d = {0, {1, 0, 0, 0, 1, 0, 0, 0, 1}};
read_only global DR_ClipNode dr_nil_clip = {0, {0}}; read_only global DR_ClipNode dr_nil_clip = {0, {0}};
read_only global DR_TransparencyNode dr_nil_transparency = {0, 0}; read_only global DR_TransparencyNode dr_nil_transparency = {0, 0};
#define DR_BucketStackInits(b) do{\ #define DR_BucketStackInits(b) do{\
(b)->top_tex2d_sample_kind = &dr_nil_tex2d_sample_kind;\ (b)->top_tex2d_sample_kind = &dr_nil_tex2d_sample_kind;\
(b)->top_xform2d = &dr_nil_xform2d;\ (b)->top_xform2d = &dr_nil_xform2d;\
(b)->top_clip = &dr_nil_clip;\ (b)->top_clip = &dr_nil_clip;\
(b)->top_transparency = &dr_nil_transparency;\ (b)->top_transparency = &dr_nil_transparency;\
}while(0) }while(0)
#if 0 #if 0
internal R_Tex2DSampleKind dr_push_tex2d_sample_kind(R_Tex2DSampleKind v); internal R_Tex2DSampleKind dr_push_tex2d_sample_kind(R_Tex2DSampleKind v);
internal Mat3x3F32 dr_push_xform2d(Mat3x3F32 v); internal Mat3x3F32 dr_push_xform2d(Mat3x3F32 v);
internal Rng2F32 dr_push_clip(Rng2F32 v); internal Rng2F32 dr_push_clip(Rng2F32 v);
internal F32 dr_push_transparency(F32 v); internal F32 dr_push_transparency(F32 v);
internal R_Tex2DSampleKind dr_pop_tex2d_sample_kind(void); internal R_Tex2DSampleKind dr_pop_tex2d_sample_kind(void);
internal Mat3x3F32 dr_pop_xform2d(void); internal Mat3x3F32 dr_pop_xform2d(void);
internal Rng2F32 dr_pop_clip(void); internal Rng2F32 dr_pop_clip(void);
internal F32 dr_pop_transparency(void); internal F32 dr_pop_transparency(void);
internal R_Tex2DSampleKind dr_top_tex2d_sample_kind(void); internal R_Tex2DSampleKind dr_top_tex2d_sample_kind(void);
internal Mat3x3F32 dr_top_xform2d(void); internal Mat3x3F32 dr_top_xform2d(void);
internal Rng2F32 dr_top_clip(void); internal Rng2F32 dr_top_clip(void);
internal F32 dr_top_transparency(void); internal F32 dr_top_transparency(void);
#endif #endif
#if 0 #if 0
#define DR_Tex2DSampleKindScope(v) DeferLoop(dr_push_tex2d_sample_kind(v), dr_pop_tex2d_sample_kind()) #define DR_Tex2DSampleKindScope(v) DeferLoop(dr_push_tex2d_sample_kind(v), dr_pop_tex2d_sample_kind())
#define DR_XForm2DScope(v) DeferLoop(dr_push_xform2d(v), dr_pop_xform2d()) #define DR_XForm2DScope(v) DeferLoop(dr_push_xform2d(v), dr_pop_xform2d())
#define DR_ClipScope(v) DeferLoop(dr_push_clip(v), dr_pop_clip()) #define DR_ClipScope(v) DeferLoop(dr_push_clip(v), dr_pop_clip())
#define DR_TransparencyScope(v) DeferLoop(dr_push_transparency(v), dr_pop_transparency()) #define DR_TransparencyScope(v) DeferLoop(dr_push_transparency(v), dr_pop_transparency())
#endif #endif
#endif // DRAW_META_H #endif // DRAW_META_H
+272 -272
View File
@@ -1,272 +1,272 @@
// Copyright (c) Epic Games Tools // Copyright (c) Epic Games Tools
// Licensed under the MIT license (https://opensource.org/license/mit/) // Licensed under the MIT license (https://opensource.org/license/mit/)
//- GENERATED CODE //- GENERATED CODE
C_LINKAGE_BEGIN C_LINKAGE_BEGIN
String8 e_token_kind_strings[7] = String8 e_token_kind_strings[7] =
{ {
str8_lit_comp("Null"), str8_lit_comp("Null"),
str8_lit_comp("Identifier"), str8_lit_comp("Identifier"),
str8_lit_comp("Numeric"), str8_lit_comp("Numeric"),
str8_lit_comp("StringLiteral"), str8_lit_comp("StringLiteral"),
str8_lit_comp("CharLiteral"), str8_lit_comp("CharLiteral"),
str8_lit_comp("Symbol"), str8_lit_comp("Symbol"),
str8_lit_comp("Comment"), str8_lit_comp("Comment"),
}; };
String8 e_type_kind_basic_string_table[61] = String8 e_type_kind_basic_string_table[61] =
{ {
str8_lit_comp(""), str8_lit_comp(""),
str8_lit_comp("void"), str8_lit_comp("void"),
str8_lit_comp("HANDLE"), str8_lit_comp("HANDLE"),
str8_lit_comp("HRESULT"), str8_lit_comp("HRESULT"),
str8_lit_comp("char8"), str8_lit_comp("char8"),
str8_lit_comp("char16"), str8_lit_comp("char16"),
str8_lit_comp("char32"), str8_lit_comp("char32"),
str8_lit_comp("uchar8"), str8_lit_comp("uchar8"),
str8_lit_comp("uchar16"), str8_lit_comp("uchar16"),
str8_lit_comp("uchar32"), str8_lit_comp("uchar32"),
str8_lit_comp("uint8"), str8_lit_comp("uint8"),
str8_lit_comp("uint16"), str8_lit_comp("uint16"),
str8_lit_comp("uint32"), str8_lit_comp("uint32"),
str8_lit_comp("uint64"), str8_lit_comp("uint64"),
str8_lit_comp("uint128"), str8_lit_comp("uint128"),
str8_lit_comp("uint256"), str8_lit_comp("uint256"),
str8_lit_comp("uint512"), str8_lit_comp("uint512"),
str8_lit_comp("int8"), str8_lit_comp("int8"),
str8_lit_comp("int16"), str8_lit_comp("int16"),
str8_lit_comp("int32"), str8_lit_comp("int32"),
str8_lit_comp("int64"), str8_lit_comp("int64"),
str8_lit_comp("int128"), str8_lit_comp("int128"),
str8_lit_comp("int256"), str8_lit_comp("int256"),
str8_lit_comp("int512"), str8_lit_comp("int512"),
str8_lit_comp("bool"), str8_lit_comp("bool"),
str8_lit_comp("float16"), str8_lit_comp("float16"),
str8_lit_comp("float32"), str8_lit_comp("float32"),
str8_lit_comp("float32PP"), str8_lit_comp("float32PP"),
str8_lit_comp("float48"), str8_lit_comp("float48"),
str8_lit_comp("float64"), str8_lit_comp("float64"),
str8_lit_comp("float80"), str8_lit_comp("float80"),
str8_lit_comp("float128"), str8_lit_comp("float128"),
str8_lit_comp("complex_float32"), str8_lit_comp("complex_float32"),
str8_lit_comp("complex_float64"), str8_lit_comp("complex_float64"),
str8_lit_comp("complex_float80"), str8_lit_comp("complex_float80"),
str8_lit_comp("complex_float128"), str8_lit_comp("complex_float128"),
str8_lit_comp("modifier"), str8_lit_comp("modifier"),
str8_lit_comp("ptr"), str8_lit_comp("ptr"),
str8_lit_comp("lref"), str8_lit_comp("lref"),
str8_lit_comp("rref"), str8_lit_comp("rref"),
str8_lit_comp("array"), str8_lit_comp("array"),
str8_lit_comp("function"), str8_lit_comp("function"),
str8_lit_comp("method"), str8_lit_comp("method"),
str8_lit_comp("member_ptr"), str8_lit_comp("member_ptr"),
str8_lit_comp("struct"), str8_lit_comp("struct"),
str8_lit_comp("class"), str8_lit_comp("class"),
str8_lit_comp("union"), str8_lit_comp("union"),
str8_lit_comp("enum"), str8_lit_comp("enum"),
str8_lit_comp("typedef"), str8_lit_comp("typedef"),
str8_lit_comp("struct"), str8_lit_comp("struct"),
str8_lit_comp("union"), str8_lit_comp("union"),
str8_lit_comp("class"), str8_lit_comp("class"),
str8_lit_comp("enum"), str8_lit_comp("enum"),
str8_lit_comp("bitfield"), str8_lit_comp("bitfield"),
str8_lit_comp("variadic"), str8_lit_comp("variadic"),
str8_lit_comp("set"), str8_lit_comp("set"),
str8_lit_comp("lens"), str8_lit_comp("lens"),
str8_lit_comp("lens_spec"), str8_lit_comp("lens_spec"),
str8_lit_comp("meta_expr"), str8_lit_comp("meta_expr"),
str8_lit_comp("meta_display_name"), str8_lit_comp("meta_display_name"),
str8_lit_comp("meta_description"), str8_lit_comp("meta_description"),
}; };
U8 e_type_kind_basic_byte_size_table[61] = U8 e_type_kind_basic_byte_size_table[61] =
{ {
0, 0,
0, 0,
0xFF, 0xFF,
4, 4,
1, 1,
2, 2,
4, 4,
1, 1,
2, 2,
4, 4,
1, 1,
2, 2,
4, 4,
8, 8,
16, 16,
32, 32,
64, 64,
1, 1,
2, 2,
4, 4,
8, 8,
16, 16,
32, 32,
64, 64,
1, 1,
2, 2,
4, 4,
4, 4,
6, 6,
8, 8,
10, 10,
16, 16,
8, 8,
16, 16,
20, 20,
32, 32,
0, 0,
0, 0,
0, 0,
0, 0,
0, 0,
0, 0,
0, 0,
0, 0,
0, 0,
0, 0,
0, 0,
0, 0,
0, 0,
0, 0,
0, 0,
0, 0,
0, 0,
0, 0,
0, 0,
0, 0,
0, 0,
0, 0,
0, 0,
0, 0,
0, 0,
}; };
String8 e_expr_kind_strings[50] = String8 e_expr_kind_strings[50] =
{ {
str8_lit_comp("Nil"), str8_lit_comp("Nil"),
str8_lit_comp("Ref"), str8_lit_comp("Ref"),
str8_lit_comp("ArrayIndex"), str8_lit_comp("ArrayIndex"),
str8_lit_comp("MemberAccess"), str8_lit_comp("MemberAccess"),
str8_lit_comp("Deref"), str8_lit_comp("Deref"),
str8_lit_comp("Address"), str8_lit_comp("Address"),
str8_lit_comp("Cast"), str8_lit_comp("Cast"),
str8_lit_comp("Sizeof"), str8_lit_comp("Sizeof"),
str8_lit_comp("Typeof"), str8_lit_comp("Typeof"),
str8_lit_comp("Symbolof"), str8_lit_comp("Symbolof"),
str8_lit_comp("ByteSwap"), str8_lit_comp("ByteSwap"),
str8_lit_comp("Pos"), str8_lit_comp("Pos"),
str8_lit_comp("Neg"), str8_lit_comp("Neg"),
str8_lit_comp("LogNot"), str8_lit_comp("LogNot"),
str8_lit_comp("BitNot"), str8_lit_comp("BitNot"),
str8_lit_comp("Mul"), str8_lit_comp("Mul"),
str8_lit_comp("Div"), str8_lit_comp("Div"),
str8_lit_comp("Mod"), str8_lit_comp("Mod"),
str8_lit_comp("Add"), str8_lit_comp("Add"),
str8_lit_comp("Sub"), str8_lit_comp("Sub"),
str8_lit_comp("LShift"), str8_lit_comp("LShift"),
str8_lit_comp("RShift"), str8_lit_comp("RShift"),
str8_lit_comp("Less"), str8_lit_comp("Less"),
str8_lit_comp("LsEq"), str8_lit_comp("LsEq"),
str8_lit_comp("Grtr"), str8_lit_comp("Grtr"),
str8_lit_comp("GrEq"), str8_lit_comp("GrEq"),
str8_lit_comp("EqEq"), str8_lit_comp("EqEq"),
str8_lit_comp("NtEq"), str8_lit_comp("NtEq"),
str8_lit_comp("BitAnd"), str8_lit_comp("BitAnd"),
str8_lit_comp("BitXor"), str8_lit_comp("BitXor"),
str8_lit_comp("BitOr"), str8_lit_comp("BitOr"),
str8_lit_comp("LogAnd"), str8_lit_comp("LogAnd"),
str8_lit_comp("LogOr"), str8_lit_comp("LogOr"),
str8_lit_comp("Ternary"), str8_lit_comp("Ternary"),
str8_lit_comp("Call"), str8_lit_comp("Call"),
str8_lit_comp("LeafBytecode"), str8_lit_comp("LeafBytecode"),
str8_lit_comp("LeafStringLiteral"), str8_lit_comp("LeafStringLiteral"),
str8_lit_comp("LeafU64"), str8_lit_comp("LeafU64"),
str8_lit_comp("LeafF64"), str8_lit_comp("LeafF64"),
str8_lit_comp("LeafF32"), str8_lit_comp("LeafF32"),
str8_lit_comp("LeafIdentifier"), str8_lit_comp("LeafIdentifier"),
str8_lit_comp("LeafOffset"), str8_lit_comp("LeafOffset"),
str8_lit_comp("LeafValue"), str8_lit_comp("LeafValue"),
str8_lit_comp("LeafFilePath"), str8_lit_comp("LeafFilePath"),
str8_lit_comp("TypeIdent"), str8_lit_comp("TypeIdent"),
str8_lit_comp("Ptr"), str8_lit_comp("Ptr"),
str8_lit_comp("Array"), str8_lit_comp("Array"),
str8_lit_comp("Func"), str8_lit_comp("Func"),
str8_lit_comp("Unsigned"), str8_lit_comp("Unsigned"),
str8_lit_comp("Define"), str8_lit_comp("Define"),
}; };
E_OpInfo e_expr_kind_op_info_table[50] = E_OpInfo e_expr_kind_op_info_table[50] =
{ {
{ E_OpKind_Null, 0, str8_lit_comp(""), str8_lit_comp(""), str8_lit_comp(""), str8_lit_comp("") }, { E_OpKind_Null, 0, str8_lit_comp(""), str8_lit_comp(""), str8_lit_comp(""), str8_lit_comp("") },
{ E_OpKind_Null, 0, str8_lit_comp(""), str8_lit_comp(""), str8_lit_comp(""), str8_lit_comp("") }, { E_OpKind_Null, 0, str8_lit_comp(""), str8_lit_comp(""), str8_lit_comp(""), str8_lit_comp("") },
{ E_OpKind_Null, 0, str8_lit_comp(""), str8_lit_comp("["), str8_lit_comp("]"), str8_lit_comp("") }, { E_OpKind_Null, 0, str8_lit_comp(""), str8_lit_comp("["), str8_lit_comp("]"), str8_lit_comp("") },
{ E_OpKind_Null, 0, str8_lit_comp(""), str8_lit_comp("."), str8_lit_comp(""), str8_lit_comp("") }, { E_OpKind_Null, 0, str8_lit_comp(""), str8_lit_comp("."), str8_lit_comp(""), str8_lit_comp("") },
{ E_OpKind_UnaryPrefix, 2, str8_lit_comp("*"), str8_lit_comp(""), str8_lit_comp(""), str8_lit_comp("") }, { E_OpKind_UnaryPrefix, 2, str8_lit_comp("*"), str8_lit_comp(""), str8_lit_comp(""), str8_lit_comp("") },
{ E_OpKind_UnaryPrefix, 2, str8_lit_comp("&"), str8_lit_comp(""), str8_lit_comp(""), str8_lit_comp("") }, { E_OpKind_UnaryPrefix, 2, str8_lit_comp("&"), str8_lit_comp(""), str8_lit_comp(""), str8_lit_comp("") },
{ E_OpKind_Null, 1, str8_lit_comp("cast("), str8_lit_comp(")"), str8_lit_comp(""), str8_lit_comp("") }, { E_OpKind_Null, 1, str8_lit_comp("cast("), str8_lit_comp(")"), str8_lit_comp(""), str8_lit_comp("") },
{ E_OpKind_UnaryPrefix, 1, str8_lit_comp("sizeof "), str8_lit_comp(""), str8_lit_comp(""), str8_lit_comp("") }, { E_OpKind_UnaryPrefix, 1, str8_lit_comp("sizeof "), str8_lit_comp(""), str8_lit_comp(""), str8_lit_comp("") },
{ E_OpKind_UnaryPrefix, 1, str8_lit_comp("typeof "), str8_lit_comp(""), str8_lit_comp(""), str8_lit_comp("") }, { E_OpKind_UnaryPrefix, 1, str8_lit_comp("typeof "), str8_lit_comp(""), str8_lit_comp(""), str8_lit_comp("") },
{ E_OpKind_UnaryPrefix, 1, str8_lit_comp("symbolof "), str8_lit_comp(""), str8_lit_comp(""), str8_lit_comp("") }, { E_OpKind_UnaryPrefix, 1, str8_lit_comp("symbolof "), str8_lit_comp(""), str8_lit_comp(""), str8_lit_comp("") },
{ E_OpKind_UnaryPrefix, 1, str8_lit_comp("bswap "), str8_lit_comp(""), str8_lit_comp(""), str8_lit_comp("") }, { E_OpKind_UnaryPrefix, 1, str8_lit_comp("bswap "), str8_lit_comp(""), str8_lit_comp(""), str8_lit_comp("") },
{ E_OpKind_UnaryPrefix, 2, str8_lit_comp("+"), str8_lit_comp(""), str8_lit_comp(""), str8_lit_comp("") }, { E_OpKind_UnaryPrefix, 2, str8_lit_comp("+"), str8_lit_comp(""), str8_lit_comp(""), str8_lit_comp("") },
{ E_OpKind_UnaryPrefix, 2, str8_lit_comp("-"), str8_lit_comp(""), str8_lit_comp(""), str8_lit_comp("") }, { E_OpKind_UnaryPrefix, 2, str8_lit_comp("-"), str8_lit_comp(""), str8_lit_comp(""), str8_lit_comp("") },
{ E_OpKind_UnaryPrefix, 2, str8_lit_comp("!"), str8_lit_comp(""), str8_lit_comp(""), str8_lit_comp("") }, { E_OpKind_UnaryPrefix, 2, str8_lit_comp("!"), str8_lit_comp(""), str8_lit_comp(""), str8_lit_comp("") },
{ E_OpKind_UnaryPrefix, 2, str8_lit_comp("~"), str8_lit_comp(""), str8_lit_comp(""), str8_lit_comp("") }, { E_OpKind_UnaryPrefix, 2, str8_lit_comp("~"), str8_lit_comp(""), str8_lit_comp(""), str8_lit_comp("") },
{ E_OpKind_Binary, 3, str8_lit_comp(""), str8_lit_comp(" * "), str8_lit_comp(""), str8_lit_comp("") }, { E_OpKind_Binary, 3, str8_lit_comp(""), str8_lit_comp(" * "), str8_lit_comp(""), str8_lit_comp("") },
{ E_OpKind_Binary, 3, str8_lit_comp(""), str8_lit_comp(" / "), str8_lit_comp(""), str8_lit_comp("") }, { E_OpKind_Binary, 3, str8_lit_comp(""), str8_lit_comp(" / "), str8_lit_comp(""), str8_lit_comp("") },
{ E_OpKind_Binary, 3, str8_lit_comp(""), str8_lit_comp(" % "), str8_lit_comp(""), str8_lit_comp("") }, { E_OpKind_Binary, 3, str8_lit_comp(""), str8_lit_comp(" % "), str8_lit_comp(""), str8_lit_comp("") },
{ E_OpKind_Binary, 4, str8_lit_comp(""), str8_lit_comp(" + "), str8_lit_comp(""), str8_lit_comp("") }, { E_OpKind_Binary, 4, str8_lit_comp(""), str8_lit_comp(" + "), str8_lit_comp(""), str8_lit_comp("") },
{ E_OpKind_Binary, 4, str8_lit_comp(""), str8_lit_comp(" - "), str8_lit_comp(""), str8_lit_comp("") }, { E_OpKind_Binary, 4, str8_lit_comp(""), str8_lit_comp(" - "), str8_lit_comp(""), str8_lit_comp("") },
{ E_OpKind_Binary, 5, str8_lit_comp(""), str8_lit_comp(" << "), str8_lit_comp(""), str8_lit_comp("") }, { E_OpKind_Binary, 5, str8_lit_comp(""), str8_lit_comp(" << "), str8_lit_comp(""), str8_lit_comp("") },
{ E_OpKind_Binary, 5, str8_lit_comp(""), str8_lit_comp(" >> "), str8_lit_comp(""), str8_lit_comp("") }, { E_OpKind_Binary, 5, str8_lit_comp(""), str8_lit_comp(" >> "), str8_lit_comp(""), str8_lit_comp("") },
{ E_OpKind_Binary, 6, str8_lit_comp(""), str8_lit_comp(" < "), str8_lit_comp(""), str8_lit_comp("") }, { E_OpKind_Binary, 6, str8_lit_comp(""), str8_lit_comp(" < "), str8_lit_comp(""), str8_lit_comp("") },
{ E_OpKind_Binary, 6, str8_lit_comp(""), str8_lit_comp(" <= "), str8_lit_comp(""), str8_lit_comp("") }, { E_OpKind_Binary, 6, str8_lit_comp(""), str8_lit_comp(" <= "), str8_lit_comp(""), str8_lit_comp("") },
{ E_OpKind_Binary, 6, str8_lit_comp(""), str8_lit_comp(" > "), str8_lit_comp(""), str8_lit_comp("") }, { E_OpKind_Binary, 6, str8_lit_comp(""), str8_lit_comp(" > "), str8_lit_comp(""), str8_lit_comp("") },
{ E_OpKind_Binary, 6, str8_lit_comp(""), str8_lit_comp(" >= "), str8_lit_comp(""), str8_lit_comp("") }, { E_OpKind_Binary, 6, str8_lit_comp(""), str8_lit_comp(" >= "), str8_lit_comp(""), str8_lit_comp("") },
{ E_OpKind_Binary, 7, str8_lit_comp(""), str8_lit_comp(" == "), str8_lit_comp(""), str8_lit_comp("") }, { E_OpKind_Binary, 7, str8_lit_comp(""), str8_lit_comp(" == "), str8_lit_comp(""), str8_lit_comp("") },
{ E_OpKind_Binary, 7, str8_lit_comp(""), str8_lit_comp(" != "), str8_lit_comp(""), str8_lit_comp("") }, { E_OpKind_Binary, 7, str8_lit_comp(""), str8_lit_comp(" != "), str8_lit_comp(""), str8_lit_comp("") },
{ E_OpKind_Binary, 8, str8_lit_comp(""), str8_lit_comp(" & "), str8_lit_comp(""), str8_lit_comp("") }, { E_OpKind_Binary, 8, str8_lit_comp(""), str8_lit_comp(" & "), str8_lit_comp(""), str8_lit_comp("") },
{ E_OpKind_Binary, 9, str8_lit_comp(""), str8_lit_comp(" ^ "), str8_lit_comp(""), str8_lit_comp("") }, { E_OpKind_Binary, 9, str8_lit_comp(""), str8_lit_comp(" ^ "), str8_lit_comp(""), str8_lit_comp("") },
{ E_OpKind_Binary, 10, str8_lit_comp(""), str8_lit_comp(" | "), str8_lit_comp(""), str8_lit_comp("") }, { E_OpKind_Binary, 10, str8_lit_comp(""), str8_lit_comp(" | "), str8_lit_comp(""), str8_lit_comp("") },
{ E_OpKind_Binary, 11, str8_lit_comp(""), str8_lit_comp(" && "), str8_lit_comp(""), str8_lit_comp("") }, { E_OpKind_Binary, 11, str8_lit_comp(""), str8_lit_comp(" && "), str8_lit_comp(""), str8_lit_comp("") },
{ E_OpKind_Binary, 12, str8_lit_comp(""), str8_lit_comp(" || "), str8_lit_comp(""), str8_lit_comp("") }, { E_OpKind_Binary, 12, str8_lit_comp(""), str8_lit_comp(" || "), str8_lit_comp(""), str8_lit_comp("") },
{ E_OpKind_Null, 0, str8_lit_comp(""), str8_lit_comp(" ? "), str8_lit_comp(""), str8_lit_comp(" : ") }, { E_OpKind_Null, 0, str8_lit_comp(""), str8_lit_comp(" ? "), str8_lit_comp(""), str8_lit_comp(" : ") },
{ E_OpKind_Null, 15, str8_lit_comp(""), str8_lit_comp("("), str8_lit_comp(")"), str8_lit_comp(", ") }, { E_OpKind_Null, 15, str8_lit_comp(""), str8_lit_comp("("), str8_lit_comp(")"), str8_lit_comp(", ") },
{ E_OpKind_Null, 0, str8_lit_comp(""), str8_lit_comp(""), str8_lit_comp(""), str8_lit_comp("") }, { E_OpKind_Null, 0, str8_lit_comp(""), str8_lit_comp(""), str8_lit_comp(""), str8_lit_comp("") },
{ E_OpKind_Null, 0, str8_lit_comp(""), str8_lit_comp(""), str8_lit_comp(""), str8_lit_comp("") }, { E_OpKind_Null, 0, str8_lit_comp(""), str8_lit_comp(""), str8_lit_comp(""), str8_lit_comp("") },
{ E_OpKind_Null, 0, str8_lit_comp(""), str8_lit_comp(""), str8_lit_comp(""), str8_lit_comp("") }, { E_OpKind_Null, 0, str8_lit_comp(""), str8_lit_comp(""), str8_lit_comp(""), str8_lit_comp("") },
{ E_OpKind_Null, 0, str8_lit_comp(""), str8_lit_comp(""), str8_lit_comp(""), str8_lit_comp("") }, { E_OpKind_Null, 0, str8_lit_comp(""), str8_lit_comp(""), str8_lit_comp(""), str8_lit_comp("") },
{ E_OpKind_Null, 0, str8_lit_comp(""), str8_lit_comp(""), str8_lit_comp(""), str8_lit_comp("") }, { E_OpKind_Null, 0, str8_lit_comp(""), str8_lit_comp(""), str8_lit_comp(""), str8_lit_comp("") },
{ E_OpKind_Null, 0, str8_lit_comp(""), str8_lit_comp(""), str8_lit_comp(""), str8_lit_comp("") }, { E_OpKind_Null, 0, str8_lit_comp(""), str8_lit_comp(""), str8_lit_comp(""), str8_lit_comp("") },
{ E_OpKind_Null, 0, str8_lit_comp(""), str8_lit_comp(""), str8_lit_comp(""), str8_lit_comp("") }, { E_OpKind_Null, 0, str8_lit_comp(""), str8_lit_comp(""), str8_lit_comp(""), str8_lit_comp("") },
{ E_OpKind_Null, 0, str8_lit_comp(""), str8_lit_comp(""), str8_lit_comp(""), str8_lit_comp("") }, { E_OpKind_Null, 0, str8_lit_comp(""), str8_lit_comp(""), str8_lit_comp(""), str8_lit_comp("") },
{ E_OpKind_Null, 0, str8_lit_comp(""), str8_lit_comp(""), str8_lit_comp(""), str8_lit_comp("") }, { E_OpKind_Null, 0, str8_lit_comp(""), str8_lit_comp(""), str8_lit_comp(""), str8_lit_comp("") },
{ E_OpKind_Null, 0, str8_lit_comp(""), str8_lit_comp(""), str8_lit_comp(""), str8_lit_comp("") }, { E_OpKind_Null, 0, str8_lit_comp(""), str8_lit_comp(""), str8_lit_comp(""), str8_lit_comp("") },
{ E_OpKind_Null, 0, str8_lit_comp(""), str8_lit_comp(""), str8_lit_comp(""), str8_lit_comp("") }, { E_OpKind_Null, 0, str8_lit_comp(""), str8_lit_comp(""), str8_lit_comp(""), str8_lit_comp("") },
{ E_OpKind_Null, 0, str8_lit_comp(""), str8_lit_comp(""), str8_lit_comp(""), str8_lit_comp("") }, { E_OpKind_Null, 0, str8_lit_comp(""), str8_lit_comp(""), str8_lit_comp(""), str8_lit_comp("") },
{ E_OpKind_Null, 0, str8_lit_comp(""), str8_lit_comp(""), str8_lit_comp(""), str8_lit_comp("") }, { E_OpKind_Null, 0, str8_lit_comp(""), str8_lit_comp(""), str8_lit_comp(""), str8_lit_comp("") },
{ E_OpKind_Null, 0, str8_lit_comp("unsigned "), str8_lit_comp(""), str8_lit_comp(""), str8_lit_comp("") }, { E_OpKind_Null, 0, str8_lit_comp("unsigned "), str8_lit_comp(""), str8_lit_comp(""), str8_lit_comp("") },
{ E_OpKind_Binary, 13, str8_lit_comp(""), str8_lit_comp(" = "), str8_lit_comp(""), str8_lit_comp("") }, { E_OpKind_Binary, 13, str8_lit_comp(""), str8_lit_comp(" = "), str8_lit_comp(""), str8_lit_comp("") },
}; };
String8 e_interpretation_code_display_strings[11] = String8 e_interpretation_code_display_strings[11] =
{ {
str8_lit_comp(""), str8_lit_comp(""),
str8_lit_comp("Cannot divide by zero."), str8_lit_comp("Cannot divide by zero."),
str8_lit_comp("Invalid operation."), str8_lit_comp("Invalid operation."),
str8_lit_comp("Invalid operation types."), str8_lit_comp("Invalid operation types."),
str8_lit_comp("Failed memory read."), str8_lit_comp("Failed memory read."),
str8_lit_comp("Failed register read."), str8_lit_comp("Failed register read."),
str8_lit_comp("Invalid frame base address."), str8_lit_comp("Invalid frame base address."),
str8_lit_comp("Invalid module base address."), str8_lit_comp("Invalid module base address."),
str8_lit_comp("Invalid thread-local storage base address."), str8_lit_comp("Invalid thread-local storage base address."),
str8_lit_comp("Insufficient evaluation machine stack space."), str8_lit_comp("Insufficient evaluation machine stack space."),
str8_lit_comp("Malformed bytecode."), str8_lit_comp("Malformed bytecode."),
}; };
C_LINKAGE_END C_LINKAGE_END
+181 -181
View File
@@ -1,181 +1,181 @@
// Copyright (c) Epic Games Tools // Copyright (c) Epic Games Tools
// Licensed under the MIT license (https://opensource.org/license/mit/) // Licensed under the MIT license (https://opensource.org/license/mit/)
//- GENERATED CODE //- GENERATED CODE
#ifndef EVAL_META_H #ifndef EVAL_META_H
#define EVAL_META_H #define EVAL_META_H
typedef enum E_TokenKind typedef enum E_TokenKind
{ {
E_TokenKind_Null, E_TokenKind_Null,
E_TokenKind_Identifier, E_TokenKind_Identifier,
E_TokenKind_Numeric, E_TokenKind_Numeric,
E_TokenKind_StringLiteral, E_TokenKind_StringLiteral,
E_TokenKind_CharLiteral, E_TokenKind_CharLiteral,
E_TokenKind_Symbol, E_TokenKind_Symbol,
E_TokenKind_Comment, E_TokenKind_Comment,
E_TokenKind_COUNT, E_TokenKind_COUNT,
} E_TokenKind; } E_TokenKind;
typedef enum E_TypeKind typedef enum E_TypeKind
{ {
E_TypeKind_Null, E_TypeKind_Null,
E_TypeKind_Void, E_TypeKind_Void,
E_TypeKind_Handle, E_TypeKind_Handle,
E_TypeKind_HResult, E_TypeKind_HResult,
E_TypeKind_Char8, E_TypeKind_Char8,
E_TypeKind_Char16, E_TypeKind_Char16,
E_TypeKind_Char32, E_TypeKind_Char32,
E_TypeKind_UChar8, E_TypeKind_UChar8,
E_TypeKind_UChar16, E_TypeKind_UChar16,
E_TypeKind_UChar32, E_TypeKind_UChar32,
E_TypeKind_U8, E_TypeKind_U8,
E_TypeKind_U16, E_TypeKind_U16,
E_TypeKind_U32, E_TypeKind_U32,
E_TypeKind_U64, E_TypeKind_U64,
E_TypeKind_U128, E_TypeKind_U128,
E_TypeKind_U256, E_TypeKind_U256,
E_TypeKind_U512, E_TypeKind_U512,
E_TypeKind_S8, E_TypeKind_S8,
E_TypeKind_S16, E_TypeKind_S16,
E_TypeKind_S32, E_TypeKind_S32,
E_TypeKind_S64, E_TypeKind_S64,
E_TypeKind_S128, E_TypeKind_S128,
E_TypeKind_S256, E_TypeKind_S256,
E_TypeKind_S512, E_TypeKind_S512,
E_TypeKind_Bool, E_TypeKind_Bool,
E_TypeKind_F16, E_TypeKind_F16,
E_TypeKind_F32, E_TypeKind_F32,
E_TypeKind_F32PP, E_TypeKind_F32PP,
E_TypeKind_F48, E_TypeKind_F48,
E_TypeKind_F64, E_TypeKind_F64,
E_TypeKind_F80, E_TypeKind_F80,
E_TypeKind_F128, E_TypeKind_F128,
E_TypeKind_ComplexF32, E_TypeKind_ComplexF32,
E_TypeKind_ComplexF64, E_TypeKind_ComplexF64,
E_TypeKind_ComplexF80, E_TypeKind_ComplexF80,
E_TypeKind_ComplexF128, E_TypeKind_ComplexF128,
E_TypeKind_Modifier, E_TypeKind_Modifier,
E_TypeKind_Ptr, E_TypeKind_Ptr,
E_TypeKind_LRef, E_TypeKind_LRef,
E_TypeKind_RRef, E_TypeKind_RRef,
E_TypeKind_Array, E_TypeKind_Array,
E_TypeKind_Function, E_TypeKind_Function,
E_TypeKind_Method, E_TypeKind_Method,
E_TypeKind_MemberPtr, E_TypeKind_MemberPtr,
E_TypeKind_Struct, E_TypeKind_Struct,
E_TypeKind_Class, E_TypeKind_Class,
E_TypeKind_Union, E_TypeKind_Union,
E_TypeKind_Enum, E_TypeKind_Enum,
E_TypeKind_Alias, E_TypeKind_Alias,
E_TypeKind_IncompleteStruct, E_TypeKind_IncompleteStruct,
E_TypeKind_IncompleteUnion, E_TypeKind_IncompleteUnion,
E_TypeKind_IncompleteClass, E_TypeKind_IncompleteClass,
E_TypeKind_IncompleteEnum, E_TypeKind_IncompleteEnum,
E_TypeKind_Bitfield, E_TypeKind_Bitfield,
E_TypeKind_Variadic, E_TypeKind_Variadic,
E_TypeKind_Set, E_TypeKind_Set,
E_TypeKind_Lens, E_TypeKind_Lens,
E_TypeKind_LensSpec, E_TypeKind_LensSpec,
E_TypeKind_MetaExpr, E_TypeKind_MetaExpr,
E_TypeKind_MetaDisplayName, E_TypeKind_MetaDisplayName,
E_TypeKind_MetaDescription, E_TypeKind_MetaDescription,
E_TypeKind_COUNT, E_TypeKind_COUNT,
E_TypeKind_FirstBasic = E_TypeKind_Void, E_TypeKind_FirstBasic = E_TypeKind_Void,
E_TypeKind_LastBasic = E_TypeKind_ComplexF128, E_TypeKind_LastBasic = E_TypeKind_ComplexF128,
E_TypeKind_FirstInteger = E_TypeKind_Char8, E_TypeKind_FirstInteger = E_TypeKind_Char8,
E_TypeKind_LastInteger = E_TypeKind_S512, E_TypeKind_LastInteger = E_TypeKind_S512,
E_TypeKind_FirstSigned1 = E_TypeKind_Char8, E_TypeKind_FirstSigned1 = E_TypeKind_Char8,
E_TypeKind_LastSigned1 = E_TypeKind_Char32, E_TypeKind_LastSigned1 = E_TypeKind_Char32,
E_TypeKind_FirstSigned2 = E_TypeKind_S8, E_TypeKind_FirstSigned2 = E_TypeKind_S8,
E_TypeKind_LastSigned2 = E_TypeKind_S512, E_TypeKind_LastSigned2 = E_TypeKind_S512,
E_TypeKind_FirstIncomplete = E_TypeKind_IncompleteStruct, E_TypeKind_FirstIncomplete = E_TypeKind_IncompleteStruct,
E_TypeKind_LastIncomplete = E_TypeKind_IncompleteEnum, E_TypeKind_LastIncomplete = E_TypeKind_IncompleteEnum,
E_TypeKind_FirstMeta = E_TypeKind_MetaExpr, E_TypeKind_FirstMeta = E_TypeKind_MetaExpr,
E_TypeKind_LastMeta = E_TypeKind_MetaDescription, E_TypeKind_LastMeta = E_TypeKind_MetaDescription,
} E_TypeKind; } E_TypeKind;
typedef U32 E_ExprKind; typedef U32 E_ExprKind;
typedef enum E_ExprKindEnum typedef enum E_ExprKindEnum
{ {
E_ExprKind_Nil, E_ExprKind_Nil,
E_ExprKind_Ref, E_ExprKind_Ref,
E_ExprKind_ArrayIndex, E_ExprKind_ArrayIndex,
E_ExprKind_MemberAccess, E_ExprKind_MemberAccess,
E_ExprKind_Deref, E_ExprKind_Deref,
E_ExprKind_Address, E_ExprKind_Address,
E_ExprKind_Cast, E_ExprKind_Cast,
E_ExprKind_Sizeof, E_ExprKind_Sizeof,
E_ExprKind_Typeof, E_ExprKind_Typeof,
E_ExprKind_Symbolof, E_ExprKind_Symbolof,
E_ExprKind_ByteSwap, E_ExprKind_ByteSwap,
E_ExprKind_Pos, E_ExprKind_Pos,
E_ExprKind_Neg, E_ExprKind_Neg,
E_ExprKind_LogNot, E_ExprKind_LogNot,
E_ExprKind_BitNot, E_ExprKind_BitNot,
E_ExprKind_Mul, E_ExprKind_Mul,
E_ExprKind_Div, E_ExprKind_Div,
E_ExprKind_Mod, E_ExprKind_Mod,
E_ExprKind_Add, E_ExprKind_Add,
E_ExprKind_Sub, E_ExprKind_Sub,
E_ExprKind_LShift, E_ExprKind_LShift,
E_ExprKind_RShift, E_ExprKind_RShift,
E_ExprKind_Less, E_ExprKind_Less,
E_ExprKind_LsEq, E_ExprKind_LsEq,
E_ExprKind_Grtr, E_ExprKind_Grtr,
E_ExprKind_GrEq, E_ExprKind_GrEq,
E_ExprKind_EqEq, E_ExprKind_EqEq,
E_ExprKind_NtEq, E_ExprKind_NtEq,
E_ExprKind_BitAnd, E_ExprKind_BitAnd,
E_ExprKind_BitXor, E_ExprKind_BitXor,
E_ExprKind_BitOr, E_ExprKind_BitOr,
E_ExprKind_LogAnd, E_ExprKind_LogAnd,
E_ExprKind_LogOr, E_ExprKind_LogOr,
E_ExprKind_Ternary, E_ExprKind_Ternary,
E_ExprKind_Call, E_ExprKind_Call,
E_ExprKind_LeafBytecode, E_ExprKind_LeafBytecode,
E_ExprKind_LeafStringLiteral, E_ExprKind_LeafStringLiteral,
E_ExprKind_LeafU64, E_ExprKind_LeafU64,
E_ExprKind_LeafF64, E_ExprKind_LeafF64,
E_ExprKind_LeafF32, E_ExprKind_LeafF32,
E_ExprKind_LeafIdentifier, E_ExprKind_LeafIdentifier,
E_ExprKind_LeafOffset, E_ExprKind_LeafOffset,
E_ExprKind_LeafValue, E_ExprKind_LeafValue,
E_ExprKind_LeafFilePath, E_ExprKind_LeafFilePath,
E_ExprKind_TypeIdent, E_ExprKind_TypeIdent,
E_ExprKind_Ptr, E_ExprKind_Ptr,
E_ExprKind_Array, E_ExprKind_Array,
E_ExprKind_Func, E_ExprKind_Func,
E_ExprKind_Unsigned, E_ExprKind_Unsigned,
E_ExprKind_Define, E_ExprKind_Define,
E_ExprKind_COUNT, E_ExprKind_COUNT,
} E_ExprKindEnum; } E_ExprKindEnum;
typedef enum E_InterpretationCode typedef enum E_InterpretationCode
{ {
E_InterpretationCode_Good, E_InterpretationCode_Good,
E_InterpretationCode_DivideByZero, E_InterpretationCode_DivideByZero,
E_InterpretationCode_BadOp, E_InterpretationCode_BadOp,
E_InterpretationCode_BadOpTypes, E_InterpretationCode_BadOpTypes,
E_InterpretationCode_BadMemRead, E_InterpretationCode_BadMemRead,
E_InterpretationCode_BadRegRead, E_InterpretationCode_BadRegRead,
E_InterpretationCode_BadFrameBase, E_InterpretationCode_BadFrameBase,
E_InterpretationCode_BadModuleBase, E_InterpretationCode_BadModuleBase,
E_InterpretationCode_BadTLSBase, E_InterpretationCode_BadTLSBase,
E_InterpretationCode_InsufficientStackSpace, E_InterpretationCode_InsufficientStackSpace,
E_InterpretationCode_MalformedBytecode, E_InterpretationCode_MalformedBytecode,
E_InterpretationCode_COUNT, E_InterpretationCode_COUNT,
} E_InterpretationCode; } E_InterpretationCode;
C_LINKAGE_BEGIN C_LINKAGE_BEGIN
extern String8 e_token_kind_strings[7]; extern String8 e_token_kind_strings[7];
extern String8 e_type_kind_basic_string_table[61]; extern String8 e_type_kind_basic_string_table[61];
extern U8 e_type_kind_basic_byte_size_table[61]; extern U8 e_type_kind_basic_byte_size_table[61];
extern String8 e_expr_kind_strings[50]; extern String8 e_expr_kind_strings[50];
extern E_OpInfo e_expr_kind_op_info_table[50]; extern E_OpInfo e_expr_kind_op_info_table[50];
extern String8 e_interpretation_code_display_strings[11]; extern String8 e_interpretation_code_display_strings[11];
C_LINKAGE_END C_LINKAGE_END
#endif // EVAL_META_H #endif // EVAL_META_H
+355 -355
View File
@@ -1,355 +1,355 @@
// Copyright (c) Epic Games Tools // Copyright (c) Epic Games Tools
// Licensed under the MIT license (https://opensource.org/license/mit/) // Licensed under the MIT license (https://opensource.org/license/mit/)
//////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////
//~ (R)AD (D)ebug (I)nfo Format Library //~ (R)AD (D)ebug (I)nfo Format Library
// //
// Defines standard RDI debug information format types and // Defines standard RDI debug information format types and
// functions. // functions.
#ifndef RDI_C #ifndef RDI_C
#define RDI_C #define RDI_C
RDI_U16 rdi_section_element_size_table[44] = RDI_U16 rdi_section_element_size_table[44] =
{ {
sizeof(RDI_U8), sizeof(RDI_U8),
sizeof(RDI_TopLevelInfo), sizeof(RDI_TopLevelInfo),
sizeof(RDI_U8), sizeof(RDI_U8),
sizeof(RDI_U32), sizeof(RDI_U32),
sizeof(RDI_U32), sizeof(RDI_U32),
sizeof(RDI_BinarySection), sizeof(RDI_BinarySection),
sizeof(RDI_FilePathNode), sizeof(RDI_FilePathNode),
sizeof(RDI_SourceFile), sizeof(RDI_SourceFile),
sizeof(RDI_LineTable), sizeof(RDI_LineTable),
sizeof(RDI_U64), sizeof(RDI_U64),
sizeof(RDI_Line), sizeof(RDI_Line),
sizeof(RDI_Column), sizeof(RDI_Column),
sizeof(RDI_SourceLineMap), sizeof(RDI_SourceLineMap),
sizeof(RDI_U32), sizeof(RDI_U32),
sizeof(RDI_U32), sizeof(RDI_U32),
sizeof(RDI_U64), sizeof(RDI_U64),
sizeof(RDI_Unit), sizeof(RDI_Unit),
sizeof(RDI_VMapEntry), sizeof(RDI_VMapEntry),
sizeof(RDI_Namespace), sizeof(RDI_Namespace),
sizeof(RDI_TypeNode), sizeof(RDI_TypeNode),
sizeof(RDI_UDT), sizeof(RDI_UDT),
sizeof(RDI_Member), sizeof(RDI_Member),
sizeof(RDI_EnumMember), sizeof(RDI_EnumMember),
sizeof(RDI_Scope), sizeof(RDI_Scope),
sizeof(RDI_U64), sizeof(RDI_U64),
sizeof(RDI_VMapEntry), sizeof(RDI_VMapEntry),
sizeof(RDI_InlineSite), sizeof(RDI_InlineSite),
sizeof(RDI_Symbol), sizeof(RDI_Symbol),
sizeof(RDI_VMapEntry), sizeof(RDI_VMapEntry),
sizeof(RDI_Symbol), sizeof(RDI_Symbol),
sizeof(RDI_Symbol), sizeof(RDI_Symbol),
sizeof(RDI_Symbol), sizeof(RDI_Symbol),
sizeof(RDI_Symbol), sizeof(RDI_Symbol),
sizeof(RDI_U8), sizeof(RDI_U8),
sizeof(RDI_U8), sizeof(RDI_U8),
sizeof(RDI_LocationSetElement), sizeof(RDI_LocationSetElement),
sizeof(RDI_MD5), sizeof(RDI_MD5),
sizeof(RDI_SHA1), sizeof(RDI_SHA1),
sizeof(RDI_SHA256), sizeof(RDI_SHA256),
sizeof(RDI_U64), sizeof(RDI_U64),
sizeof(RDI_NameMap), sizeof(RDI_NameMap),
sizeof(RDI_NameMapBucket), sizeof(RDI_NameMapBucket),
sizeof(RDI_NameMapNode), sizeof(RDI_NameMapNode),
sizeof(RDI_U8), sizeof(RDI_U8),
}; };
RDI_U16 rdi_eval_op_ctrlbits_table[54] = RDI_U16 rdi_eval_op_ctrlbits_table[54] =
{ {
RDI_EVAL_CTRLBITS(0, 0, 0), RDI_EVAL_CTRLBITS(0, 0, 0),
RDI_EVAL_CTRLBITS(0, 0, 0), RDI_EVAL_CTRLBITS(0, 0, 0),
RDI_EVAL_CTRLBITS(2, 1, 0), RDI_EVAL_CTRLBITS(2, 1, 0),
RDI_EVAL_CTRLBITS(2, 0, 0), RDI_EVAL_CTRLBITS(2, 0, 0),
RDI_EVAL_CTRLBITS(1, 1, 1), RDI_EVAL_CTRLBITS(1, 1, 1),
RDI_EVAL_CTRLBITS(4, 0, 1), RDI_EVAL_CTRLBITS(4, 0, 1),
RDI_EVAL_CTRLBITS(0, 1, 1), RDI_EVAL_CTRLBITS(0, 1, 1),
RDI_EVAL_CTRLBITS(8, 0, 1), RDI_EVAL_CTRLBITS(8, 0, 1),
RDI_EVAL_CTRLBITS(4, 0, 1), RDI_EVAL_CTRLBITS(4, 0, 1),
RDI_EVAL_CTRLBITS(4, 0, 1), RDI_EVAL_CTRLBITS(4, 0, 1),
RDI_EVAL_CTRLBITS(0, 0, 0), RDI_EVAL_CTRLBITS(0, 0, 0),
RDI_EVAL_CTRLBITS(0, 0, 0), RDI_EVAL_CTRLBITS(0, 0, 0),
RDI_EVAL_CTRLBITS(1, 0, 1), RDI_EVAL_CTRLBITS(1, 0, 1),
RDI_EVAL_CTRLBITS(2, 0, 1), RDI_EVAL_CTRLBITS(2, 0, 1),
RDI_EVAL_CTRLBITS(4, 0, 1), RDI_EVAL_CTRLBITS(4, 0, 1),
RDI_EVAL_CTRLBITS(8, 0, 1), RDI_EVAL_CTRLBITS(8, 0, 1),
RDI_EVAL_CTRLBITS(16, 0, 1), RDI_EVAL_CTRLBITS(16, 0, 1),
RDI_EVAL_CTRLBITS(1, 0, 1), RDI_EVAL_CTRLBITS(1, 0, 1),
RDI_EVAL_CTRLBITS(1, 1, 1), RDI_EVAL_CTRLBITS(1, 1, 1),
RDI_EVAL_CTRLBITS(1, 1, 1), RDI_EVAL_CTRLBITS(1, 1, 1),
RDI_EVAL_CTRLBITS(1, 2, 1), RDI_EVAL_CTRLBITS(1, 2, 1),
RDI_EVAL_CTRLBITS(1, 2, 1), RDI_EVAL_CTRLBITS(1, 2, 1),
RDI_EVAL_CTRLBITS(1, 2, 1), RDI_EVAL_CTRLBITS(1, 2, 1),
RDI_EVAL_CTRLBITS(1, 2, 1), RDI_EVAL_CTRLBITS(1, 2, 1),
RDI_EVAL_CTRLBITS(1, 2, 1), RDI_EVAL_CTRLBITS(1, 2, 1),
RDI_EVAL_CTRLBITS(2, 2, 1), RDI_EVAL_CTRLBITS(2, 2, 1),
RDI_EVAL_CTRLBITS(2, 2, 1), RDI_EVAL_CTRLBITS(2, 2, 1),
RDI_EVAL_CTRLBITS(1, 2, 1), RDI_EVAL_CTRLBITS(1, 2, 1),
RDI_EVAL_CTRLBITS(1, 2, 1), RDI_EVAL_CTRLBITS(1, 2, 1),
RDI_EVAL_CTRLBITS(1, 2, 1), RDI_EVAL_CTRLBITS(1, 2, 1),
RDI_EVAL_CTRLBITS(1, 1, 1), RDI_EVAL_CTRLBITS(1, 1, 1),
RDI_EVAL_CTRLBITS(1, 2, 1), RDI_EVAL_CTRLBITS(1, 2, 1),
RDI_EVAL_CTRLBITS(1, 2, 1), RDI_EVAL_CTRLBITS(1, 2, 1),
RDI_EVAL_CTRLBITS(1, 1, 1), RDI_EVAL_CTRLBITS(1, 1, 1),
RDI_EVAL_CTRLBITS(1, 2, 1), RDI_EVAL_CTRLBITS(1, 2, 1),
RDI_EVAL_CTRLBITS(1, 2, 1), RDI_EVAL_CTRLBITS(1, 2, 1),
RDI_EVAL_CTRLBITS(1, 2, 1), RDI_EVAL_CTRLBITS(1, 2, 1),
RDI_EVAL_CTRLBITS(1, 2, 1), RDI_EVAL_CTRLBITS(1, 2, 1),
RDI_EVAL_CTRLBITS(1, 2, 1), RDI_EVAL_CTRLBITS(1, 2, 1),
RDI_EVAL_CTRLBITS(1, 2, 1), RDI_EVAL_CTRLBITS(1, 2, 1),
RDI_EVAL_CTRLBITS(1, 1, 1), RDI_EVAL_CTRLBITS(1, 1, 1),
RDI_EVAL_CTRLBITS(1, 1, 1), RDI_EVAL_CTRLBITS(1, 1, 1),
RDI_EVAL_CTRLBITS(2, 1, 1), RDI_EVAL_CTRLBITS(2, 1, 1),
RDI_EVAL_CTRLBITS(1, 0, 1), RDI_EVAL_CTRLBITS(1, 0, 1),
RDI_EVAL_CTRLBITS(0, 1, 0), RDI_EVAL_CTRLBITS(0, 1, 0),
RDI_EVAL_CTRLBITS(1, 0, 0), RDI_EVAL_CTRLBITS(1, 0, 0),
RDI_EVAL_CTRLBITS(1, 2, 1), RDI_EVAL_CTRLBITS(1, 2, 1),
RDI_EVAL_CTRLBITS(1, 1, 1), RDI_EVAL_CTRLBITS(1, 1, 1),
RDI_EVAL_CTRLBITS(4, 0, 0), RDI_EVAL_CTRLBITS(4, 0, 0),
RDI_EVAL_CTRLBITS(4, 0, 0), RDI_EVAL_CTRLBITS(4, 0, 0),
RDI_EVAL_CTRLBITS(8, 0, 0), RDI_EVAL_CTRLBITS(8, 0, 0),
RDI_EVAL_CTRLBITS(0, 2, 2), RDI_EVAL_CTRLBITS(0, 2, 2),
RDI_EVAL_CTRLBITS(0, 0, 1), RDI_EVAL_CTRLBITS(0, 0, 1),
RDI_EVAL_CTRLBITS(0, 0, 0), RDI_EVAL_CTRLBITS(0, 0, 0),
}; };
struct {RDI_EvalConversionKind dst_typegroups[RDI_EvalTypeGroup_COUNT];} rdi_eval_typegroup_conversion_kind_matrix[8] = struct {RDI_EvalConversionKind dst_typegroups[RDI_EvalTypeGroup_COUNT];} rdi_eval_typegroup_conversion_kind_matrix[8] =
{ {
{{RDI_EvalConversionKind_OtherToOther, RDI_EvalConversionKind_FromOther, RDI_EvalConversionKind_FromOther, RDI_EvalConversionKind_FromOther, RDI_EvalConversionKind_FromOther}}, {{RDI_EvalConversionKind_OtherToOther, RDI_EvalConversionKind_FromOther, RDI_EvalConversionKind_FromOther, RDI_EvalConversionKind_FromOther, RDI_EvalConversionKind_FromOther}},
{{RDI_EvalConversionKind_ToOther, RDI_EvalConversionKind_Noop, RDI_EvalConversionKind_Noop, RDI_EvalConversionKind_Legal, RDI_EvalConversionKind_Legal}}, {{RDI_EvalConversionKind_ToOther, RDI_EvalConversionKind_Noop, RDI_EvalConversionKind_Noop, RDI_EvalConversionKind_Legal, RDI_EvalConversionKind_Legal}},
{{RDI_EvalConversionKind_ToOther, RDI_EvalConversionKind_Noop, RDI_EvalConversionKind_Noop, RDI_EvalConversionKind_Legal, RDI_EvalConversionKind_Legal}}, {{RDI_EvalConversionKind_ToOther, RDI_EvalConversionKind_Noop, RDI_EvalConversionKind_Noop, RDI_EvalConversionKind_Legal, RDI_EvalConversionKind_Legal}},
{{RDI_EvalConversionKind_ToOther, RDI_EvalConversionKind_Legal, RDI_EvalConversionKind_Legal, RDI_EvalConversionKind_Noop, RDI_EvalConversionKind_Legal}}, {{RDI_EvalConversionKind_ToOther, RDI_EvalConversionKind_Legal, RDI_EvalConversionKind_Legal, RDI_EvalConversionKind_Noop, RDI_EvalConversionKind_Legal}},
{{RDI_EvalConversionKind_ToOther, RDI_EvalConversionKind_Legal, RDI_EvalConversionKind_Legal, RDI_EvalConversionKind_Legal, RDI_EvalConversionKind_Noop}}, {{RDI_EvalConversionKind_ToOther, RDI_EvalConversionKind_Legal, RDI_EvalConversionKind_Legal, RDI_EvalConversionKind_Legal, RDI_EvalConversionKind_Noop}},
{{RDI_EvalConversionKind_ToOther, RDI_EvalConversionKind_Legal, RDI_EvalConversionKind_Legal, RDI_EvalConversionKind_Legal, RDI_EvalConversionKind_Legal}}, {{RDI_EvalConversionKind_ToOther, RDI_EvalConversionKind_Legal, RDI_EvalConversionKind_Legal, RDI_EvalConversionKind_Legal, RDI_EvalConversionKind_Legal}},
{{RDI_EvalConversionKind_ToOther, RDI_EvalConversionKind_Legal, RDI_EvalConversionKind_Legal, RDI_EvalConversionKind_Legal, RDI_EvalConversionKind_Legal}}, {{RDI_EvalConversionKind_ToOther, RDI_EvalConversionKind_Legal, RDI_EvalConversionKind_Legal, RDI_EvalConversionKind_Legal, RDI_EvalConversionKind_Legal}},
{{RDI_EvalConversionKind_Noop, RDI_EvalConversionKind_Noop, RDI_EvalConversionKind_Noop, RDI_EvalConversionKind_Noop, RDI_EvalConversionKind_Noop}}, {{RDI_EvalConversionKind_Noop, RDI_EvalConversionKind_Noop, RDI_EvalConversionKind_Noop, RDI_EvalConversionKind_Noop, RDI_EvalConversionKind_Noop}},
}; };
struct {RDI_U8 *str; RDI_U64 size;} rdi_eval_conversion_kind_message_string_table[6] = struct {RDI_U8 *str; RDI_U64 size;} rdi_eval_conversion_kind_message_string_table[6] =
{ {
{(RDI_U8 *)"", sizeof("")}, {(RDI_U8 *)"", sizeof("")},
{(RDI_U8 *)"", sizeof("")}, {(RDI_U8 *)"", sizeof("")},
{(RDI_U8 *)"Cannot convert between these types.", sizeof("Cannot convert between these types.")}, {(RDI_U8 *)"Cannot convert between these types.", sizeof("Cannot convert between these types.")},
{(RDI_U8 *)"Cannot convert to this type.", sizeof("Cannot convert to this type.")}, {(RDI_U8 *)"Cannot convert to this type.", sizeof("Cannot convert to this type.")},
{(RDI_U8 *)"Cannot convert this type.", sizeof("Cannot convert this type.")}, {(RDI_U8 *)"Cannot convert this type.", sizeof("Cannot convert this type.")},
{(RDI_U8 *)"", sizeof("")}, {(RDI_U8 *)"", sizeof("")},
}; };
RDI_PROC RDI_U64 RDI_PROC RDI_U64
rdi_hash(RDI_U8 *ptr, RDI_U64 size) rdi_hash(RDI_U8 *ptr, RDI_U64 size)
{ {
RDI_U64 result = 0; RDI_U64 result = 0;
if(size != 0) if(size != 0)
{ {
result = 5381; result = 5381;
RDI_U8 *opl = ptr + size; RDI_U8 *opl = ptr + size;
for(;ptr < opl; ptr += 1) for(;ptr < opl; ptr += 1)
{ {
result = ((result << 5) + result) + *ptr; result = ((result << 5) + result) + *ptr;
} }
} }
return result; return result;
} }
RDI_PROC RDI_U8 * RDI_PROC RDI_U8 *
rdi_string_from_type_kind(RDI_TypeKind kind, RDI_U64 *size_out) rdi_string_from_type_kind(RDI_TypeKind kind, RDI_U64 *size_out)
{ {
RDI_U8 *result = 0; RDI_U8 *result = 0;
*size_out = 0; *size_out = 0;
switch (kind) switch (kind)
{ {
default:{}break; default:{}break;
case RDI_TypeKind_NULL: {result = (RDI_U8*)"NULL"; *size_out = sizeof("NULL")-1;}break; case RDI_TypeKind_NULL: {result = (RDI_U8*)"NULL"; *size_out = sizeof("NULL")-1;}break;
case RDI_TypeKind_Void: {result = (RDI_U8*)"Void"; *size_out = sizeof("Void")-1;}break; case RDI_TypeKind_Void: {result = (RDI_U8*)"Void"; *size_out = sizeof("Void")-1;}break;
case RDI_TypeKind_Handle: {result = (RDI_U8*)"Handle"; *size_out = sizeof("Handle")-1;}break; case RDI_TypeKind_Handle: {result = (RDI_U8*)"Handle"; *size_out = sizeof("Handle")-1;}break;
case RDI_TypeKind_HResult: {result = (RDI_U8*)"HResult"; *size_out = sizeof("HResult")-1;}break; case RDI_TypeKind_HResult: {result = (RDI_U8*)"HResult"; *size_out = sizeof("HResult")-1;}break;
case RDI_TypeKind_Char8: {result = (RDI_U8*)"Char8"; *size_out = sizeof("Char8")-1;}break; case RDI_TypeKind_Char8: {result = (RDI_U8*)"Char8"; *size_out = sizeof("Char8")-1;}break;
case RDI_TypeKind_Char16: {result = (RDI_U8*)"Char16"; *size_out = sizeof("Char16")-1;}break; case RDI_TypeKind_Char16: {result = (RDI_U8*)"Char16"; *size_out = sizeof("Char16")-1;}break;
case RDI_TypeKind_Char32: {result = (RDI_U8*)"Char32"; *size_out = sizeof("Char32")-1;}break; case RDI_TypeKind_Char32: {result = (RDI_U8*)"Char32"; *size_out = sizeof("Char32")-1;}break;
case RDI_TypeKind_UChar8: {result = (RDI_U8*)"UChar8"; *size_out = sizeof("UChar8")-1;}break; case RDI_TypeKind_UChar8: {result = (RDI_U8*)"UChar8"; *size_out = sizeof("UChar8")-1;}break;
case RDI_TypeKind_UChar16: {result = (RDI_U8*)"UChar16"; *size_out = sizeof("UChar16")-1;}break; case RDI_TypeKind_UChar16: {result = (RDI_U8*)"UChar16"; *size_out = sizeof("UChar16")-1;}break;
case RDI_TypeKind_UChar32: {result = (RDI_U8*)"UChar32"; *size_out = sizeof("UChar32")-1;}break; case RDI_TypeKind_UChar32: {result = (RDI_U8*)"UChar32"; *size_out = sizeof("UChar32")-1;}break;
case RDI_TypeKind_U8: {result = (RDI_U8*)"U8"; *size_out = sizeof("U8")-1;}break; case RDI_TypeKind_U8: {result = (RDI_U8*)"U8"; *size_out = sizeof("U8")-1;}break;
case RDI_TypeKind_U16: {result = (RDI_U8*)"U16"; *size_out = sizeof("U16")-1;}break; case RDI_TypeKind_U16: {result = (RDI_U8*)"U16"; *size_out = sizeof("U16")-1;}break;
case RDI_TypeKind_U32: {result = (RDI_U8*)"U32"; *size_out = sizeof("U32")-1;}break; case RDI_TypeKind_U32: {result = (RDI_U8*)"U32"; *size_out = sizeof("U32")-1;}break;
case RDI_TypeKind_U64: {result = (RDI_U8*)"U64"; *size_out = sizeof("U64")-1;}break; case RDI_TypeKind_U64: {result = (RDI_U8*)"U64"; *size_out = sizeof("U64")-1;}break;
case RDI_TypeKind_U128: {result = (RDI_U8*)"U128"; *size_out = sizeof("U128")-1;}break; case RDI_TypeKind_U128: {result = (RDI_U8*)"U128"; *size_out = sizeof("U128")-1;}break;
case RDI_TypeKind_U256: {result = (RDI_U8*)"U256"; *size_out = sizeof("U256")-1;}break; case RDI_TypeKind_U256: {result = (RDI_U8*)"U256"; *size_out = sizeof("U256")-1;}break;
case RDI_TypeKind_U512: {result = (RDI_U8*)"U512"; *size_out = sizeof("U512")-1;}break; case RDI_TypeKind_U512: {result = (RDI_U8*)"U512"; *size_out = sizeof("U512")-1;}break;
case RDI_TypeKind_S8: {result = (RDI_U8*)"S8"; *size_out = sizeof("S8")-1;}break; case RDI_TypeKind_S8: {result = (RDI_U8*)"S8"; *size_out = sizeof("S8")-1;}break;
case RDI_TypeKind_S16: {result = (RDI_U8*)"S16"; *size_out = sizeof("S16")-1;}break; case RDI_TypeKind_S16: {result = (RDI_U8*)"S16"; *size_out = sizeof("S16")-1;}break;
case RDI_TypeKind_S32: {result = (RDI_U8*)"S32"; *size_out = sizeof("S32")-1;}break; case RDI_TypeKind_S32: {result = (RDI_U8*)"S32"; *size_out = sizeof("S32")-1;}break;
case RDI_TypeKind_S64: {result = (RDI_U8*)"S64"; *size_out = sizeof("S64")-1;}break; case RDI_TypeKind_S64: {result = (RDI_U8*)"S64"; *size_out = sizeof("S64")-1;}break;
case RDI_TypeKind_S128: {result = (RDI_U8*)"S128"; *size_out = sizeof("S128")-1;}break; case RDI_TypeKind_S128: {result = (RDI_U8*)"S128"; *size_out = sizeof("S128")-1;}break;
case RDI_TypeKind_S256: {result = (RDI_U8*)"S256"; *size_out = sizeof("S256")-1;}break; case RDI_TypeKind_S256: {result = (RDI_U8*)"S256"; *size_out = sizeof("S256")-1;}break;
case RDI_TypeKind_S512: {result = (RDI_U8*)"S512"; *size_out = sizeof("S512")-1;}break; case RDI_TypeKind_S512: {result = (RDI_U8*)"S512"; *size_out = sizeof("S512")-1;}break;
case RDI_TypeKind_Bool: {result = (RDI_U8*)"Bool"; *size_out = sizeof("Bool")-1;}break; case RDI_TypeKind_Bool: {result = (RDI_U8*)"Bool"; *size_out = sizeof("Bool")-1;}break;
case RDI_TypeKind_BF16: {result = (RDI_U8*)"BF16"; *size_out = sizeof("BF16")-1;}break; case RDI_TypeKind_BF16: {result = (RDI_U8*)"BF16"; *size_out = sizeof("BF16")-1;}break;
case RDI_TypeKind_F16: {result = (RDI_U8*)"F16"; *size_out = sizeof("F16")-1;}break; case RDI_TypeKind_F16: {result = (RDI_U8*)"F16"; *size_out = sizeof("F16")-1;}break;
case RDI_TypeKind_F32: {result = (RDI_U8*)"F32"; *size_out = sizeof("F32")-1;}break; case RDI_TypeKind_F32: {result = (RDI_U8*)"F32"; *size_out = sizeof("F32")-1;}break;
case RDI_TypeKind_F32PP: {result = (RDI_U8*)"F32PP"; *size_out = sizeof("F32PP")-1;}break; case RDI_TypeKind_F32PP: {result = (RDI_U8*)"F32PP"; *size_out = sizeof("F32PP")-1;}break;
case RDI_TypeKind_F48: {result = (RDI_U8*)"F48"; *size_out = sizeof("F48")-1;}break; case RDI_TypeKind_F48: {result = (RDI_U8*)"F48"; *size_out = sizeof("F48")-1;}break;
case RDI_TypeKind_F64: {result = (RDI_U8*)"F64"; *size_out = sizeof("F64")-1;}break; case RDI_TypeKind_F64: {result = (RDI_U8*)"F64"; *size_out = sizeof("F64")-1;}break;
case RDI_TypeKind_F80: {result = (RDI_U8*)"F80"; *size_out = sizeof("F80")-1;}break; case RDI_TypeKind_F80: {result = (RDI_U8*)"F80"; *size_out = sizeof("F80")-1;}break;
case RDI_TypeKind_F96: {result = (RDI_U8*)"F96"; *size_out = sizeof("F96")-1;}break; case RDI_TypeKind_F96: {result = (RDI_U8*)"F96"; *size_out = sizeof("F96")-1;}break;
case RDI_TypeKind_F128: {result = (RDI_U8*)"F128"; *size_out = sizeof("F128")-1;}break; case RDI_TypeKind_F128: {result = (RDI_U8*)"F128"; *size_out = sizeof("F128")-1;}break;
case RDI_TypeKind_ComplexF32: {result = (RDI_U8*)"ComplexF32"; *size_out = sizeof("ComplexF32")-1;}break; case RDI_TypeKind_ComplexF32: {result = (RDI_U8*)"ComplexF32"; *size_out = sizeof("ComplexF32")-1;}break;
case RDI_TypeKind_ComplexF64: {result = (RDI_U8*)"ComplexF64"; *size_out = sizeof("ComplexF64")-1;}break; case RDI_TypeKind_ComplexF64: {result = (RDI_U8*)"ComplexF64"; *size_out = sizeof("ComplexF64")-1;}break;
case RDI_TypeKind_ComplexF80: {result = (RDI_U8*)"ComplexF80"; *size_out = sizeof("ComplexF80")-1;}break; case RDI_TypeKind_ComplexF80: {result = (RDI_U8*)"ComplexF80"; *size_out = sizeof("ComplexF80")-1;}break;
case RDI_TypeKind_ComplexF128: {result = (RDI_U8*)"ComplexF128"; *size_out = sizeof("ComplexF128")-1;}break; case RDI_TypeKind_ComplexF128: {result = (RDI_U8*)"ComplexF128"; *size_out = sizeof("ComplexF128")-1;}break;
case RDI_TypeKind_Decimal32: {result = (RDI_U8*)"Decimal32"; *size_out = sizeof("Decimal32")-1;}break; case RDI_TypeKind_Decimal32: {result = (RDI_U8*)"Decimal32"; *size_out = sizeof("Decimal32")-1;}break;
case RDI_TypeKind_Decimal64: {result = (RDI_U8*)"Decimal64"; *size_out = sizeof("Decimal64")-1;}break; case RDI_TypeKind_Decimal64: {result = (RDI_U8*)"Decimal64"; *size_out = sizeof("Decimal64")-1;}break;
case RDI_TypeKind_Decimal128: {result = (RDI_U8*)"Decimal128"; *size_out = sizeof("Decimal128")-1;}break; case RDI_TypeKind_Decimal128: {result = (RDI_U8*)"Decimal128"; *size_out = sizeof("Decimal128")-1;}break;
case RDI_TypeKind_Variadic: {result = (RDI_U8*)"Variadic"; *size_out = sizeof("Variadic")-1;}break; case RDI_TypeKind_Variadic: {result = (RDI_U8*)"Variadic"; *size_out = sizeof("Variadic")-1;}break;
case RDI_TypeKind_Modifier: {result = (RDI_U8*)"Modifier"; *size_out = sizeof("Modifier")-1;}break; case RDI_TypeKind_Modifier: {result = (RDI_U8*)"Modifier"; *size_out = sizeof("Modifier")-1;}break;
case RDI_TypeKind_Ptr: {result = (RDI_U8*)"Ptr"; *size_out = sizeof("Ptr")-1;}break; case RDI_TypeKind_Ptr: {result = (RDI_U8*)"Ptr"; *size_out = sizeof("Ptr")-1;}break;
case RDI_TypeKind_LRef: {result = (RDI_U8*)"LRef"; *size_out = sizeof("LRef")-1;}break; case RDI_TypeKind_LRef: {result = (RDI_U8*)"LRef"; *size_out = sizeof("LRef")-1;}break;
case RDI_TypeKind_RRef: {result = (RDI_U8*)"RRef"; *size_out = sizeof("RRef")-1;}break; case RDI_TypeKind_RRef: {result = (RDI_U8*)"RRef"; *size_out = sizeof("RRef")-1;}break;
case RDI_TypeKind_Array: {result = (RDI_U8*)"Array"; *size_out = sizeof("Array")-1;}break; case RDI_TypeKind_Array: {result = (RDI_U8*)"Array"; *size_out = sizeof("Array")-1;}break;
case RDI_TypeKind_Function: {result = (RDI_U8*)"Function"; *size_out = sizeof("Function")-1;}break; case RDI_TypeKind_Function: {result = (RDI_U8*)"Function"; *size_out = sizeof("Function")-1;}break;
case RDI_TypeKind_Method: {result = (RDI_U8*)"Method"; *size_out = sizeof("Method")-1;}break; case RDI_TypeKind_Method: {result = (RDI_U8*)"Method"; *size_out = sizeof("Method")-1;}break;
case RDI_TypeKind_MemberPtr: {result = (RDI_U8*)"MemberPtr"; *size_out = sizeof("MemberPtr")-1;}break; case RDI_TypeKind_MemberPtr: {result = (RDI_U8*)"MemberPtr"; *size_out = sizeof("MemberPtr")-1;}break;
case RDI_TypeKind_Struct: {result = (RDI_U8*)"Struct"; *size_out = sizeof("Struct")-1;}break; case RDI_TypeKind_Struct: {result = (RDI_U8*)"Struct"; *size_out = sizeof("Struct")-1;}break;
case RDI_TypeKind_Class: {result = (RDI_U8*)"Class"; *size_out = sizeof("Class")-1;}break; case RDI_TypeKind_Class: {result = (RDI_U8*)"Class"; *size_out = sizeof("Class")-1;}break;
case RDI_TypeKind_Union: {result = (RDI_U8*)"Union"; *size_out = sizeof("Union")-1;}break; case RDI_TypeKind_Union: {result = (RDI_U8*)"Union"; *size_out = sizeof("Union")-1;}break;
case RDI_TypeKind_Enum: {result = (RDI_U8*)"Enum"; *size_out = sizeof("Enum")-1;}break; case RDI_TypeKind_Enum: {result = (RDI_U8*)"Enum"; *size_out = sizeof("Enum")-1;}break;
case RDI_TypeKind_Alias: {result = (RDI_U8*)"Alias"; *size_out = sizeof("Alias")-1;}break; case RDI_TypeKind_Alias: {result = (RDI_U8*)"Alias"; *size_out = sizeof("Alias")-1;}break;
case RDI_TypeKind_IncompleteStruct: {result = (RDI_U8*)"IncompleteStruct"; *size_out = sizeof("IncompleteStruct")-1;}break; case RDI_TypeKind_IncompleteStruct: {result = (RDI_U8*)"IncompleteStruct"; *size_out = sizeof("IncompleteStruct")-1;}break;
case RDI_TypeKind_IncompleteUnion: {result = (RDI_U8*)"IncompleteUnion"; *size_out = sizeof("IncompleteUnion")-1;}break; case RDI_TypeKind_IncompleteUnion: {result = (RDI_U8*)"IncompleteUnion"; *size_out = sizeof("IncompleteUnion")-1;}break;
case RDI_TypeKind_IncompleteClass: {result = (RDI_U8*)"IncompleteClass"; *size_out = sizeof("IncompleteClass")-1;}break; case RDI_TypeKind_IncompleteClass: {result = (RDI_U8*)"IncompleteClass"; *size_out = sizeof("IncompleteClass")-1;}break;
case RDI_TypeKind_IncompleteEnum: {result = (RDI_U8*)"IncompleteEnum"; *size_out = sizeof("IncompleteEnum")-1;}break; case RDI_TypeKind_IncompleteEnum: {result = (RDI_U8*)"IncompleteEnum"; *size_out = sizeof("IncompleteEnum")-1;}break;
case RDI_TypeKind_Bitfield: {result = (RDI_U8*)"Bitfield"; *size_out = sizeof("Bitfield")-1;}break; case RDI_TypeKind_Bitfield: {result = (RDI_U8*)"Bitfield"; *size_out = sizeof("Bitfield")-1;}break;
case RDI_TypeKind_COUNT: {result = (RDI_U8*)"COUNT"; *size_out = sizeof("COUNT")-1;}break; case RDI_TypeKind_COUNT: {result = (RDI_U8*)"COUNT"; *size_out = sizeof("COUNT")-1;}break;
} }
return result; return result;
} }
RDI_PROC RDI_U32 RDI_PROC RDI_U32
rdi_size_from_basic_type_kind(RDI_TypeKind kind) rdi_size_from_basic_type_kind(RDI_TypeKind kind)
{ {
RDI_U32 result = 0; RDI_U32 result = 0;
switch(kind) switch(kind)
{ {
default:{}break; default:{}break;
case RDI_TypeKind_Handle:{result = 0xFFFFFFFF;}break; case RDI_TypeKind_Handle:{result = 0xFFFFFFFF;}break;
case RDI_TypeKind_HResult:{result = 4;}break; case RDI_TypeKind_HResult:{result = 4;}break;
case RDI_TypeKind_Char8:{result = 1;}break; case RDI_TypeKind_Char8:{result = 1;}break;
case RDI_TypeKind_Char16:{result = 2;}break; case RDI_TypeKind_Char16:{result = 2;}break;
case RDI_TypeKind_Char32:{result = 4;}break; case RDI_TypeKind_Char32:{result = 4;}break;
case RDI_TypeKind_UChar8:{result = 1;}break; case RDI_TypeKind_UChar8:{result = 1;}break;
case RDI_TypeKind_UChar16:{result = 2;}break; case RDI_TypeKind_UChar16:{result = 2;}break;
case RDI_TypeKind_UChar32:{result = 4;}break; case RDI_TypeKind_UChar32:{result = 4;}break;
case RDI_TypeKind_U8:{result = 1;}break; case RDI_TypeKind_U8:{result = 1;}break;
case RDI_TypeKind_U16:{result = 2;}break; case RDI_TypeKind_U16:{result = 2;}break;
case RDI_TypeKind_U32:{result = 4;}break; case RDI_TypeKind_U32:{result = 4;}break;
case RDI_TypeKind_U64:{result = 8;}break; case RDI_TypeKind_U64:{result = 8;}break;
case RDI_TypeKind_U128:{result = 16;}break; case RDI_TypeKind_U128:{result = 16;}break;
case RDI_TypeKind_U256:{result = 32;}break; case RDI_TypeKind_U256:{result = 32;}break;
case RDI_TypeKind_U512:{result = 64;}break; case RDI_TypeKind_U512:{result = 64;}break;
case RDI_TypeKind_S8:{result = 1;}break; case RDI_TypeKind_S8:{result = 1;}break;
case RDI_TypeKind_S16:{result = 2;}break; case RDI_TypeKind_S16:{result = 2;}break;
case RDI_TypeKind_S32:{result = 4;}break; case RDI_TypeKind_S32:{result = 4;}break;
case RDI_TypeKind_S64:{result = 8;}break; case RDI_TypeKind_S64:{result = 8;}break;
case RDI_TypeKind_S128:{result = 16;}break; case RDI_TypeKind_S128:{result = 16;}break;
case RDI_TypeKind_S256:{result = 32;}break; case RDI_TypeKind_S256:{result = 32;}break;
case RDI_TypeKind_S512:{result = 64;}break; case RDI_TypeKind_S512:{result = 64;}break;
case RDI_TypeKind_Bool:{result = 1;}break; case RDI_TypeKind_Bool:{result = 1;}break;
case RDI_TypeKind_BF16:{result = 2;}break; case RDI_TypeKind_BF16:{result = 2;}break;
case RDI_TypeKind_F16:{result = 2;}break; case RDI_TypeKind_F16:{result = 2;}break;
case RDI_TypeKind_F32:{result = 4;}break; case RDI_TypeKind_F32:{result = 4;}break;
case RDI_TypeKind_F32PP:{result = 4;}break; case RDI_TypeKind_F32PP:{result = 4;}break;
case RDI_TypeKind_F48:{result = 6;}break; case RDI_TypeKind_F48:{result = 6;}break;
case RDI_TypeKind_F64:{result = 8;}break; case RDI_TypeKind_F64:{result = 8;}break;
case RDI_TypeKind_F80:{result = 10;}break; case RDI_TypeKind_F80:{result = 10;}break;
case RDI_TypeKind_F96:{result = 12;}break; case RDI_TypeKind_F96:{result = 12;}break;
case RDI_TypeKind_F128:{result = 16;}break; case RDI_TypeKind_F128:{result = 16;}break;
case RDI_TypeKind_ComplexF32:{result = 8;}break; case RDI_TypeKind_ComplexF32:{result = 8;}break;
case RDI_TypeKind_ComplexF64:{result = 16;}break; case RDI_TypeKind_ComplexF64:{result = 16;}break;
case RDI_TypeKind_ComplexF80:{result = 20;}break; case RDI_TypeKind_ComplexF80:{result = 20;}break;
case RDI_TypeKind_ComplexF128:{result = 32;}break; case RDI_TypeKind_ComplexF128:{result = 32;}break;
case RDI_TypeKind_Decimal32:{result = 4;}break; case RDI_TypeKind_Decimal32:{result = 4;}break;
case RDI_TypeKind_Decimal64:{result = 8;}break; case RDI_TypeKind_Decimal64:{result = 8;}break;
case RDI_TypeKind_Decimal128:{result = 16;}break; case RDI_TypeKind_Decimal128:{result = 16;}break;
} }
return result; return result;
} }
RDI_PROC RDI_U32 RDI_PROC RDI_U32
rdi_addr_size_from_arch(RDI_Arch arch) rdi_addr_size_from_arch(RDI_Arch arch)
{ {
RDI_U32 result = 0; RDI_U32 result = 0;
switch(arch) switch(arch)
{ {
default:{}break; default:{}break;
case RDI_Arch_X64:{result = 8;}break; case RDI_Arch_X64:{result = 8;}break;
case RDI_Arch_X86:{result = 4;}break; case RDI_Arch_X86:{result = 4;}break;
} }
return result; return result;
} }
RDI_PROC RDI_EvalConversionKind RDI_PROC RDI_EvalConversionKind
rdi_eval_conversion_kind_from_typegroups(RDI_EvalTypeGroup in, RDI_EvalTypeGroup out) rdi_eval_conversion_kind_from_typegroups(RDI_EvalTypeGroup in, RDI_EvalTypeGroup out)
{ {
RDI_EvalConversionKind k = rdi_eval_typegroup_conversion_kind_matrix[in].dst_typegroups[out]; RDI_EvalConversionKind k = rdi_eval_typegroup_conversion_kind_matrix[in].dst_typegroups[out];
return k; return k;
} }
RDI_PROC RDI_S32 RDI_PROC RDI_S32
rdi_eval_op_typegroup_are_compatible(RDI_EvalOp op, RDI_EvalTypeGroup group) rdi_eval_op_typegroup_are_compatible(RDI_EvalOp op, RDI_EvalTypeGroup group)
{ {
RDI_S32 result = 0; RDI_S32 result = 0;
switch(op) switch(op)
{ {
case RDI_EvalOp_Neg: case RDI_EvalOp_Add: case RDI_EvalOp_Sub: case RDI_EvalOp_Neg: case RDI_EvalOp_Add: case RDI_EvalOp_Sub:
case RDI_EvalOp_Mul: case RDI_EvalOp_Div: case RDI_EvalOp_Mul: case RDI_EvalOp_Div:
case RDI_EvalOp_EqEq:case RDI_EvalOp_NtEq: case RDI_EvalOp_EqEq:case RDI_EvalOp_NtEq:
case RDI_EvalOp_LsEq:case RDI_EvalOp_GrEq: case RDI_EvalOp_LsEq:case RDI_EvalOp_GrEq:
case RDI_EvalOp_Less:case RDI_EvalOp_Grtr: case RDI_EvalOp_Less:case RDI_EvalOp_Grtr:
{ {
if(group != RDI_EvalTypeGroup_Other) if(group != RDI_EvalTypeGroup_Other)
{ {
result = 1; result = 1;
} }
}break; }break;
case RDI_EvalOp_Mod:case RDI_EvalOp_LShift:case RDI_EvalOp_RShift: case RDI_EvalOp_Mod:case RDI_EvalOp_LShift:case RDI_EvalOp_RShift:
case RDI_EvalOp_BitNot:case RDI_EvalOp_BitAnd:case RDI_EvalOp_BitXor: case RDI_EvalOp_BitNot:case RDI_EvalOp_BitAnd:case RDI_EvalOp_BitXor:
case RDI_EvalOp_BitOr:case RDI_EvalOp_LogNot:case RDI_EvalOp_LogAnd: case RDI_EvalOp_BitOr:case RDI_EvalOp_LogNot:case RDI_EvalOp_LogAnd:
case RDI_EvalOp_LogOr: case RDI_EvalOp_LogOr:
{ {
if(group == RDI_EvalTypeGroup_S || group == RDI_EvalTypeGroup_U) if(group == RDI_EvalTypeGroup_S || group == RDI_EvalTypeGroup_U)
{ {
result = 1; result = 1;
} }
}break; }break;
} }
return result; return result;
} }
RDI_PROC RDI_U8 * RDI_PROC RDI_U8 *
rdi_explanation_string_from_eval_conversion_kind(RDI_EvalConversionKind kind, RDI_U64 *size_out) rdi_explanation_string_from_eval_conversion_kind(RDI_EvalConversionKind kind, RDI_U64 *size_out)
{ {
*size_out = rdi_eval_conversion_kind_message_string_table[kind].size; *size_out = rdi_eval_conversion_kind_message_string_table[kind].size;
return rdi_eval_conversion_kind_message_string_table[kind].str; return rdi_eval_conversion_kind_message_string_table[kind].str;
} }
RDI_PROC RDI_SectionKind RDI_PROC RDI_SectionKind
rdi_section_kind_from_checksum_kind(RDI_ChecksumKind kind) rdi_section_kind_from_checksum_kind(RDI_ChecksumKind kind)
{ {
RDI_SectionKind result = 0; RDI_SectionKind result = 0;
switch(kind) switch(kind)
{ {
default:{}break; default:{}break;
case RDI_ChecksumKind_NULL:{result = RDI_SectionKind_NULL;}break; case RDI_ChecksumKind_NULL:{result = RDI_SectionKind_NULL;}break;
case RDI_ChecksumKind_MD5:{result = RDI_SectionKind_MD5Checksums;}break; case RDI_ChecksumKind_MD5:{result = RDI_SectionKind_MD5Checksums;}break;
case RDI_ChecksumKind_SHA1:{result = RDI_SectionKind_SHA1Checksums;}break; case RDI_ChecksumKind_SHA1:{result = RDI_SectionKind_SHA1Checksums;}break;
case RDI_ChecksumKind_SHA256:{result = RDI_SectionKind_SHA256Checksums;}break; case RDI_ChecksumKind_SHA256:{result = RDI_SectionKind_SHA256Checksums;}break;
case RDI_ChecksumKind_Timestamp:{result = RDI_SectionKind_Timestamps;}break; case RDI_ChecksumKind_Timestamp:{result = RDI_SectionKind_Timestamps;}break;
case RDI_ChecksumKind_COUNT:{result = RDI_SectionKind_NULL;}break; case RDI_ChecksumKind_COUNT:{result = RDI_SectionKind_NULL;}break;
} }
return result; return result;
} }
#endif // RDI_C #endif // RDI_C
+1482 -1482
View File
File diff suppressed because it is too large Load Diff
+22 -22
View File
@@ -1,22 +1,22 @@
// Copyright (c) Epic Games Tools // Copyright (c) Epic Games Tools
// Licensed under the MIT license (https://opensource.org/license/mit/) // Licensed under the MIT license (https://opensource.org/license/mit/)
//- GENERATED CODE //- GENERATED CODE
C_LINKAGE_BEGIN C_LINKAGE_BEGIN
String8 rb_file_format_display_name_table[10] = String8 rb_file_format_display_name_table[10] =
{ {
{0}, {0},
str8_lit_comp("PDB"), str8_lit_comp("PDB"),
str8_lit_comp("PE"), str8_lit_comp("PE"),
str8_lit_comp("COFF (OBJ)"), str8_lit_comp("COFF (OBJ)"),
str8_lit_comp("COFF (Big OBJ)"), str8_lit_comp("COFF (Big OBJ)"),
str8_lit_comp("COFF (Archive)"), str8_lit_comp("COFF (Archive)"),
str8_lit_comp("COFF (Thin Archive)"), str8_lit_comp("COFF (Thin Archive)"),
str8_lit_comp("ELF32"), str8_lit_comp("ELF32"),
str8_lit_comp("ELF64"), str8_lit_comp("ELF64"),
str8_lit_comp("RDI"), str8_lit_comp("RDI"),
}; };
C_LINKAGE_END C_LINKAGE_END
+29 -29
View File
@@ -1,29 +1,29 @@
// Copyright (c) Epic Games Tools // Copyright (c) Epic Games Tools
// Licensed under the MIT license (https://opensource.org/license/mit/) // Licensed under the MIT license (https://opensource.org/license/mit/)
//- GENERATED CODE //- GENERATED CODE
#ifndef RADBIN_META_H #ifndef RADBIN_META_H
#define RADBIN_META_H #define RADBIN_META_H
typedef enum RB_FileFormat typedef enum RB_FileFormat
{ {
RB_FileFormat_Null, RB_FileFormat_Null,
RB_FileFormat_PDB, RB_FileFormat_PDB,
RB_FileFormat_PE, RB_FileFormat_PE,
RB_FileFormat_COFF_OBJ, RB_FileFormat_COFF_OBJ,
RB_FileFormat_COFF_BigOBJ, RB_FileFormat_COFF_BigOBJ,
RB_FileFormat_COFF_Archive, RB_FileFormat_COFF_Archive,
RB_FileFormat_COFF_ThinArchive, RB_FileFormat_COFF_ThinArchive,
RB_FileFormat_ELF32, RB_FileFormat_ELF32,
RB_FileFormat_ELF64, RB_FileFormat_ELF64,
RB_FileFormat_RDI, RB_FileFormat_RDI,
RB_FileFormat_COUNT, RB_FileFormat_COUNT,
} RB_FileFormat; } RB_FileFormat;
C_LINKAGE_BEGIN C_LINKAGE_BEGIN
extern String8 rb_file_format_display_name_table[10]; extern String8 rb_file_format_display_name_table[10];
C_LINKAGE_END C_LINKAGE_END
#endif // RADBIN_META_H #endif // RADBIN_META_H
+69 -69
View File
@@ -1,69 +1,69 @@
// Copyright (c) Epic Games Tools // Copyright (c) Epic Games Tools
// Licensed under the MIT license (https://opensource.org/license/mit/) // Licensed under the MIT license (https://opensource.org/license/mit/)
//- GENERATED CODE //- GENERATED CODE
C_LINKAGE_BEGIN C_LINKAGE_BEGIN
String8* r_d3d11_g_vshad_kind_source_table[5] = String8* r_d3d11_g_vshad_kind_source_table[5] =
{ {
&r_d3d11_g_rect_shader_src, &r_d3d11_g_rect_shader_src,
&r_d3d11_g_blur_shader_src, &r_d3d11_g_blur_shader_src,
&r_d3d11_g_mesh_shader_src, &r_d3d11_g_mesh_shader_src,
&r_d3d11_g_geo3dcomposite_shader_src, &r_d3d11_g_geo3dcomposite_shader_src,
&r_d3d11_g_finalize_shader_src, &r_d3d11_g_finalize_shader_src,
}; };
String8 r_d3d11_g_vshad_kind_source_name_table[5] = String8 r_d3d11_g_vshad_kind_source_name_table[5] =
{ {
str8_lit_comp("r_d3d11_g_rect_shader_src"), str8_lit_comp("r_d3d11_g_rect_shader_src"),
str8_lit_comp("r_d3d11_g_blur_shader_src"), str8_lit_comp("r_d3d11_g_blur_shader_src"),
str8_lit_comp("r_d3d11_g_mesh_shader_src"), str8_lit_comp("r_d3d11_g_mesh_shader_src"),
str8_lit_comp("r_d3d11_g_geo3dcomposite_shader_src"), str8_lit_comp("r_d3d11_g_geo3dcomposite_shader_src"),
str8_lit_comp("r_d3d11_g_finalize_shader_src"), str8_lit_comp("r_d3d11_g_finalize_shader_src"),
}; };
D3D11_INPUT_ELEMENT_DESC * r_d3d11_g_vshad_kind_elements_ptr_table[5] = D3D11_INPUT_ELEMENT_DESC * r_d3d11_g_vshad_kind_elements_ptr_table[5] =
{ {
r_d3d11_g_rect_ilay_elements, r_d3d11_g_rect_ilay_elements,
0, 0,
r_d3d11_g_mesh_ilay_elements, r_d3d11_g_mesh_ilay_elements,
0, 0,
0, 0,
}; };
U64 r_d3d11_g_vshad_kind_elements_count_table[5] = U64 r_d3d11_g_vshad_kind_elements_count_table[5] =
{ {
ArrayCount(r_d3d11_g_rect_ilay_elements) , ArrayCount(r_d3d11_g_rect_ilay_elements) ,
0, 0,
ArrayCount(r_d3d11_g_mesh_ilay_elements) , ArrayCount(r_d3d11_g_mesh_ilay_elements) ,
0, 0,
0, 0,
}; };
String8* r_d3d11_g_pshad_kind_source_table[5] = String8* r_d3d11_g_pshad_kind_source_table[5] =
{ {
&r_d3d11_g_rect_shader_src, &r_d3d11_g_rect_shader_src,
&r_d3d11_g_blur_shader_src, &r_d3d11_g_blur_shader_src,
&r_d3d11_g_mesh_shader_src, &r_d3d11_g_mesh_shader_src,
&r_d3d11_g_geo3dcomposite_shader_src, &r_d3d11_g_geo3dcomposite_shader_src,
&r_d3d11_g_finalize_shader_src, &r_d3d11_g_finalize_shader_src,
}; };
String8 r_d3d11_g_pshad_kind_source_name_table[5] = String8 r_d3d11_g_pshad_kind_source_name_table[5] =
{ {
str8_lit_comp("r_d3d11_g_rect_shader_src"), str8_lit_comp("r_d3d11_g_rect_shader_src"),
str8_lit_comp("r_d3d11_g_blur_shader_src"), str8_lit_comp("r_d3d11_g_blur_shader_src"),
str8_lit_comp("r_d3d11_g_mesh_shader_src"), str8_lit_comp("r_d3d11_g_mesh_shader_src"),
str8_lit_comp("r_d3d11_g_geo3dcomposite_shader_src"), str8_lit_comp("r_d3d11_g_geo3dcomposite_shader_src"),
str8_lit_comp("r_d3d11_g_finalize_shader_src"), str8_lit_comp("r_d3d11_g_finalize_shader_src"),
}; };
U64 r_d3d11_g_uniform_type_kind_size_table[3] = U64 r_d3d11_g_uniform_type_kind_size_table[3] =
{ {
sizeof(R_D3D11_Uniforms_Rect), sizeof(R_D3D11_Uniforms_Rect),
sizeof(R_D3D11_Uniforms_Blur), sizeof(R_D3D11_Uniforms_Blur),
sizeof(R_D3D11_Uniforms_Mesh), sizeof(R_D3D11_Uniforms_Mesh),
}; };
C_LINKAGE_END C_LINKAGE_END
+483 -483
View File
@@ -1,483 +1,483 @@
// Copyright (c) Epic Games Tools // Copyright (c) Epic Games Tools
// Licensed under the MIT license (https://opensource.org/license/mit/) // Licensed under the MIT license (https://opensource.org/license/mit/)
//- GENERATED CODE //- GENERATED CODE
#ifndef RENDER_D3D11_META_H #ifndef RENDER_D3D11_META_H
#define RENDER_D3D11_META_H #define RENDER_D3D11_META_H
typedef enum R_D3D11_VShadKind typedef enum R_D3D11_VShadKind
{ {
R_D3D11_VShadKind_Rect, R_D3D11_VShadKind_Rect,
R_D3D11_VShadKind_Blur, R_D3D11_VShadKind_Blur,
R_D3D11_VShadKind_Mesh, R_D3D11_VShadKind_Mesh,
R_D3D11_VShadKind_Geo3DComposite, R_D3D11_VShadKind_Geo3DComposite,
R_D3D11_VShadKind_Finalize, R_D3D11_VShadKind_Finalize,
R_D3D11_VShadKind_COUNT, R_D3D11_VShadKind_COUNT,
} R_D3D11_VShadKind; } R_D3D11_VShadKind;
typedef enum R_D3D11_PShadKind typedef enum R_D3D11_PShadKind
{ {
R_D3D11_PShadKind_Rect, R_D3D11_PShadKind_Rect,
R_D3D11_PShadKind_Blur, R_D3D11_PShadKind_Blur,
R_D3D11_PShadKind_Mesh, R_D3D11_PShadKind_Mesh,
R_D3D11_PShadKind_Geo3DComposite, R_D3D11_PShadKind_Geo3DComposite,
R_D3D11_PShadKind_Finalize, R_D3D11_PShadKind_Finalize,
R_D3D11_PShadKind_COUNT, R_D3D11_PShadKind_COUNT,
} R_D3D11_PShadKind; } R_D3D11_PShadKind;
typedef enum R_D3D11_UniformTypeKind typedef enum R_D3D11_UniformTypeKind
{ {
R_D3D11_UniformTypeKind_Rect, R_D3D11_UniformTypeKind_Rect,
R_D3D11_UniformTypeKind_Blur, R_D3D11_UniformTypeKind_Blur,
R_D3D11_UniformTypeKind_Mesh, R_D3D11_UniformTypeKind_Mesh,
R_D3D11_UniformTypeKind_COUNT, R_D3D11_UniformTypeKind_COUNT,
} R_D3D11_UniformTypeKind; } R_D3D11_UniformTypeKind;
C_LINKAGE_BEGIN C_LINKAGE_BEGIN
read_only global String8 r_d3d11_g_rect_shader_src = read_only global String8 r_d3d11_g_rect_shader_src =
str8_lit_comp( str8_lit_comp(
"" ""
"\n" "\n"
"cbuffer Globals : register(b0)\n" "cbuffer Globals : register(b0)\n"
"{\n" "{\n"
" float2 viewport_size_px;\n" " float2 viewport_size_px;\n"
" float opacity;\n" " float opacity;\n"
" row_major float4x4 texture_sample_channel_map;\n" " row_major float4x4 texture_sample_channel_map;\n"
" float2 texture_t2d_size_px;\n" " float2 texture_t2d_size_px;\n"
" row_major float3x3 xform;\n" " row_major float3x3 xform;\n"
" float2 xform_scale;\n" " float2 xform_scale;\n"
"}\n" "}\n"
"\n" "\n"
"struct CPU2Vertex\n" "struct CPU2Vertex\n"
"{\n" "{\n"
" float4 dst_rect_px : POS;\n" " float4 dst_rect_px : POS;\n"
" float4 src_rect_px : TEX;\n" " float4 src_rect_px : TEX;\n"
" float4 color00 : COL0;\n" " float4 color00 : COL0;\n"
" float4 color01 : COL1;\n" " float4 color01 : COL1;\n"
" float4 color10 : COL2;\n" " float4 color10 : COL2;\n"
" float4 color11 : COL3;\n" " float4 color11 : COL3;\n"
" float4 corner_radii_px : CRAD;\n" " float4 corner_radii_px : CRAD;\n"
" float4 style_params : STY; // x: border_thickness_px, y: softness_px, z: omit_texture, w: shear\n" " float4 style_params : STY; // x: border_thickness_px, y: softness_px, z: omit_texture, w: shear\n"
" uint vertex_id : SV_VertexID;\n" " uint vertex_id : SV_VertexID;\n"
"};\n" "};\n"
"\n" "\n"
"struct Vertex2Pixel\n" "struct Vertex2Pixel\n"
"{\n" "{\n"
" float4 position : SV_POSITION;\n" " float4 position : SV_POSITION;\n"
" nointerpolation float2 rect_half_size_px : PSIZE;\n" " nointerpolation float2 rect_half_size_px : PSIZE;\n"
" float2 texcoord_pct : TEX;\n" " float2 texcoord_pct : TEX;\n"
" float2 sdf_sample_pos : SDF;\n" " float2 sdf_sample_pos : SDF;\n"
" float4 tint : TINT;\n" " float4 tint : TINT;\n"
" float corner_radius_px : CRAD;\n" " float corner_radius_px : CRAD;\n"
" nointerpolation float border_thickness_px : BTHC;\n" " nointerpolation float border_thickness_px : BTHC;\n"
" nointerpolation float softness_px : SFT;\n" " nointerpolation float softness_px : SFT;\n"
" nointerpolation float omit_texture : OTX;\n" " nointerpolation float omit_texture : OTX;\n"
"};\n" "};\n"
"\n" "\n"
"Texture2D main_t2d : register(t0);\n" "Texture2D main_t2d : register(t0);\n"
"SamplerState main_sampler : register(s0);\n" "SamplerState main_sampler : register(s0);\n"
"\n" "\n"
"float rect_sdf(float2 sample_pos, float2 rect_half_size, float r)\n" "float rect_sdf(float2 sample_pos, float2 rect_half_size, float r)\n"
"{\n" "{\n"
" return length(max(abs(sample_pos) - rect_half_size + r, 0.0)) - r;\n" " return length(max(abs(sample_pos) - rect_half_size + r, 0.0)) - r;\n"
"}\n" "}\n"
"\n" "\n"
"float linear_from_srgb_f32(float x)\n" "float linear_from_srgb_f32(float x)\n"
"{\n" "{\n"
" return x < 0.0404482362771082 ? x / 12.92 : pow((x + 0.055) / 1.055, 2.4);\n" " return x < 0.0404482362771082 ? x / 12.92 : pow((x + 0.055) / 1.055, 2.4);\n"
"}\n" "}\n"
"\n" "\n"
"float4 linear_from_srgba(float4 v)\n" "float4 linear_from_srgba(float4 v)\n"
"{\n" "{\n"
" float4 result = float4(linear_from_srgb_f32(v.x),\n" " float4 result = float4(linear_from_srgb_f32(v.x),\n"
" linear_from_srgb_f32(v.y),\n" " linear_from_srgb_f32(v.y),\n"
" linear_from_srgb_f32(v.z),\n" " linear_from_srgb_f32(v.z),\n"
" v.w);\n" " v.w);\n"
" return result;\n" " return result;\n"
"}\n" "}\n"
"\n" "\n"
"//- rjf: vertex shader\n" "//- rjf: vertex shader\n"
"\n" "\n"
"Vertex2Pixel\n" "Vertex2Pixel\n"
"vs_main(CPU2Vertex cpu2vertex)\n" "vs_main(CPU2Vertex cpu2vertex)\n"
"{\n" "{\n"
" //- rjf: unpack & xform rectangle src/dst vertices\n" " //- rjf: unpack & xform rectangle src/dst vertices\n"
" float2 dst_p0_px = cpu2vertex.dst_rect_px.xy;\n" " float2 dst_p0_px = cpu2vertex.dst_rect_px.xy;\n"
" float2 dst_p1_px = cpu2vertex.dst_rect_px.zw;\n" " float2 dst_p1_px = cpu2vertex.dst_rect_px.zw;\n"
" float2 src_p0_px = cpu2vertex.src_rect_px.xy;\n" " float2 src_p0_px = cpu2vertex.src_rect_px.xy;\n"
" float2 src_p1_px = cpu2vertex.src_rect_px.zw;\n" " float2 src_p1_px = cpu2vertex.src_rect_px.zw;\n"
" float2 dst_size_px = abs(dst_p1_px - dst_p0_px);\n" " float2 dst_size_px = abs(dst_p1_px - dst_p0_px);\n"
" \n" " \n"
" //- rjf: unpack style params\n" " //- rjf: unpack style params\n"
" float border_thickness_px = cpu2vertex.style_params.x;\n" " float border_thickness_px = cpu2vertex.style_params.x;\n"
" float softness_px = cpu2vertex.style_params.y;\n" " float softness_px = cpu2vertex.style_params.y;\n"
" float omit_texture = cpu2vertex.style_params.z;\n" " float omit_texture = cpu2vertex.style_params.z;\n"
" float shear_px = cpu2vertex.style_params.w;\n" " float shear_px = cpu2vertex.style_params.w;\n"
" \n" " \n"
" //- rjf: prep per-vertex arrays to sample from (p: position, t: texcoord, c: colorcoord, r: cornerradius)\n" " //- rjf: prep per-vertex arrays to sample from (p: position, t: texcoord, c: colorcoord, r: cornerradius)\n"
" float2 dst_p_verts_px[] =\n" " float2 dst_p_verts_px[] =\n"
" {\n" " {\n"
" float2(dst_p0_px.x, dst_p1_px.y),\n" " float2(dst_p0_px.x, dst_p1_px.y),\n"
" float2(dst_p0_px.x, dst_p0_px.y),\n" " float2(dst_p0_px.x, dst_p0_px.y),\n"
" float2(dst_p1_px.x, dst_p1_px.y + shear_px),\n" " float2(dst_p1_px.x, dst_p1_px.y + shear_px),\n"
" float2(dst_p1_px.x, dst_p0_px.y + shear_px),\n" " float2(dst_p1_px.x, dst_p0_px.y + shear_px),\n"
" };\n" " };\n"
" float2 src_p_verts_px[] =\n" " float2 src_p_verts_px[] =\n"
" {\n" " {\n"
" float2(src_p0_px.x, src_p1_px.y),\n" " float2(src_p0_px.x, src_p1_px.y),\n"
" float2(src_p0_px.x, src_p0_px.y),\n" " float2(src_p0_px.x, src_p0_px.y),\n"
" float2(src_p1_px.x, src_p1_px.y),\n" " float2(src_p1_px.x, src_p1_px.y),\n"
" float2(src_p1_px.x, src_p0_px.y),\n" " float2(src_p1_px.x, src_p0_px.y),\n"
" };\n" " };\n"
" float dst_r_verts_px[] =\n" " float dst_r_verts_px[] =\n"
" {\n" " {\n"
" cpu2vertex.corner_radii_px.y,\n" " cpu2vertex.corner_radii_px.y,\n"
" cpu2vertex.corner_radii_px.x,\n" " cpu2vertex.corner_radii_px.x,\n"
" cpu2vertex.corner_radii_px.w,\n" " cpu2vertex.corner_radii_px.w,\n"
" cpu2vertex.corner_radii_px.z,\n" " cpu2vertex.corner_radii_px.z,\n"
" };\n" " };\n"
" float4 src_color[] =\n" " float4 src_color[] =\n"
" {\n" " {\n"
" cpu2vertex.color01,\n" " cpu2vertex.color01,\n"
" cpu2vertex.color00,\n" " cpu2vertex.color00,\n"
" cpu2vertex.color11,\n" " cpu2vertex.color11,\n"
" cpu2vertex.color10,\n" " cpu2vertex.color10,\n"
" };\n" " };\n"
" float2 dst_verts_pct = float2((cpu2vertex.vertex_id >> 1) ? 1.f : 0.f,\n" " float2 dst_verts_pct = float2((cpu2vertex.vertex_id >> 1) ? 1.f : 0.f,\n"
" (cpu2vertex.vertex_id & 1) ? 0.f : 1.f);\n" " (cpu2vertex.vertex_id & 1) ? 0.f : 1.f);\n"
" \n" " \n"
" // rjf: fill vertex -> pixel data\n" " // rjf: fill vertex -> pixel data\n"
" Vertex2Pixel vertex2pixel;\n" " Vertex2Pixel vertex2pixel;\n"
" {\n" " {\n"
" float2 xformed_pos = mul(xform, float3(dst_p_verts_px[cpu2vertex.vertex_id], 1.f)).xy;\n" " float2 xformed_pos = mul(xform, float3(dst_p_verts_px[cpu2vertex.vertex_id], 1.f)).xy;\n"
" xformed_pos.y = viewport_size_px.y - xformed_pos.y;\n" " xformed_pos.y = viewport_size_px.y - xformed_pos.y;\n"
" vertex2pixel.position.xy = 2.f * xformed_pos/viewport_size_px - 1.f;\n" " vertex2pixel.position.xy = 2.f * xformed_pos/viewport_size_px - 1.f;\n"
" vertex2pixel.position.z = 0.f;\n" " vertex2pixel.position.z = 0.f;\n"
" vertex2pixel.position.w = 1.f;\n" " vertex2pixel.position.w = 1.f;\n"
" vertex2pixel.rect_half_size_px = dst_size_px / 2.f * xform_scale;\n" " vertex2pixel.rect_half_size_px = dst_size_px / 2.f * xform_scale;\n"
" vertex2pixel.texcoord_pct = src_p_verts_px[cpu2vertex.vertex_id] / texture_t2d_size_px;\n" " vertex2pixel.texcoord_pct = src_p_verts_px[cpu2vertex.vertex_id] / texture_t2d_size_px;\n"
" vertex2pixel.sdf_sample_pos = (2.f * dst_verts_pct - 1.f) * vertex2pixel.rect_half_size_px;\n" " vertex2pixel.sdf_sample_pos = (2.f * dst_verts_pct - 1.f) * vertex2pixel.rect_half_size_px;\n"
" vertex2pixel.tint = src_color[cpu2vertex.vertex_id];\n" " vertex2pixel.tint = src_color[cpu2vertex.vertex_id];\n"
" vertex2pixel.corner_radius_px = dst_r_verts_px[cpu2vertex.vertex_id];\n" " vertex2pixel.corner_radius_px = dst_r_verts_px[cpu2vertex.vertex_id];\n"
" vertex2pixel.border_thickness_px = border_thickness_px;\n" " vertex2pixel.border_thickness_px = border_thickness_px;\n"
" vertex2pixel.softness_px = softness_px;\n" " vertex2pixel.softness_px = softness_px;\n"
" vertex2pixel.omit_texture = omit_texture;\n" " vertex2pixel.omit_texture = omit_texture;\n"
" }\n" " }\n"
" return vertex2pixel;\n" " return vertex2pixel;\n"
"}\n" "}\n"
"\n" "\n"
"//- rjf: pixel shader\n" "//- rjf: pixel shader\n"
"\n" "\n"
"float4\n" "float4\n"
"ps_main(Vertex2Pixel vertex2pixel) : SV_TARGET\n" "ps_main(Vertex2Pixel vertex2pixel) : SV_TARGET\n"
"{\n" "{\n"
" // rjf: blend corner colors to produce final tint\n" " // rjf: blend corner colors to produce final tint\n"
" float4 tint = vertex2pixel.tint;\n" " float4 tint = vertex2pixel.tint;\n"
" \n" " \n"
" // rjf: sample texture\n" " // rjf: sample texture\n"
" float4 albedo_sample = float4(1, 1, 1, 1);\n" " float4 albedo_sample = float4(1, 1, 1, 1);\n"
" if(vertex2pixel.omit_texture < 1)\n" " if(vertex2pixel.omit_texture < 1)\n"
" {\n" " {\n"
" albedo_sample = mul(main_t2d.Sample(main_sampler, vertex2pixel.texcoord_pct), texture_sample_channel_map);\n" " albedo_sample = mul(main_t2d.Sample(main_sampler, vertex2pixel.texcoord_pct), texture_sample_channel_map);\n"
" albedo_sample = linear_from_srgba(albedo_sample);\n" " albedo_sample = linear_from_srgba(albedo_sample);\n"
" }\n" " }\n"
" \n" " \n"
" // rjf: determine SDF sample position\n" " // rjf: determine SDF sample position\n"
" float2 sdf_sample_pos = vertex2pixel.sdf_sample_pos;\n" " float2 sdf_sample_pos = vertex2pixel.sdf_sample_pos;\n"
" \n" " \n"
" // rjf: sample for borders\n" " // rjf: sample for borders\n"
" float border_sdf_t = 1;\n" " float border_sdf_t = 1;\n"
" if(vertex2pixel.border_thickness_px > 0)\n" " if(vertex2pixel.border_thickness_px > 0)\n"
" {\n" " {\n"
" float border_sdf_s = rect_sdf(sdf_sample_pos,\n" " float border_sdf_s = rect_sdf(sdf_sample_pos,\n"
" vertex2pixel.rect_half_size_px - float2(vertex2pixel.softness_px*2.f, vertex2pixel.softness_px*2.f) - vertex2pixel.border_thickness_px,\n" " vertex2pixel.rect_half_size_px - float2(vertex2pixel.softness_px*2.f, vertex2pixel.softness_px*2.f) - vertex2pixel.border_thickness_px,\n"
" max(vertex2pixel.corner_radius_px-vertex2pixel.border_thickness_px, 0));\n" " max(vertex2pixel.corner_radius_px-vertex2pixel.border_thickness_px, 0));\n"
" border_sdf_t = smoothstep(0, 2*vertex2pixel.softness_px, border_sdf_s);\n" " border_sdf_t = smoothstep(0, 2*vertex2pixel.softness_px, border_sdf_s);\n"
" }\n" " }\n"
" if(border_sdf_t < 0.001f)\n" " if(border_sdf_t < 0.001f)\n"
" {\n" " {\n"
" discard;\n" " discard;\n"
" }\n" " }\n"
" \n" " \n"
" // rjf: sample for corners\n" " // rjf: sample for corners\n"
" float corner_sdf_t = 1;\n" " float corner_sdf_t = 1;\n"
" if(vertex2pixel.corner_radius_px > 0 || vertex2pixel.softness_px > 0.75f)\n" " if(vertex2pixel.corner_radius_px > 0 || vertex2pixel.softness_px > 0.75f)\n"
" {\n" " {\n"
" float corner_sdf_s = rect_sdf(sdf_sample_pos,\n" " float corner_sdf_s = rect_sdf(sdf_sample_pos,\n"
" vertex2pixel.rect_half_size_px - float2(vertex2pixel.softness_px*2.f, vertex2pixel.softness_px*2.f),\n" " vertex2pixel.rect_half_size_px - float2(vertex2pixel.softness_px*2.f, vertex2pixel.softness_px*2.f),\n"
" vertex2pixel.corner_radius_px);\n" " vertex2pixel.corner_radius_px);\n"
" corner_sdf_t = 1-smoothstep(0, 2*vertex2pixel.softness_px, corner_sdf_s);\n" " corner_sdf_t = 1-smoothstep(0, 2*vertex2pixel.softness_px, corner_sdf_s);\n"
" }\n" " }\n"
" \n" " \n"
" // rjf: form+return final color\n" " // rjf: form+return final color\n"
" float4 final_color = albedo_sample;\n" " float4 final_color = albedo_sample;\n"
" final_color *= tint;\n" " final_color *= tint;\n"
" final_color.a *= opacity;\n" " final_color.a *= opacity;\n"
" final_color.a *= corner_sdf_t;\n" " final_color.a *= corner_sdf_t;\n"
" final_color.a *= border_sdf_t;\n" " final_color.a *= border_sdf_t;\n"
" return final_color;\n" " return final_color;\n"
"}\n" "}\n"
"" ""
); );
read_only global String8 r_d3d11_g_blur_shader_src = read_only global String8 r_d3d11_g_blur_shader_src =
str8_lit_comp( str8_lit_comp(
"" ""
"\n" "\n"
"cbuffer Globals : register(b0)\n" "cbuffer Globals : register(b0)\n"
"{\n" "{\n"
" float4 rect;\n" " float4 rect;\n"
" float4 corner_radii_px;\n" " float4 corner_radii_px;\n"
" float2 direction;\n" " float2 direction;\n"
" float2 viewport_size;\n" " float2 viewport_size;\n"
" uint blur_count;\n" " uint blur_count;\n"
"}\n" "}\n"
"\n" "\n"
"cbuffer Kernel : register(b1)\n" "cbuffer Kernel : register(b1)\n"
"{\n" "{\n"
" float4 kernel[32];\n" " float4 kernel[32];\n"
"}\n" "}\n"
"\n" "\n"
"struct CPU2Vertex\n" "struct CPU2Vertex\n"
"{\n" "{\n"
" uint vertex_id : SV_VertexID;\n" " uint vertex_id : SV_VertexID;\n"
"};\n" "};\n"
"\n" "\n"
"struct Vertex2Pixel\n" "struct Vertex2Pixel\n"
"{\n" "{\n"
" float4 position : SV_POSITION;\n" " float4 position : SV_POSITION;\n"
" float2 texcoord : TEX;\n" " float2 texcoord : TEX;\n"
" float2 sdf_sample_pos : SDF;\n" " float2 sdf_sample_pos : SDF;\n"
" nointerpolation float2 rect_half_size : RHS;\n" " nointerpolation float2 rect_half_size : RHS;\n"
" float corner_radius : RAD;\n" " float corner_radius : RAD;\n"
"};\n" "};\n"
"\n" "\n"
"Texture2D stage_t2d : register(t0);\n" "Texture2D stage_t2d : register(t0);\n"
"SamplerState stage_sampler : register(s0);\n" "SamplerState stage_sampler : register(s0);\n"
"\n" "\n"
"float rect_sdf(float2 sample_pos, float2 rect_half_size, float r)\n" "float rect_sdf(float2 sample_pos, float2 rect_half_size, float r)\n"
"{\n" "{\n"
" return length(max(abs(sample_pos) - rect_half_size + r, 0.0)) - r;\n" " return length(max(abs(sample_pos) - rect_half_size + r, 0.0)) - r;\n"
"}\n" "}\n"
"\n" "\n"
"//- rjf: vertex shader\n" "//- rjf: vertex shader\n"
"\n" "\n"
"Vertex2Pixel\n" "Vertex2Pixel\n"
"vs_main(CPU2Vertex c2v)\n" "vs_main(CPU2Vertex c2v)\n"
"{\n" "{\n"
" float2 vertex_positions__scrn[] =\n" " float2 vertex_positions__scrn[] =\n"
" {\n" " {\n"
" rect.xw,\n" " rect.xw,\n"
" rect.xy,\n" " rect.xy,\n"
" rect.zw,\n" " rect.zw,\n"
" rect.zy,\n" " rect.zy,\n"
" };\n" " };\n"
" float corner_radii__px[] =\n" " float corner_radii__px[] =\n"
" {\n" " {\n"
" corner_radii_px.y,\n" " corner_radii_px.y,\n"
" corner_radii_px.x,\n" " corner_radii_px.x,\n"
" corner_radii_px.w,\n" " corner_radii_px.w,\n"
" corner_radii_px.z,\n" " corner_radii_px.z,\n"
" };\n" " };\n"
" float2 cornercoords__pct = float2((c2v.vertex_id >> 1) ? 1.f : 0.f,\n" " float2 cornercoords__pct = float2((c2v.vertex_id >> 1) ? 1.f : 0.f,\n"
" (c2v.vertex_id & 1) ? 0.f : 1.f);\n" " (c2v.vertex_id & 1) ? 0.f : 1.f);\n"
" \n" " \n"
" float2 vertex_position__pct = vertex_positions__scrn[c2v.vertex_id] / viewport_size;\n" " float2 vertex_position__pct = vertex_positions__scrn[c2v.vertex_id] / viewport_size;\n"
" float2 vertex_position__scr = 2.f * vertex_position__pct - 1.f;\n" " float2 vertex_position__scr = 2.f * vertex_position__pct - 1.f;\n"
" \n" " \n"
" float2 rect_half_size = float2((rect.z-rect.x)/2, (rect.w-rect.y)/2);\n" " float2 rect_half_size = float2((rect.z-rect.x)/2, (rect.w-rect.y)/2);\n"
" \n" " \n"
" Vertex2Pixel v2p;\n" " Vertex2Pixel v2p;\n"
" {\n" " {\n"
" v2p.position = float4(vertex_position__scr.x, -vertex_position__scr.y, 0.f, 1.f);\n" " v2p.position = float4(vertex_position__scr.x, -vertex_position__scr.y, 0.f, 1.f);\n"
" v2p.texcoord = vertex_position__pct;\n" " v2p.texcoord = vertex_position__pct;\n"
" v2p.sdf_sample_pos = (2.f * cornercoords__pct - 1.f) * rect_half_size;\n" " v2p.sdf_sample_pos = (2.f * cornercoords__pct - 1.f) * rect_half_size;\n"
" v2p.rect_half_size = rect_half_size - 2.f;\n" " v2p.rect_half_size = rect_half_size - 2.f;\n"
" v2p.corner_radius = corner_radii__px[c2v.vertex_id];\n" " v2p.corner_radius = corner_radii__px[c2v.vertex_id];\n"
" }\n" " }\n"
" return v2p;\n" " return v2p;\n"
"}\n" "}\n"
"\n" "\n"
"//- rjf: pixel shader\n" "//- rjf: pixel shader\n"
"\n" "\n"
"float4\n" "float4\n"
"ps_main(Vertex2Pixel v2p) : SV_TARGET\n" "ps_main(Vertex2Pixel v2p) : SV_TARGET\n"
"{\n" "{\n"
" // rjf: blend weighted texture samples into color\n" " // rjf: blend weighted texture samples into color\n"
" float3 color = kernel[0].x * stage_t2d.Sample(stage_sampler, v2p.texcoord).rgb;\n" " float3 color = kernel[0].x * stage_t2d.Sample(stage_sampler, v2p.texcoord).rgb;\n"
" for(uint i = 1; i < blur_count; i += 1)\n" " for(uint i = 1; i < blur_count; i += 1)\n"
" {\n" " {\n"
" float weight = kernel[i].x;\n" " float weight = kernel[i].x;\n"
" float offset = kernel[i].y;\n" " float offset = kernel[i].y;\n"
" color += weight * stage_t2d.Sample(stage_sampler, v2p.texcoord - offset * direction).rgb;\n" " color += weight * stage_t2d.Sample(stage_sampler, v2p.texcoord - offset * direction).rgb;\n"
" color += weight * stage_t2d.Sample(stage_sampler, v2p.texcoord + offset * direction).rgb;\n" " color += weight * stage_t2d.Sample(stage_sampler, v2p.texcoord + offset * direction).rgb;\n"
" }\n" " }\n"
" \n" " \n"
" // rjf: sample for corners\n" " // rjf: sample for corners\n"
" float corner_sdf_s = rect_sdf(v2p.sdf_sample_pos, v2p.rect_half_size, v2p.corner_radius);\n" " float corner_sdf_s = rect_sdf(v2p.sdf_sample_pos, v2p.rect_half_size, v2p.corner_radius);\n"
" float corner_sdf_t = 1-smoothstep(0, 2, corner_sdf_s);\n" " float corner_sdf_t = 1-smoothstep(0, 2, corner_sdf_s);\n"
" \n" " \n"
" // rjf: weight output color by sdf\n" " // rjf: weight output color by sdf\n"
" // this is doing alpha testing, leave blurring only where mostly opaque pixels are\n" " // this is doing alpha testing, leave blurring only where mostly opaque pixels are\n"
" if(corner_sdf_t < 0.9f)\n" " if(corner_sdf_t < 0.9f)\n"
" {\n" " {\n"
" discard;\n" " discard;\n"
" }\n" " }\n"
" \n" " \n"
" return float4(color, 1.f);\n" " return float4(color, 1.f);\n"
"}\n" "}\n"
"" ""
); );
read_only global String8 r_d3d11_g_mesh_shader_src = read_only global String8 r_d3d11_g_mesh_shader_src =
str8_lit_comp( str8_lit_comp(
"" ""
"\n" "\n"
"cbuffer Uniforms : register(b0)\n" "cbuffer Uniforms : register(b0)\n"
"{\n" "{\n"
" row_major float4x4 xform;\n" " row_major float4x4 xform;\n"
"}\n" "}\n"
"\n" "\n"
"struct CPU2Vertex\n" "struct CPU2Vertex\n"
"{\n" "{\n"
" float3 position : POS;\n" " float3 position : POS;\n"
" float3 normal : NOR;\n" " float3 normal : NOR;\n"
" float2 texcoord : TEX;\n" " float2 texcoord : TEX;\n"
" float3 color : COL;\n" " float3 color : COL;\n"
"};\n" "};\n"
"\n" "\n"
"struct Vertex2Pixel\n" "struct Vertex2Pixel\n"
"{\n" "{\n"
" float4 position : SV_POSITION;\n" " float4 position : SV_POSITION;\n"
" float2 texcoord : TEX;\n" " float2 texcoord : TEX;\n"
" float4 color : COL;\n" " float4 color : COL;\n"
"};\n" "};\n"
"\n" "\n"
"Vertex2Pixel vs_main(CPU2Vertex c2v)\n" "Vertex2Pixel vs_main(CPU2Vertex c2v)\n"
"{\n" "{\n"
" Vertex2Pixel v2p;\n" " Vertex2Pixel v2p;\n"
" v2p.position = mul(float4(c2v.position, 1.f), xform);\n" " v2p.position = mul(float4(c2v.position, 1.f), xform);\n"
" v2p.texcoord = c2v.texcoord;\n" " v2p.texcoord = c2v.texcoord;\n"
" v2p.color = float4(c2v.color, 1.f);\n" " v2p.color = float4(c2v.color, 1.f);\n"
" return v2p;\n" " return v2p;\n"
"}\n" "}\n"
"\n" "\n"
"float4 ps_main(Vertex2Pixel v2p) : SV_TARGET\n" "float4 ps_main(Vertex2Pixel v2p) : SV_TARGET\n"
"{\n" "{\n"
" return v2p.color;\n" " return v2p.color;\n"
"}\n" "}\n"
"" ""
); );
read_only global String8 r_d3d11_g_geo3dcomposite_shader_src = read_only global String8 r_d3d11_g_geo3dcomposite_shader_src =
str8_lit_comp( str8_lit_comp(
"" ""
"\n" "\n"
"struct CPU2Vertex\n" "struct CPU2Vertex\n"
"{\n" "{\n"
" uint vertex_id : SV_VertexID;\n" " uint vertex_id : SV_VertexID;\n"
"};\n" "};\n"
"\n" "\n"
"struct Vertex2Pixel\n" "struct Vertex2Pixel\n"
"{\n" "{\n"
" float4 position : SV_POSITION;\n" " float4 position : SV_POSITION;\n"
" float2 texcoord : TEX;\n" " float2 texcoord : TEX;\n"
"};\n" "};\n"
"\n" "\n"
"Texture2D stage_t2d : register(t0);\n" "Texture2D stage_t2d : register(t0);\n"
"SamplerState stage_sampler : register(s0);\n" "SamplerState stage_sampler : register(s0);\n"
"\n" "\n"
"//- rjf: vertex shader\n" "//- rjf: vertex shader\n"
"\n" "\n"
"Vertex2Pixel\n" "Vertex2Pixel\n"
"vs_main(CPU2Vertex c2v)\n" "vs_main(CPU2Vertex c2v)\n"
"{\n" "{\n"
" float4 vertex_positions__modl[] =\n" " float4 vertex_positions__modl[] =\n"
" {\n" " {\n"
" float4(0, 0, 0, 1),\n" " float4(0, 0, 0, 1),\n"
" float4(0, 1, 0, 1),\n" " float4(0, 1, 0, 1),\n"
" float4(1, 0, 0, 1),\n" " float4(1, 0, 0, 1),\n"
" float4(1, 1, 0, 1),\n" " float4(1, 1, 0, 1),\n"
" };\n" " };\n"
" float4 vertex_position__modl = vertex_positions__modl[c2v.vertex_id];\n" " float4 vertex_position__modl = vertex_positions__modl[c2v.vertex_id];\n"
" float4 vertex_position__clip = float4(2*vertex_position__modl.x - 1, 2*vertex_position__modl.y - 1, 0, 1);\n" " float4 vertex_position__clip = float4(2*vertex_position__modl.x - 1, 2*vertex_position__modl.y - 1, 0, 1);\n"
" float2 texcoord = float2(vertex_position__modl.x, vertex_position__modl.y);\n" " float2 texcoord = float2(vertex_position__modl.x, vertex_position__modl.y);\n"
" texcoord.y = 1-texcoord.y;\n" " texcoord.y = 1-texcoord.y;\n"
" Vertex2Pixel v2p;\n" " Vertex2Pixel v2p;\n"
" {\n" " {\n"
" v2p.position = vertex_position__clip;\n" " v2p.position = vertex_position__clip;\n"
" v2p.texcoord = texcoord;\n" " v2p.texcoord = texcoord;\n"
" }\n" " }\n"
" return v2p;\n" " return v2p;\n"
"}\n" "}\n"
"\n" "\n"
"//- rjf: pixel shader\n" "//- rjf: pixel shader\n"
"\n" "\n"
"float4\n" "float4\n"
"ps_main(Vertex2Pixel v2p) : SV_TARGET\n" "ps_main(Vertex2Pixel v2p) : SV_TARGET\n"
"{\n" "{\n"
" float4 final_color = stage_t2d.Sample(stage_sampler, v2p.texcoord);\n" " float4 final_color = stage_t2d.Sample(stage_sampler, v2p.texcoord);\n"
" return final_color;\n" " return final_color;\n"
"}\n" "}\n"
"" ""
); );
read_only global String8 r_d3d11_g_finalize_shader_src = read_only global String8 r_d3d11_g_finalize_shader_src =
str8_lit_comp( str8_lit_comp(
"" ""
"\n" "\n"
"struct CPU2Vertex\n" "struct CPU2Vertex\n"
"{\n" "{\n"
" uint vertex_id : SV_VertexID;\n" " uint vertex_id : SV_VertexID;\n"
"};\n" "};\n"
"\n" "\n"
"struct Vertex2Pixel\n" "struct Vertex2Pixel\n"
"{\n" "{\n"
" float4 position : SV_POSITION;\n" " float4 position : SV_POSITION;\n"
" float2 texcoord : TEX;\n" " float2 texcoord : TEX;\n"
"};\n" "};\n"
"\n" "\n"
"Texture2D stage_t2d : register(t0);\n" "Texture2D stage_t2d : register(t0);\n"
"SamplerState stage_sampler : register(s0);\n" "SamplerState stage_sampler : register(s0);\n"
"\n" "\n"
"//- rjf: vertex shader\n" "//- rjf: vertex shader\n"
"\n" "\n"
"Vertex2Pixel\n" "Vertex2Pixel\n"
"vs_main(CPU2Vertex c2v)\n" "vs_main(CPU2Vertex c2v)\n"
"{\n" "{\n"
" float4 vertex_positions__modl[] =\n" " float4 vertex_positions__modl[] =\n"
" {\n" " {\n"
" float4(0, 0, 0, 1),\n" " float4(0, 0, 0, 1),\n"
" float4(0, 1, 0, 1),\n" " float4(0, 1, 0, 1),\n"
" float4(1, 0, 0, 1),\n" " float4(1, 0, 0, 1),\n"
" float4(1, 1, 0, 1),\n" " float4(1, 1, 0, 1),\n"
" };\n" " };\n"
" float4 vertex_position__modl = vertex_positions__modl[c2v.vertex_id];\n" " float4 vertex_position__modl = vertex_positions__modl[c2v.vertex_id];\n"
" float4 vertex_position__clip = float4(2*vertex_position__modl.x - 1, 2*vertex_position__modl.y - 1, 0, 1);\n" " float4 vertex_position__clip = float4(2*vertex_position__modl.x - 1, 2*vertex_position__modl.y - 1, 0, 1);\n"
" float2 texcoord = float2(vertex_position__modl.x, vertex_position__modl.y);\n" " float2 texcoord = float2(vertex_position__modl.x, vertex_position__modl.y);\n"
" texcoord.y = 1-texcoord.y;\n" " texcoord.y = 1-texcoord.y;\n"
" Vertex2Pixel v2p;\n" " Vertex2Pixel v2p;\n"
" {\n" " {\n"
" v2p.position = vertex_position__clip;\n" " v2p.position = vertex_position__clip;\n"
" v2p.texcoord = texcoord;\n" " v2p.texcoord = texcoord;\n"
" }\n" " }\n"
" return v2p;\n" " return v2p;\n"
"}\n" "}\n"
"\n" "\n"
"//- rjf: pixel shader\n" "//- rjf: pixel shader\n"
"\n" "\n"
"float4\n" "float4\n"
"ps_main(Vertex2Pixel v2p) : SV_TARGET\n" "ps_main(Vertex2Pixel v2p) : SV_TARGET\n"
"{\n" "{\n"
" float4 final_color = stage_t2d.Sample(stage_sampler, v2p.texcoord);\n" " float4 final_color = stage_t2d.Sample(stage_sampler, v2p.texcoord);\n"
" final_color.a = 1;\n" " final_color.a = 1;\n"
" return final_color;\n" " return final_color;\n"
"}\n" "}\n"
"" ""
); );
C_LINKAGE_END C_LINKAGE_END
#endif // RENDER_D3D11_META_H #endif // RENDER_D3D11_META_H
+68 -68
View File
@@ -1,68 +1,68 @@
// Copyright (c) Epic Games Tools // Copyright (c) Epic Games Tools
// Licensed under the MIT license (https://opensource.org/license/mit/) // Licensed under the MIT license (https://opensource.org/license/mit/)
//- GENERATED CODE //- GENERATED CODE
C_LINKAGE_BEGIN C_LINKAGE_BEGIN
String8 r_tex2d_format_display_string_table[9] = String8 r_tex2d_format_display_string_table[9] =
{ {
str8_lit_comp("R8"), str8_lit_comp("R8"),
str8_lit_comp("RG8"), str8_lit_comp("RG8"),
str8_lit_comp("RGBA8"), str8_lit_comp("RGBA8"),
str8_lit_comp("BGRA8"), str8_lit_comp("BGRA8"),
str8_lit_comp("R16"), str8_lit_comp("R16"),
str8_lit_comp("RGBA16"), str8_lit_comp("RGBA16"),
str8_lit_comp("R32"), str8_lit_comp("R32"),
str8_lit_comp("RG32"), str8_lit_comp("RG32"),
str8_lit_comp("RGBA32"), str8_lit_comp("RGBA32"),
}; };
U8 r_tex2d_format_bytes_per_pixel_table[9] = U8 r_tex2d_format_bytes_per_pixel_table[9] =
{ {
1, 1,
2, 2,
4, 4,
4, 4,
2, 2,
8, 8,
4, 4,
8, 8,
16, 16,
}; };
String8 r_resource_kind_display_string_table[3] = String8 r_resource_kind_display_string_table[3] =
{ {
str8_lit_comp("Static"), str8_lit_comp("Static"),
str8_lit_comp("Dynamic"), str8_lit_comp("Dynamic"),
str8_lit_comp("Stream "), str8_lit_comp("Stream "),
}; };
String8 r_tex2d_sample_kind_display_string_table[2] = String8 r_tex2d_sample_kind_display_string_table[2] =
{ {
str8_lit_comp("Nearest"), str8_lit_comp("Nearest"),
str8_lit_comp("Linear"), str8_lit_comp("Linear"),
}; };
String8 r_pass_kind_display_string_table[3] = String8 r_pass_kind_display_string_table[3] =
{ {
str8_lit_comp("UI"), str8_lit_comp("UI"),
str8_lit_comp("Blur"), str8_lit_comp("Blur"),
str8_lit_comp("Geo3D"), str8_lit_comp("Geo3D"),
}; };
U8 r_pass_kind_batch_table[3] = U8 r_pass_kind_batch_table[3] =
{ {
1, 1,
0, 0,
1, 1,
}; };
U64 r_pass_kind_params_size_table[3] = U64 r_pass_kind_params_size_table[3] =
{ {
sizeof(R_PassParams_UI), sizeof(R_PassParams_UI),
sizeof(R_PassParams_Blur), sizeof(R_PassParams_Blur),
sizeof(R_PassParams_Geo3D), sizeof(R_PassParams_Geo3D),
}; };
C_LINKAGE_END C_LINKAGE_END
+65 -65
View File
@@ -1,65 +1,65 @@
// Copyright (c) Epic Games Tools // Copyright (c) Epic Games Tools
// Licensed under the MIT license (https://opensource.org/license/mit/) // Licensed under the MIT license (https://opensource.org/license/mit/)
//- GENERATED CODE //- GENERATED CODE
#ifndef RENDER_META_H #ifndef RENDER_META_H
#define RENDER_META_H #define RENDER_META_H
typedef enum R_Tex2DFormat typedef enum R_Tex2DFormat
{ {
R_Tex2DFormat_R8, R_Tex2DFormat_R8,
R_Tex2DFormat_RG8, R_Tex2DFormat_RG8,
R_Tex2DFormat_RGBA8, R_Tex2DFormat_RGBA8,
R_Tex2DFormat_BGRA8, R_Tex2DFormat_BGRA8,
R_Tex2DFormat_R16, R_Tex2DFormat_R16,
R_Tex2DFormat_RGBA16, R_Tex2DFormat_RGBA16,
R_Tex2DFormat_R32, R_Tex2DFormat_R32,
R_Tex2DFormat_RG32, R_Tex2DFormat_RG32,
R_Tex2DFormat_RGBA32, R_Tex2DFormat_RGBA32,
R_Tex2DFormat_COUNT, R_Tex2DFormat_COUNT,
} R_Tex2DFormat; } R_Tex2DFormat;
typedef enum R_ResourceKind typedef enum R_ResourceKind
{ {
R_ResourceKind_Static, R_ResourceKind_Static,
R_ResourceKind_Dynamic, R_ResourceKind_Dynamic,
R_ResourceKind_Stream, R_ResourceKind_Stream,
R_ResourceKind_COUNT, R_ResourceKind_COUNT,
} R_ResourceKind; } R_ResourceKind;
typedef enum R_Tex2DSampleKind typedef enum R_Tex2DSampleKind
{ {
R_Tex2DSampleKind_Nearest, R_Tex2DSampleKind_Nearest,
R_Tex2DSampleKind_Linear, R_Tex2DSampleKind_Linear,
R_Tex2DSampleKind_COUNT, R_Tex2DSampleKind_COUNT,
} R_Tex2DSampleKind; } R_Tex2DSampleKind;
typedef enum R_GeoTopologyKind typedef enum R_GeoTopologyKind
{ {
R_GeoTopologyKind_Lines, R_GeoTopologyKind_Lines,
R_GeoTopologyKind_LineStrip, R_GeoTopologyKind_LineStrip,
R_GeoTopologyKind_Triangles, R_GeoTopologyKind_Triangles,
R_GeoTopologyKind_TriangleStrip, R_GeoTopologyKind_TriangleStrip,
R_GeoTopologyKind_COUNT, R_GeoTopologyKind_COUNT,
} R_GeoTopologyKind; } R_GeoTopologyKind;
typedef enum R_PassKind typedef enum R_PassKind
{ {
R_PassKind_UI, R_PassKind_UI,
R_PassKind_Blur, R_PassKind_Blur,
R_PassKind_Geo3D, R_PassKind_Geo3D,
R_PassKind_COUNT, R_PassKind_COUNT,
} R_PassKind; } R_PassKind;
C_LINKAGE_BEGIN C_LINKAGE_BEGIN
extern String8 r_tex2d_format_display_string_table[9]; extern String8 r_tex2d_format_display_string_table[9];
extern U8 r_tex2d_format_bytes_per_pixel_table[9]; extern U8 r_tex2d_format_bytes_per_pixel_table[9];
extern String8 r_resource_kind_display_string_table[3]; extern String8 r_resource_kind_display_string_table[3];
extern String8 r_tex2d_sample_kind_display_string_table[2]; extern String8 r_tex2d_sample_kind_display_string_table[2];
extern String8 r_pass_kind_display_string_table[3]; extern String8 r_pass_kind_display_string_table[3];
extern U8 r_pass_kind_batch_table[3]; extern U8 r_pass_kind_batch_table[3];
C_LINKAGE_END C_LINKAGE_END
#endif // RENDER_META_H #endif // RENDER_META_H
@@ -1,38 +1,38 @@
// Copyright (c) Epic Games Tools // Copyright (c) Epic Games Tools
// Licensed under the MIT license (https://opensource.org/license/mit/) // Licensed under the MIT license (https://opensource.org/license/mit/)
//- GENERATED CODE //- GENERATED CODE
C_LINKAGE_BEGIN C_LINKAGE_BEGIN
String8 r_ogl_shader_kind_name_table[2] = String8 r_ogl_shader_kind_name_table[2] =
{ {
str8_lit_comp("rect"), str8_lit_comp("rect"),
str8_lit_comp("blur"), str8_lit_comp("blur"),
}; };
String8 * r_ogl_shader_kind_vshad_src_table[2] = String8 * r_ogl_shader_kind_vshad_src_table[2] =
{ {
&r_ogl_rect_vshad_src, &r_ogl_rect_vshad_src,
&r_ogl_blur_vshad_src, &r_ogl_blur_vshad_src,
}; };
String8 * r_ogl_shader_kind_pshad_src_table[2] = String8 * r_ogl_shader_kind_pshad_src_table[2] =
{ {
&r_ogl_rect_pshad_src, &r_ogl_rect_pshad_src,
&r_ogl_blur_pshad_src, &r_ogl_blur_pshad_src,
}; };
R_OGL_AttributeArray r_ogl_shader_kind_input_attributes_table[2] = R_OGL_AttributeArray r_ogl_shader_kind_input_attributes_table[2] =
{ {
{ r_ogl_rect_input_attributes, ArrayCount(r_ogl_rect_input_attributes) }, { r_ogl_rect_input_attributes, ArrayCount(r_ogl_rect_input_attributes) },
{ 0, }, { 0, },
}; };
R_OGL_AttributeArray r_ogl_shader_kind_output_attributes_table[2] = R_OGL_AttributeArray r_ogl_shader_kind_output_attributes_table[2] =
{ {
{ r_ogl_single_color_output_attributes, ArrayCount(r_ogl_single_color_output_attributes) }, { r_ogl_single_color_output_attributes, ArrayCount(r_ogl_single_color_output_attributes) },
{ r_ogl_single_color_output_attributes, ArrayCount(r_ogl_single_color_output_attributes) }, { r_ogl_single_color_output_attributes, ArrayCount(r_ogl_single_color_output_attributes) },
}; };
C_LINKAGE_END C_LINKAGE_END
+281 -280
View File
@@ -1,280 +1,281 @@
// Copyright (c) Epic Games Tools // Copyright (c) Epic Games Tools
// Licensed under the MIT license (https://opensource.org/license/mit/) // Licensed under the MIT license (https://opensource.org/license/mit/)
//- GENERATED CODE //- GENERATED CODE
#ifndef RENDER_OPENGL_META_H #ifndef RENDER_OPENGL_META_H
#define RENDER_OPENGL_META_H #define RENDER_OPENGL_META_H
typedef enum R_OGL_ShaderKind typedef enum R_OGL_ShaderKind
{ {
R_OGL_ShaderKind_Rect, R_OGL_ShaderKind_Rect,
R_OGL_ShaderKind_Blur, R_OGL_ShaderKind_Blur,
R_OGL_ShaderKind_COUNT, R_OGL_ShaderKind_COUNT,
} R_OGL_ShaderKind; } R_OGL_ShaderKind;
C_LINKAGE_BEGIN C_LINKAGE_BEGIN
extern String8 r_ogl_shader_kind_name_table[2]; extern String8 r_ogl_shader_kind_name_table[2];
extern String8 * r_ogl_shader_kind_vshad_src_table[2]; extern String8 * r_ogl_shader_kind_vshad_src_table[2];
extern String8 * r_ogl_shader_kind_pshad_src_table[2]; extern String8 * r_ogl_shader_kind_pshad_src_table[2];
extern R_OGL_AttributeArray r_ogl_shader_kind_input_attributes_table[2]; extern R_OGL_AttributeArray r_ogl_shader_kind_input_attributes_table[2];
extern R_OGL_AttributeArray r_ogl_shader_kind_output_attributes_table[2]; extern R_OGL_AttributeArray r_ogl_shader_kind_output_attributes_table[2];
read_only global String8 r_ogl_rect_vshad_src = read_only global String8 r_ogl_rect_vshad_src =
str8_lit_comp( str8_lit_comp(
"" ""
"\n" "\n"
"#version 330 core\n" "#version 330 core\n"
"\n" "\n"
"in vec4 c2v_dst_rect;\n" "in vec4 c2v_dst_rect;\n"
"in vec4 c2v_src_rect;\n" "in vec4 c2v_src_rect;\n"
"in vec4 c2v_colors_0;\n" "in vec4 c2v_colors_0;\n"
"in vec4 c2v_colors_1;\n" "in vec4 c2v_colors_1;\n"
"in vec4 c2v_colors_2;\n" "in vec4 c2v_colors_2;\n"
"in vec4 c2v_colors_3;\n" "in vec4 c2v_colors_3;\n"
"in vec4 c2v_corner_radii;\n" "in vec4 c2v_corner_radii;\n"
"in vec4 c2v_style; // x: border_thickness_px, y: softness_px, z: omit_texture, w: shear\n" "in vec4 c2v_style; // x: border_thickness_px, y: softness_px, z: omit_texture, w: shear\n"
"\n" "\n"
"out vec2 v2p_sdf_sample_pos;\n" "out vec2 v2p_sdf_sample_pos;\n"
"out vec2 v2p_texcoord_pct;\n" "out vec2 v2p_texcoord_pct;\n"
"out vec2 v2p_rect_half_size_px;\n" "out vec2 v2p_rect_half_size_px;\n"
"out vec4 v2p_tint;\n" "out vec4 v2p_tint;\n"
"out float v2p_corner_radius;\n" "out float v2p_corner_radius;\n"
"out float v2p_border_thickness;\n" "out float v2p_border_thickness;\n"
"out float v2p_softness;\n" "out float v2p_softness;\n"
"out float v2p_omit_texture;\n" "out float v2p_omit_texture;\n"
"\n" "\n"
"uniform mat3 u_xform;\n" "uniform mat3 u_xform;\n"
"uniform sampler2D u_tex_color;\n" "uniform sampler2D u_tex_color;\n"
"uniform vec2 u_viewport_size_px;\n" "uniform vec2 u_viewport_size_px;\n"
"\n" "\n"
"void main(void)\n" "void main(void)\n"
"{\n" "{\n"
" // rjf: constants\n" " // rjf: constants\n"
" vec2 vertices[] = vec2[](vec2(-1, -1), vec2(-1, +1), vec2(+1, -1), vec2(+1, +1));\n" " vec2 vertices[] = vec2[](vec2(-1, -1), vec2(-1, +1), vec2(+1, -1), vec2(+1, +1));\n"
" \n" " \n"
" // rjf: unpack shears\n" " // rjf: unpack shears\n"
" float shears[] = float[](0, 0, c2v_style.w, c2v_style.w);\n" " float shears[] = float[](0, 0, c2v_style.w, c2v_style.w);\n"
" \n" " \n"
" // rjf: find dst position\n" " // rjf: find dst position\n"
" vec2 dst_half_size = (c2v_dst_rect.zw - c2v_dst_rect.xy) / 2;\n" " vec2 dst_half_size = (c2v_dst_rect.zw - c2v_dst_rect.xy) / 2;\n"
" vec2 dst_center = (c2v_dst_rect.zw + c2v_dst_rect.xy) / 2;\n" " vec2 dst_center = (c2v_dst_rect.zw + c2v_dst_rect.xy) / 2;\n"
" vec2 dst_position = vertices[gl_VertexID] * dst_half_size + dst_center;\n" " vec2 dst_position = vertices[gl_VertexID] * dst_half_size + dst_center;\n"
" dst_position.y += shears[gl_VertexID];\n" " dst_position.y += shears[gl_VertexID];\n"
" dst_position = (u_xform * vec3(dst_position.x, dst_position.y, 1)).xy;\n" " dst_position = (u_xform * vec3(dst_position.x, dst_position.y, 1)).xy;\n"
" \n" " \n"
" // rjf: find src position\n" " // rjf: find src position\n"
" vec2 src_half_size = (c2v_src_rect.zw - c2v_src_rect.xy) / 2;\n" " vec2 src_half_size = (c2v_src_rect.zw - c2v_src_rect.xy) / 2;\n"
" vec2 src_center = (c2v_src_rect.zw + c2v_src_rect.xy) / 2;\n" " vec2 src_center = (c2v_src_rect.zw + c2v_src_rect.xy) / 2;\n"
" vec2 src_position = vertices[gl_VertexID] * src_half_size + src_center;\n" " vec2 src_position = vertices[gl_VertexID] * src_half_size + src_center;\n"
" \n" " \n"
" // rjf: find color\n" " // rjf: find color\n"
" vec4 colors[] = vec4[](c2v_colors_0, c2v_colors_1, c2v_colors_2, c2v_colors_3);\n" " vec4 colors[] = vec4[](c2v_colors_0, c2v_colors_1, c2v_colors_2, c2v_colors_3);\n"
" vec4 color = colors[gl_VertexID];\n" " vec4 color = colors[gl_VertexID];\n"
" \n" " \n"
" // rjf: find corner radius\n" " // rjf: find corner radius\n"
" float corner_radii[] = float[](c2v_corner_radii.x, c2v_corner_radii.y, c2v_corner_radii.z, c2v_corner_radii.w);\n" " float corner_radii[] = float[](c2v_corner_radii.x, c2v_corner_radii.y, c2v_corner_radii.z, c2v_corner_radii.w);\n"
" float corner_radius = corner_radii[gl_VertexID];\n" " float corner_radius = corner_radii[gl_VertexID];\n"
" \n" " \n"
" // rjf: fill outputs\n" " // rjf: fill outputs\n"
" vec2 dst_verts_pct = vec2(((gl_VertexID >> 1) != 1) ? 1.f : 0.f,\n" " vec2 dst_verts_pct = vec2(((gl_VertexID >> 1) != 1) ? 1.f : 0.f,\n"
" ((gl_VertexID & 1) != 0) ? 0.f : 1.f);\n" " ((gl_VertexID & 1) != 0) ? 0.f : 1.f);\n"
" ivec2 u_tex_color_size_i = textureSize(u_tex_color, 0);\n" " ivec2 u_tex_color_size_i = textureSize(u_tex_color, 0);\n"
" vec2 u_tex_color_size = vec2(float(u_tex_color_size_i.x), float(u_tex_color_size_i.y));\n" " vec2 u_tex_color_size = vec2(float(u_tex_color_size_i.x), float(u_tex_color_size_i.y));\n"
" {\n" " {\n"
" gl_Position = vec4(2 * dst_position.x / u_viewport_size_px.x - 1,\n" " gl_Position = vec4(2 * dst_position.x / u_viewport_size_px.x - 1,\n"
" 2 * (1 - dst_position.y / u_viewport_size_px.y) - 1,\n" " 2 * (1 - dst_position.y / u_viewport_size_px.y) - 1,\n"
" 0.0, 1.0);\n" " 0.0, 1.0);\n"
" v2p_sdf_sample_pos = (2.f * dst_verts_pct - 1.f) * dst_half_size;\n" " v2p_sdf_sample_pos = (2.f * dst_verts_pct - 1.f) * dst_half_size;\n"
" v2p_texcoord_pct = src_position / u_tex_color_size;\n" " v2p_texcoord_pct = src_position / u_tex_color_size;\n"
" v2p_rect_half_size_px = dst_half_size;\n" " v2p_rect_half_size_px = dst_half_size;\n"
" v2p_tint = color;\n" " v2p_tint = color;\n"
" v2p_corner_radius = corner_radius;\n" " v2p_corner_radius = corner_radius;\n"
" v2p_border_thickness = c2v_style.x;\n" " v2p_border_thickness = c2v_style.x;\n"
" v2p_softness = c2v_style.y;\n" " v2p_softness = c2v_style.y;\n"
" v2p_omit_texture = c2v_style.z;\n" " v2p_omit_texture = c2v_style.z;\n"
" }\n" " }\n"
"}\n" "}\n"
"" ""
); );
read_only global String8 r_ogl_rect_pshad_src = read_only global String8 r_ogl_rect_pshad_src =
str8_lit_comp( str8_lit_comp(
"" ""
"\n" "\n"
"#version 330 core\n" "#version 330 core\n"
"\n" "\n"
"in vec2 v2p_sdf_sample_pos;\n" "in vec2 v2p_sdf_sample_pos;\n"
"in vec2 v2p_texcoord_pct;\n" "in vec2 v2p_texcoord_pct;\n"
"in vec2 v2p_rect_half_size_px;\n" "in vec2 v2p_rect_half_size_px;\n"
"in vec4 v2p_tint;\n" "in vec4 v2p_tint;\n"
"in float v2p_corner_radius;\n" "in float v2p_corner_radius;\n"
"in float v2p_border_thickness;\n" "in float v2p_border_thickness;\n"
"in float v2p_softness;\n" "in float v2p_softness;\n"
"in float v2p_omit_texture;\n" "in float v2p_omit_texture;\n"
"\n" "\n"
"out vec4 final_color;\n" "out vec4 final_color;\n"
"\n" "\n"
"uniform float u_opacity;\n" "uniform float u_opacity;\n"
"uniform sampler2D u_tex_color;\n" "uniform sampler2D u_tex_color;\n"
"uniform mat4 u_texture_sample_channel_map;\n" "uniform mat4 u_texture_sample_channel_map;\n"
"\n" "\n"
"float rect_sdf(vec2 sample_pos, vec2 rect_half_size, float r)\n" "float rect_sdf(vec2 sample_pos, vec2 rect_half_size, float r)\n"
"{\n" "{\n"
" return length(max(abs(sample_pos) - rect_half_size + r, 0.0)) - r;\n" " return length(max(abs(sample_pos) - rect_half_size + r, 0.0)) - r;\n"
"}\n" "}\n"
"\n" "\n"
"float linear_from_srgb_f32(float x)\n" "float linear_from_srgb_f32(float x)\n"
"{\n" "{\n"
" return x < 0.0404482362771082 ? x / 12.92 : pow((x + 0.055) / 1.055, 2.4);\n" " return x < 0.0404482362771082 ? x / 12.92 : pow((x + 0.055) / 1.055, 2.4);\n"
"}\n" "}\n"
"\n" "\n"
"vec4 linear_from_srgba(vec4 v)\n" "vec4 linear_from_srgba(vec4 v)\n"
"{\n" "{\n"
" vec4 result = vec4(linear_from_srgb_f32(v.x),\n" " vec4 result = vec4(linear_from_srgb_f32(v.x),\n"
" linear_from_srgb_f32(v.y),\n" " linear_from_srgb_f32(v.y),\n"
" linear_from_srgb_f32(v.z),\n" " linear_from_srgb_f32(v.z),\n"
" v.w);\n" " v.w);\n"
" return result;\n" " return result;\n"
"}\n" "}\n"
"\n" "\n"
"void main(void)\n" "void main(void)\n"
"{\n" "{\n"
" // rjf: sample texture\n" " // rjf: sample texture\n"
" vec4 albedo_sample = vec4(1, 1, 1, 1);\n" " vec4 albedo_sample = vec4(1, 1, 1, 1);\n"
" if(v2p_omit_texture < 1)\n" " if(v2p_omit_texture < 1)\n"
" {\n" " {\n"
" albedo_sample = u_texture_sample_channel_map * texture(u_tex_color, v2p_texcoord_pct);\n" " albedo_sample = u_texture_sample_channel_map * texture(u_tex_color, v2p_texcoord_pct);\n"
" albedo_sample = linear_from_srgba(albedo_sample);\n" " albedo_sample = linear_from_srgba(albedo_sample);\n"
" }\n" " }\n"
" \n" " \n"
" // rjf: sample for borders\n" " // rjf: sample for borders\n"
" float border_sdf_t = 1;\n" " float border_sdf_t = 1;\n"
" if(v2p_border_thickness > 0)\n" " if(v2p_border_thickness > 0)\n"
" {\n" " {\n"
" float border_sdf_s = rect_sdf(v2p_sdf_sample_pos,\n" " float border_sdf_s = rect_sdf(v2p_sdf_sample_pos,\n"
" v2p_rect_half_size_px - vec2(v2p_softness*2.f, v2p_softness*2.f) - v2p_border_thickness,\n" " v2p_rect_half_size_px - vec2(v2p_softness*2.f, v2p_softness*2.f) - v2p_border_thickness,\n"
" max(v2p_corner_radius-v2p_border_thickness, 0));\n" " max(v2p_corner_radius-v2p_border_thickness, 0));\n"
" border_sdf_t = smoothstep(0, 2*v2p_softness, border_sdf_s);\n" " border_sdf_t = smoothstep(0, 2*v2p_softness, border_sdf_s);\n"
" }\n" " }\n"
" if(border_sdf_t < 0.001f)\n" " if(border_sdf_t < 0.001f)\n"
" {\n" " {\n"
" discard;\n" " discard;\n"
" }\n" " }\n"
" \n" " \n"
" // rjf: sample for corners\n" " // rjf: sample for corners\n"
" float corner_sdf_t = 1;\n" " float corner_sdf_t = 1;\n"
" if(v2p_corner_radius > 0 || v2p_softness > 0.75f)\n" " if(v2p_corner_radius > 0 || v2p_softness > 0.75f)\n"
" {\n" " {\n"
" float corner_sdf_s = rect_sdf(v2p_sdf_sample_pos,\n" " float corner_sdf_s = rect_sdf(v2p_sdf_sample_pos,\n"
" v2p_rect_half_size_px - vec2(v2p_softness*2.f, v2p_softness*2.f),\n" " v2p_rect_half_size_px - vec2(v2p_softness*2.f, v2p_softness*2.f),\n"
" v2p_corner_radius);\n" " v2p_corner_radius);\n"
" corner_sdf_t = 1-smoothstep(0, 2*v2p_softness, corner_sdf_s);\n" " corner_sdf_t = 1-smoothstep(0, 2*v2p_softness, corner_sdf_s);\n"
" }\n" " }\n"
" \n" " \n"
" // rjf: form+return final color\n" " // rjf: form+return final color\n"
" final_color = albedo_sample;\n" " final_color = albedo_sample;\n"
" final_color *= v2p_tint;\n" " final_color *= v2p_tint;\n"
" final_color.a *= u_opacity;\n" " final_color.a *= u_opacity;\n"
" final_color.a *= corner_sdf_t;\n" " final_color.a *= corner_sdf_t;\n"
" final_color.a *= border_sdf_t;\n" " final_color.a *= border_sdf_t;\n"
"}\n" "}\n"
"" ""
); );
read_only global String8 r_ogl_blur_vshad_src = read_only global String8 r_ogl_blur_vshad_src =
str8_lit_comp( str8_lit_comp(
"" ""
"\n" "\n"
"#version 330 core\n" "#version 330 core\n"
"\n" "\n"
"uniform vec4 rect;\n" "uniform vec4 rect;\n"
"uniform vec4 corner_radii_px;\n" "uniform vec4 corner_radii_px;\n"
"uniform vec2 viewport_size;\n" "uniform vec2 viewport_size;\n"
"\n" "uniform uint blur_count;\n"
"out vec2 texcoord;\n" "\n"
"out vec2 sdf_sample_pos;\n" "out vec2 texcoord;\n"
"out vec2 rect_half_size;\n" "out vec2 sdf_sample_pos;\n"
"out float corner_radius;\n" "out vec2 rect_half_size;\n"
"\n" "out float corner_radius;\n"
"void main(void)\n" "\n"
"{\n" "void main(void)\n"
" vec2 vertex_positions_scrn[] = vec2[](rect.xw,\n" "{\n"
" rect.xy,\n" " vec2 vertex_positions_scrn[] = vec2[](rect.xw,\n"
" rect.zw,\n" " rect.xy,\n"
" rect.zy);\n" " rect.zw,\n"
" float corner_radii[] = float[](corner_radii_px.y,\n" " rect.zy);\n"
" corner_radii_px.x,\n" " float corner_radii[] = float[](corner_radii_px.y,\n"
" corner_radii_px.w,\n" " corner_radii_px.x,\n"
" corner_radii_px.z);\n" " corner_radii_px.w,\n"
" vec2 cornercoords_pct = vec2((gl_VertexID >> 1) != 0 ? 1.f : 0.f,\n" " corner_radii_px.z);\n"
" (gl_VertexID & 1) != 0 ? 0.f : 1.f);\n" " vec2 cornercoords_pct = vec2((gl_VertexID >> 1) != 0 ? 1.f : 0.f,\n"
" \n" " (gl_VertexID & 1) != 0 ? 0.f : 1.f);\n"
" vec2 vertex_position_pct = vertex_positions_scrn[gl_VertexID] / viewport_size;\n" " \n"
" vec2 vertex_position_scr = 2.f * vertex_position_pct - 1.f;\n" " vec2 vertex_position_pct = vertex_positions_scrn[gl_VertexID] / viewport_size;\n"
" \n" " vec2 vertex_position_scr = 2.f * vertex_position_pct - 1.f;\n"
" vec2 rect_half_size_local = vec2((rect.z-rect.x)/2, (rect.w-rect.y)/2);\n" " \n"
" \n" " vec2 rect_half_size_local = vec2((rect.z-rect.x)/2, (rect.w-rect.y)/2);\n"
" gl_Position = vec4(vertex_position_scr.x, -vertex_position_scr.y, 0.f, 1.f);\n" " \n"
" texcoord = vec2(vertex_position_pct.x, 1-vertex_position_pct.y);\n" " gl_Position = vec4(vertex_position_scr.x, -vertex_position_scr.y, 0.f, 1.f);\n"
" sdf_sample_pos = (2.f * cornercoords_pct - 1.f) * rect_half_size_local;\n" " texcoord = vec2(vertex_position_pct.x, 1-vertex_position_pct.y);\n"
" rect_half_size = rect_half_size_local - 2.f;\n" " sdf_sample_pos = (2.f * cornercoords_pct - 1.f) * rect_half_size_local;\n"
" corner_radius = corner_radii[gl_VertexID];\n" " rect_half_size = rect_half_size_local - 2.f;\n"
"}\n" " corner_radius = corner_radii[gl_VertexID];\n"
"" "}\n"
); ""
);
read_only global String8 r_ogl_blur_pshad_src =
str8_lit_comp( read_only global String8 r_ogl_blur_pshad_src =
"" str8_lit_comp(
"\n" ""
"#version 330 core\n" "\n"
"\n" "#version 330 core\n"
"uniform sampler2D tex;\n" "\n"
"uniform vec4 kernel[32];\n" "uniform sampler2D tex;\n"
"uniform int blur_count;\n" "uniform vec4 kernel[32];\n"
"uniform vec2 direction;\n" "uniform int blur_count;\n"
"\n" "uniform vec2 direction;\n"
"in vec2 texcoord;\n" "\n"
"in vec2 sdf_sample_pos;\n" "in vec2 texcoord;\n"
"in vec2 rect_half_size;\n" "in vec2 sdf_sample_pos;\n"
"in float corner_radius;\n" "in vec2 rect_half_size;\n"
"\n" "in float corner_radius;\n"
"out vec4 final_color;\n" "\n"
"\n" "out vec4 final_color;\n"
"float rect_sdf(vec2 sample_pos, vec2 rect_half_size, float r)\n" "\n"
"{\n" "float rect_sdf(vec2 sample_pos, vec2 rect_half_size, float r)\n"
" return length(max(abs(sample_pos) - rect_half_size + r, 0.0)) - r;\n" "{\n"
"}\n" " return length(max(abs(sample_pos) - rect_half_size + r, 0.0)) - r;\n"
"\n" "}\n"
"void main(void)\n" "\n"
"{\n" "void main(void)\n"
" // rjf: blend weighted texture samples into color\n" "{\n"
" vec3 color = kernel[0].x * texture(tex, texcoord).rgb;\n" " // rjf: blend weighted texture samples into color\n"
" for(int i = 1; i < blur_count; i += 1)\n" " vec3 color = kernel[0].x * texture(tex, texcoord).rgb;\n"
" {\n" " for(int i = 1; i < blur_count; i += 1)\n"
" float weight = kernel[i].x;\n" " {\n"
" float offset = kernel[i].y;\n" " float weight = kernel[i].x;\n"
" color += weight * texture(tex, texcoord - offset * direction).rgb;\n" " float offset = kernel[i].y;\n"
" color += weight * texture(tex, texcoord + offset * direction).rgb;\n" " color += weight * texture(tex, texcoord - offset * direction).rgb;\n"
" }\n" " color += weight * texture(tex, texcoord + offset * direction).rgb;\n"
" \n" " }\n"
" // rjf: sample for corners\n" " \n"
" float corner_sdf_s = rect_sdf(sdf_sample_pos, rect_half_size, corner_radius);\n" " // rjf: sample for corners\n"
" float corner_sdf_t = smoothstep(0, 2, corner_sdf_s);\n" " float corner_sdf_s = rect_sdf(sdf_sample_pos, rect_half_size, corner_radius);\n"
" \n" " float corner_sdf_t = smoothstep(0, 2, corner_sdf_s);\n"
" // rjf: weight output color by sdf\n" " \n"
" // this is doing alpha testing, leave blurring only where mostly opaque pixels are\n" " // rjf: weight output color by sdf\n"
" if(corner_sdf_t < 0.9f)\n" " // this is doing alpha testing, leave blurring only where mostly opaque pixels are\n"
" {\n" " if(corner_sdf_t < 0.9f)\n"
" discard;\n" " {\n"
" }\n" " discard;\n"
" \n" " }\n"
" final_color = vec4(color, 1.f);\n" " \n"
"}\n" " final_color = vec4(color, 1.f);\n"
"" "}\n"
); ""
);
C_LINKAGE_END
C_LINKAGE_END
#endif // RENDER_OPENGL_META_H
#endif // RENDER_OPENGL_META_H
+458 -458
View File
@@ -1,458 +1,458 @@
// Copyright (c) Epic Games Tools // Copyright (c) Epic Games Tools
// Licensed under the MIT license (https://opensource.org/license/mit/) // Licensed under the MIT license (https://opensource.org/license/mit/)
//- GENERATED CODE //- GENERATED CODE
C_LINKAGE_BEGIN C_LINKAGE_BEGIN
String8 txt_lang_kind_ext_table[8] = String8 txt_lang_kind_ext_table[8] =
{ {
str8_lit_comp("null"), str8_lit_comp("null"),
str8_lit_comp("c"), str8_lit_comp("c"),
str8_lit_comp("cpp"), str8_lit_comp("cpp"),
str8_lit_comp("odin"), str8_lit_comp("odin"),
str8_lit_comp("jai"), str8_lit_comp("jai"),
str8_lit_comp("zig"), str8_lit_comp("zig"),
str8_lit_comp("rs"), str8_lit_comp("rs"),
str8_lit_comp("disasm_x64_intel"), str8_lit_comp("disasm_x64_intel"),
}; };
struct {String8 ext; TXT_LangKind kind;} txt_ext_lang_kind_table[24] = struct {String8 ext; TXT_LangKind kind;} txt_ext_lang_kind_table[24] =
{ {
{str8_lit_comp("null"), TXT_LangKind_Null}, {str8_lit_comp("null"), TXT_LangKind_Null},
{str8_lit_comp("c"), TXT_LangKind_C}, {str8_lit_comp("c"), TXT_LangKind_C},
{str8_lit_comp("cpp"), TXT_LangKind_CPlusPlus}, {str8_lit_comp("cpp"), TXT_LangKind_CPlusPlus},
{str8_lit_comp("odin"), TXT_LangKind_Odin}, {str8_lit_comp("odin"), TXT_LangKind_Odin},
{str8_lit_comp("jai"), TXT_LangKind_Jai}, {str8_lit_comp("jai"), TXT_LangKind_Jai},
{str8_lit_comp("zig"), TXT_LangKind_Zig}, {str8_lit_comp("zig"), TXT_LangKind_Zig},
{str8_lit_comp("rs"), TXT_LangKind_Rust}, {str8_lit_comp("rs"), TXT_LangKind_Rust},
{str8_lit_comp("disasm_x64_intel"), TXT_LangKind_DisasmX64Intel}, {str8_lit_comp("disasm_x64_intel"), TXT_LangKind_DisasmX64Intel},
{str8_lit_comp("h"), TXT_LangKind_C}, {str8_lit_comp("h"), TXT_LangKind_C},
{str8_lit_comp("cxx"), TXT_LangKind_CPlusPlus}, {str8_lit_comp("cxx"), TXT_LangKind_CPlusPlus},
{str8_lit_comp("cc"), TXT_LangKind_CPlusPlus}, {str8_lit_comp("cc"), TXT_LangKind_CPlusPlus},
{str8_lit_comp("c++"), TXT_LangKind_CPlusPlus}, {str8_lit_comp("c++"), TXT_LangKind_CPlusPlus},
{str8_lit_comp("ixx"), TXT_LangKind_CPlusPlus}, {str8_lit_comp("ixx"), TXT_LangKind_CPlusPlus},
{str8_lit_comp("cxxm"), TXT_LangKind_CPlusPlus}, {str8_lit_comp("cxxm"), TXT_LangKind_CPlusPlus},
{str8_lit_comp("c++m"), TXT_LangKind_CPlusPlus}, {str8_lit_comp("c++m"), TXT_LangKind_CPlusPlus},
{str8_lit_comp("ccm"), TXT_LangKind_CPlusPlus}, {str8_lit_comp("ccm"), TXT_LangKind_CPlusPlus},
{str8_lit_comp("cppm"), TXT_LangKind_CPlusPlus}, {str8_lit_comp("cppm"), TXT_LangKind_CPlusPlus},
{str8_lit_comp("mpp"), TXT_LangKind_CPlusPlus}, {str8_lit_comp("mpp"), TXT_LangKind_CPlusPlus},
{str8_lit_comp("C"), TXT_LangKind_CPlusPlus}, {str8_lit_comp("C"), TXT_LangKind_CPlusPlus},
{str8_lit_comp("hpp"), TXT_LangKind_CPlusPlus}, {str8_lit_comp("hpp"), TXT_LangKind_CPlusPlus},
{str8_lit_comp("hxx"), TXT_LangKind_CPlusPlus}, {str8_lit_comp("hxx"), TXT_LangKind_CPlusPlus},
{str8_lit_comp("hh"), TXT_LangKind_CPlusPlus}, {str8_lit_comp("hh"), TXT_LangKind_CPlusPlus},
{str8_lit_comp("h++"), TXT_LangKind_CPlusPlus}, {str8_lit_comp("h++"), TXT_LangKind_CPlusPlus},
{str8_lit_comp("H"), TXT_LangKind_CPlusPlus}, {str8_lit_comp("H"), TXT_LangKind_CPlusPlus},
}; };
String8Array txt_keywords_from_lang_kind_table[8] = String8Array txt_keywords_from_lang_kind_table[8] =
{ {
{txt_keywords__null, ArrayCount(txt_keywords__null)}, {txt_keywords__null, ArrayCount(txt_keywords__null)},
{txt_keywords__c, ArrayCount(txt_keywords__c)}, {txt_keywords__c, ArrayCount(txt_keywords__c)},
{txt_keywords__cpp, ArrayCount(txt_keywords__cpp)}, {txt_keywords__cpp, ArrayCount(txt_keywords__cpp)},
{txt_keywords__odin, ArrayCount(txt_keywords__odin)}, {txt_keywords__odin, ArrayCount(txt_keywords__odin)},
{txt_keywords__jai, ArrayCount(txt_keywords__jai)}, {txt_keywords__jai, ArrayCount(txt_keywords__jai)},
{txt_keywords__zig, ArrayCount(txt_keywords__zig)}, {txt_keywords__zig, ArrayCount(txt_keywords__zig)},
{txt_keywords__rust, ArrayCount(txt_keywords__rust)}, {txt_keywords__rust, ArrayCount(txt_keywords__rust)},
{txt_keywords__null, ArrayCount(txt_keywords__null)}, {txt_keywords__null, ArrayCount(txt_keywords__null)},
}; };
String8Array txt_multichar_symbols_from_lang_kind_table[8] = String8Array txt_multichar_symbols_from_lang_kind_table[8] =
{ {
{txt_multichar_symbols__null, ArrayCount(txt_multichar_symbols__null)}, {txt_multichar_symbols__null, ArrayCount(txt_multichar_symbols__null)},
{txt_multichar_symbols__c, ArrayCount(txt_multichar_symbols__c)}, {txt_multichar_symbols__c, ArrayCount(txt_multichar_symbols__c)},
{txt_multichar_symbols__c, ArrayCount(txt_multichar_symbols__c)}, {txt_multichar_symbols__c, ArrayCount(txt_multichar_symbols__c)},
{txt_multichar_symbols__c, ArrayCount(txt_multichar_symbols__c)}, {txt_multichar_symbols__c, ArrayCount(txt_multichar_symbols__c)},
{txt_multichar_symbols__c, ArrayCount(txt_multichar_symbols__c)}, {txt_multichar_symbols__c, ArrayCount(txt_multichar_symbols__c)},
{txt_multichar_symbols__c, ArrayCount(txt_multichar_symbols__c)}, {txt_multichar_symbols__c, ArrayCount(txt_multichar_symbols__c)},
{txt_multichar_symbols__c, ArrayCount(txt_multichar_symbols__c)}, {txt_multichar_symbols__c, ArrayCount(txt_multichar_symbols__c)},
{txt_multichar_symbols__null, ArrayCount(txt_multichar_symbols__null)}, {txt_multichar_symbols__null, ArrayCount(txt_multichar_symbols__null)},
}; };
TXT_TokenizerRuleArray txt_tokenizer_rules_from_lang_kind_table[8] = TXT_TokenizerRuleArray txt_tokenizer_rules_from_lang_kind_table[8] =
{ {
{txt_tokenizer_rules__null, ArrayCount(txt_tokenizer_rules__null)}, {txt_tokenizer_rules__null, ArrayCount(txt_tokenizer_rules__null)},
{txt_tokenizer_rules__c, ArrayCount(txt_tokenizer_rules__c)}, {txt_tokenizer_rules__c, ArrayCount(txt_tokenizer_rules__c)},
{txt_tokenizer_rules__c, ArrayCount(txt_tokenizer_rules__c)}, {txt_tokenizer_rules__c, ArrayCount(txt_tokenizer_rules__c)},
{txt_tokenizer_rules__null, ArrayCount(txt_tokenizer_rules__null)}, {txt_tokenizer_rules__null, ArrayCount(txt_tokenizer_rules__null)},
{txt_tokenizer_rules__null, ArrayCount(txt_tokenizer_rules__null)}, {txt_tokenizer_rules__null, ArrayCount(txt_tokenizer_rules__null)},
{txt_tokenizer_rules__null, ArrayCount(txt_tokenizer_rules__null)}, {txt_tokenizer_rules__null, ArrayCount(txt_tokenizer_rules__null)},
{txt_tokenizer_rules__null, ArrayCount(txt_tokenizer_rules__null)}, {txt_tokenizer_rules__null, ArrayCount(txt_tokenizer_rules__null)},
{txt_tokenizer_rules__null, ArrayCount(txt_tokenizer_rules__null)}, {txt_tokenizer_rules__null, ArrayCount(txt_tokenizer_rules__null)},
}; };
String8 txt_keywords__null[1] = String8 txt_keywords__null[1] =
{ {
{0}, {0},
}; };
String8 txt_multichar_symbols__null[1] = String8 txt_multichar_symbols__null[1] =
{ {
{0}, {0},
}; };
TXT_TokenizerRule txt_tokenizer_rules__null[1] = TXT_TokenizerRule txt_tokenizer_rules__null[1] =
{ {
{TXT_TokenKind_Null}, {TXT_TokenKind_Null},
}; };
String8 txt_keywords__c[32] = String8 txt_keywords__c[32] =
{ {
str8_lit_comp("auto"), str8_lit_comp("auto"),
str8_lit_comp("break"), str8_lit_comp("break"),
str8_lit_comp("case"), str8_lit_comp("case"),
str8_lit_comp("char"), str8_lit_comp("char"),
str8_lit_comp("const"), str8_lit_comp("const"),
str8_lit_comp("continue"), str8_lit_comp("continue"),
str8_lit_comp("default"), str8_lit_comp("default"),
str8_lit_comp("do"), str8_lit_comp("do"),
str8_lit_comp("double"), str8_lit_comp("double"),
str8_lit_comp("else"), str8_lit_comp("else"),
str8_lit_comp("enum"), str8_lit_comp("enum"),
str8_lit_comp("extern"), str8_lit_comp("extern"),
str8_lit_comp("float"), str8_lit_comp("float"),
str8_lit_comp("for"), str8_lit_comp("for"),
str8_lit_comp("goto"), str8_lit_comp("goto"),
str8_lit_comp("if"), str8_lit_comp("if"),
str8_lit_comp("int"), str8_lit_comp("int"),
str8_lit_comp("long"), str8_lit_comp("long"),
str8_lit_comp("register"), str8_lit_comp("register"),
str8_lit_comp("return"), str8_lit_comp("return"),
str8_lit_comp("short"), str8_lit_comp("short"),
str8_lit_comp("signed"), str8_lit_comp("signed"),
str8_lit_comp("sizeof"), str8_lit_comp("sizeof"),
str8_lit_comp("static"), str8_lit_comp("static"),
str8_lit_comp("struct"), str8_lit_comp("struct"),
str8_lit_comp("switch"), str8_lit_comp("switch"),
str8_lit_comp("typedef"), str8_lit_comp("typedef"),
str8_lit_comp("union"), str8_lit_comp("union"),
str8_lit_comp("unsigned"), str8_lit_comp("unsigned"),
str8_lit_comp("void"), str8_lit_comp("void"),
str8_lit_comp("volatile"), str8_lit_comp("volatile"),
str8_lit_comp("while"), str8_lit_comp("while"),
}; };
String8 txt_multichar_symbols__c[20] = String8 txt_multichar_symbols__c[20] =
{ {
str8_lit_comp("<<"), str8_lit_comp("<<"),
str8_lit_comp(">>"), str8_lit_comp(">>"),
str8_lit_comp("<="), str8_lit_comp("<="),
str8_lit_comp(">="), str8_lit_comp(">="),
str8_lit_comp("=="), str8_lit_comp("=="),
str8_lit_comp("!="), str8_lit_comp("!="),
str8_lit_comp("&&"), str8_lit_comp("&&"),
str8_lit_comp("||"), str8_lit_comp("||"),
str8_lit_comp("|="), str8_lit_comp("|="),
str8_lit_comp("&="), str8_lit_comp("&="),
str8_lit_comp("^="), str8_lit_comp("^="),
str8_lit_comp("~="), str8_lit_comp("~="),
str8_lit_comp("+="), str8_lit_comp("+="),
str8_lit_comp("-="), str8_lit_comp("-="),
str8_lit_comp("*="), str8_lit_comp("*="),
str8_lit_comp("/="), str8_lit_comp("/="),
str8_lit_comp("%="), str8_lit_comp("%="),
str8_lit_comp("<<="), str8_lit_comp("<<="),
str8_lit_comp(">>="), str8_lit_comp(">>="),
str8_lit_comp("->"), str8_lit_comp("->"),
}; };
TXT_TokenizerRule txt_tokenizer_rules__c[7] = TXT_TokenizerRule txt_tokenizer_rules__c[7] =
{ {
{TXT_TokenKind_Comment, str8_lit_comp("//"), str8_lit_comp("\n"), 0, 0, 1, 0}, {TXT_TokenKind_Comment, str8_lit_comp("//"), str8_lit_comp("\n"), 0, 0, 1, 0},
{TXT_TokenKind_Comment, str8_lit_comp("/*"), str8_lit_comp("*/"), 2, 0, 0, 0}, {TXT_TokenKind_Comment, str8_lit_comp("/*"), str8_lit_comp("*/"), 2, 0, 0, 0},
{TXT_TokenKind_Meta, str8_lit_comp("#"), str8_lit_comp("\n"), 0, 0, 1, 0}, {TXT_TokenKind_Meta, str8_lit_comp("#"), str8_lit_comp("\n"), 0, 0, 1, 0},
{TXT_TokenKind_String, str8_lit_comp("\""), str8_lit_comp("\""), 1, 0, 1, 0}, {TXT_TokenKind_String, str8_lit_comp("\""), str8_lit_comp("\""), 1, 0, 1, 0},
{TXT_TokenKind_String, str8_lit_comp("'"), str8_lit_comp("'"), 1, 0, 1, 0}, {TXT_TokenKind_String, str8_lit_comp("'"), str8_lit_comp("'"), 1, 0, 1, 0},
{TXT_TokenKind_String, str8_lit_comp("\""), str8_lit_comp("\""), 1, 0, 1, 3}, {TXT_TokenKind_String, str8_lit_comp("\""), str8_lit_comp("\""), 1, 0, 1, 3},
{TXT_TokenKind_String, str8_lit_comp("<"), str8_lit_comp(">"), 1, 0, 1, 3}, {TXT_TokenKind_String, str8_lit_comp("<"), str8_lit_comp(">"), 1, 0, 1, 3},
}; };
String8 txt_keywords__cpp[97] = String8 txt_keywords__cpp[97] =
{ {
str8_lit_comp("alignas"), str8_lit_comp("alignas"),
str8_lit_comp("alignof"), str8_lit_comp("alignof"),
str8_lit_comp("and"), str8_lit_comp("and"),
str8_lit_comp("and_eq"), str8_lit_comp("and_eq"),
str8_lit_comp("asm"), str8_lit_comp("asm"),
str8_lit_comp("atomic_cancel"), str8_lit_comp("atomic_cancel"),
str8_lit_comp("atomic_commit"), str8_lit_comp("atomic_commit"),
str8_lit_comp("atomic_noexcept"), str8_lit_comp("atomic_noexcept"),
str8_lit_comp("auto"), str8_lit_comp("auto"),
str8_lit_comp("bitand"), str8_lit_comp("bitand"),
str8_lit_comp("bitor"), str8_lit_comp("bitor"),
str8_lit_comp("bool"), str8_lit_comp("bool"),
str8_lit_comp("break"), str8_lit_comp("break"),
str8_lit_comp("case"), str8_lit_comp("case"),
str8_lit_comp("catch"), str8_lit_comp("catch"),
str8_lit_comp("char"), str8_lit_comp("char"),
str8_lit_comp("char8_t"), str8_lit_comp("char8_t"),
str8_lit_comp("char16_t"), str8_lit_comp("char16_t"),
str8_lit_comp("char32_t"), str8_lit_comp("char32_t"),
str8_lit_comp("class"), str8_lit_comp("class"),
str8_lit_comp("compl"), str8_lit_comp("compl"),
str8_lit_comp("concept"), str8_lit_comp("concept"),
str8_lit_comp("const"), str8_lit_comp("const"),
str8_lit_comp("consteval"), str8_lit_comp("consteval"),
str8_lit_comp("constexpr"), str8_lit_comp("constexpr"),
str8_lit_comp("constinit"), str8_lit_comp("constinit"),
str8_lit_comp("const_cast"), str8_lit_comp("const_cast"),
str8_lit_comp("continue"), str8_lit_comp("continue"),
str8_lit_comp("co_await"), str8_lit_comp("co_await"),
str8_lit_comp("co_return"), str8_lit_comp("co_return"),
str8_lit_comp("co_yield"), str8_lit_comp("co_yield"),
str8_lit_comp("decltype"), str8_lit_comp("decltype"),
str8_lit_comp("default"), str8_lit_comp("default"),
str8_lit_comp("delete"), str8_lit_comp("delete"),
str8_lit_comp("do"), str8_lit_comp("do"),
str8_lit_comp("double"), str8_lit_comp("double"),
str8_lit_comp("dynamic_cast"), str8_lit_comp("dynamic_cast"),
str8_lit_comp("else"), str8_lit_comp("else"),
str8_lit_comp("enum"), str8_lit_comp("enum"),
str8_lit_comp("explicit"), str8_lit_comp("explicit"),
str8_lit_comp("export"), str8_lit_comp("export"),
str8_lit_comp("extern"), str8_lit_comp("extern"),
str8_lit_comp("false"), str8_lit_comp("false"),
str8_lit_comp("float"), str8_lit_comp("float"),
str8_lit_comp("for"), str8_lit_comp("for"),
str8_lit_comp("friend"), str8_lit_comp("friend"),
str8_lit_comp("goto"), str8_lit_comp("goto"),
str8_lit_comp("if"), str8_lit_comp("if"),
str8_lit_comp("inline"), str8_lit_comp("inline"),
str8_lit_comp("int"), str8_lit_comp("int"),
str8_lit_comp("long"), str8_lit_comp("long"),
str8_lit_comp("mutable"), str8_lit_comp("mutable"),
str8_lit_comp("namespace"), str8_lit_comp("namespace"),
str8_lit_comp("new"), str8_lit_comp("new"),
str8_lit_comp("noexcept"), str8_lit_comp("noexcept"),
str8_lit_comp("not"), str8_lit_comp("not"),
str8_lit_comp("not_eq"), str8_lit_comp("not_eq"),
str8_lit_comp("nullptr"), str8_lit_comp("nullptr"),
str8_lit_comp("operator"), str8_lit_comp("operator"),
str8_lit_comp("or"), str8_lit_comp("or"),
str8_lit_comp("or_eq"), str8_lit_comp("or_eq"),
str8_lit_comp("private"), str8_lit_comp("private"),
str8_lit_comp("protected"), str8_lit_comp("protected"),
str8_lit_comp("public"), str8_lit_comp("public"),
str8_lit_comp("reflexpr"), str8_lit_comp("reflexpr"),
str8_lit_comp("register"), str8_lit_comp("register"),
str8_lit_comp("reinterpret_cast"), str8_lit_comp("reinterpret_cast"),
str8_lit_comp("requires"), str8_lit_comp("requires"),
str8_lit_comp("return"), str8_lit_comp("return"),
str8_lit_comp("short"), str8_lit_comp("short"),
str8_lit_comp("signed"), str8_lit_comp("signed"),
str8_lit_comp("sizeof"), str8_lit_comp("sizeof"),
str8_lit_comp("static"), str8_lit_comp("static"),
str8_lit_comp("static_assert"), str8_lit_comp("static_assert"),
str8_lit_comp("static_cast"), str8_lit_comp("static_cast"),
str8_lit_comp("struct"), str8_lit_comp("struct"),
str8_lit_comp("switch"), str8_lit_comp("switch"),
str8_lit_comp("synchronized"), str8_lit_comp("synchronized"),
str8_lit_comp("template"), str8_lit_comp("template"),
str8_lit_comp("this"), str8_lit_comp("this"),
str8_lit_comp("thread_local"), str8_lit_comp("thread_local"),
str8_lit_comp("throw"), str8_lit_comp("throw"),
str8_lit_comp("true"), str8_lit_comp("true"),
str8_lit_comp("try"), str8_lit_comp("try"),
str8_lit_comp("typedef"), str8_lit_comp("typedef"),
str8_lit_comp("typeid"), str8_lit_comp("typeid"),
str8_lit_comp("typename"), str8_lit_comp("typename"),
str8_lit_comp("union"), str8_lit_comp("union"),
str8_lit_comp("unsigned"), str8_lit_comp("unsigned"),
str8_lit_comp("using"), str8_lit_comp("using"),
str8_lit_comp("virtual"), str8_lit_comp("virtual"),
str8_lit_comp("void"), str8_lit_comp("void"),
str8_lit_comp("volatile"), str8_lit_comp("volatile"),
str8_lit_comp("wchar_t"), str8_lit_comp("wchar_t"),
str8_lit_comp("while"), str8_lit_comp("while"),
str8_lit_comp("xor"), str8_lit_comp("xor"),
str8_lit_comp("xor_eq"), str8_lit_comp("xor_eq"),
}; };
String8 txt_keywords__odin[40] = String8 txt_keywords__odin[40] =
{ {
str8_lit_comp("align_of"), str8_lit_comp("align_of"),
str8_lit_comp("asm"), str8_lit_comp("asm"),
str8_lit_comp("auto_cast"), str8_lit_comp("auto_cast"),
str8_lit_comp("bit_set"), str8_lit_comp("bit_set"),
str8_lit_comp("break"), str8_lit_comp("break"),
str8_lit_comp("case"), str8_lit_comp("case"),
str8_lit_comp("cast"), str8_lit_comp("cast"),
str8_lit_comp("context"), str8_lit_comp("context"),
str8_lit_comp("continue"), str8_lit_comp("continue"),
str8_lit_comp("defer"), str8_lit_comp("defer"),
str8_lit_comp("distinct"), str8_lit_comp("distinct"),
str8_lit_comp("do"), str8_lit_comp("do"),
str8_lit_comp("dynamic"), str8_lit_comp("dynamic"),
str8_lit_comp("else"), str8_lit_comp("else"),
str8_lit_comp("enum"), str8_lit_comp("enum"),
str8_lit_comp("fallthrough"), str8_lit_comp("fallthrough"),
str8_lit_comp("for"), str8_lit_comp("for"),
str8_lit_comp("foreign"), str8_lit_comp("foreign"),
str8_lit_comp("if"), str8_lit_comp("if"),
str8_lit_comp("in"), str8_lit_comp("in"),
str8_lit_comp("map"), str8_lit_comp("map"),
str8_lit_comp("matrix"), str8_lit_comp("matrix"),
str8_lit_comp("not_in"), str8_lit_comp("not_in"),
str8_lit_comp("or_break"), str8_lit_comp("or_break"),
str8_lit_comp("or_continue"), str8_lit_comp("or_continue"),
str8_lit_comp("or_else"), str8_lit_comp("or_else"),
str8_lit_comp("or_return"), str8_lit_comp("or_return"),
str8_lit_comp("package"), str8_lit_comp("package"),
str8_lit_comp("proc"), str8_lit_comp("proc"),
str8_lit_comp("return"), str8_lit_comp("return"),
str8_lit_comp("size_of"), str8_lit_comp("size_of"),
str8_lit_comp("struct"), str8_lit_comp("struct"),
str8_lit_comp("switch"), str8_lit_comp("switch"),
str8_lit_comp("transmute"), str8_lit_comp("transmute"),
str8_lit_comp("typeid"), str8_lit_comp("typeid"),
str8_lit_comp("union"), str8_lit_comp("union"),
str8_lit_comp("using"), str8_lit_comp("using"),
str8_lit_comp("when"), str8_lit_comp("when"),
str8_lit_comp("where"), str8_lit_comp("where"),
str8_lit_comp("import"), str8_lit_comp("import"),
}; };
String8 txt_keywords__jai[39] = String8 txt_keywords__jai[39] =
{ {
str8_lit_comp("bool"), str8_lit_comp("bool"),
str8_lit_comp("true"), str8_lit_comp("true"),
str8_lit_comp("false"), str8_lit_comp("false"),
str8_lit_comp("int"), str8_lit_comp("int"),
str8_lit_comp("s8"), str8_lit_comp("s8"),
str8_lit_comp("u8"), str8_lit_comp("u8"),
str8_lit_comp("s16"), str8_lit_comp("s16"),
str8_lit_comp("u16"), str8_lit_comp("u16"),
str8_lit_comp("s32"), str8_lit_comp("s32"),
str8_lit_comp("u32"), str8_lit_comp("u32"),
str8_lit_comp("s64"), str8_lit_comp("s64"),
str8_lit_comp("u64"), str8_lit_comp("u64"),
str8_lit_comp("s128"), str8_lit_comp("s128"),
str8_lit_comp("u128"), str8_lit_comp("u128"),
str8_lit_comp("float"), str8_lit_comp("float"),
str8_lit_comp("float32"), str8_lit_comp("float32"),
str8_lit_comp("float64"), str8_lit_comp("float64"),
str8_lit_comp("void"), str8_lit_comp("void"),
str8_lit_comp("enum"), str8_lit_comp("enum"),
str8_lit_comp("enum_flags"), str8_lit_comp("enum_flags"),
str8_lit_comp("size_of"), str8_lit_comp("size_of"),
str8_lit_comp("string"), str8_lit_comp("string"),
str8_lit_comp("type_of"), str8_lit_comp("type_of"),
str8_lit_comp("cast"), str8_lit_comp("cast"),
str8_lit_comp("if"), str8_lit_comp("if"),
str8_lit_comp("ifs"), str8_lit_comp("ifs"),
str8_lit_comp("then"), str8_lit_comp("then"),
str8_lit_comp("else"), str8_lit_comp("else"),
str8_lit_comp("case"), str8_lit_comp("case"),
str8_lit_comp("for"), str8_lit_comp("for"),
str8_lit_comp("while"), str8_lit_comp("while"),
str8_lit_comp("break"), str8_lit_comp("break"),
str8_lit_comp("continue"), str8_lit_comp("continue"),
str8_lit_comp("remove"), str8_lit_comp("remove"),
str8_lit_comp("return"), str8_lit_comp("return"),
str8_lit_comp("inline"), str8_lit_comp("inline"),
str8_lit_comp("null"), str8_lit_comp("null"),
str8_lit_comp("defer"), str8_lit_comp("defer"),
str8_lit_comp("xx"), str8_lit_comp("xx"),
}; };
String8 txt_keywords__zig[49] = String8 txt_keywords__zig[49] =
{ {
str8_lit_comp("addrspace"), str8_lit_comp("addrspace"),
str8_lit_comp("align"), str8_lit_comp("align"),
str8_lit_comp("allowzero"), str8_lit_comp("allowzero"),
str8_lit_comp("and"), str8_lit_comp("and"),
str8_lit_comp("anyframe"), str8_lit_comp("anyframe"),
str8_lit_comp("anytype"), str8_lit_comp("anytype"),
str8_lit_comp("asm"), str8_lit_comp("asm"),
str8_lit_comp("async"), str8_lit_comp("async"),
str8_lit_comp("await"), str8_lit_comp("await"),
str8_lit_comp("break"), str8_lit_comp("break"),
str8_lit_comp("callconv"), str8_lit_comp("callconv"),
str8_lit_comp("catch"), str8_lit_comp("catch"),
str8_lit_comp("comptime"), str8_lit_comp("comptime"),
str8_lit_comp("const"), str8_lit_comp("const"),
str8_lit_comp("continue"), str8_lit_comp("continue"),
str8_lit_comp("defer"), str8_lit_comp("defer"),
str8_lit_comp("else"), str8_lit_comp("else"),
str8_lit_comp("enum"), str8_lit_comp("enum"),
str8_lit_comp("errdefer"), str8_lit_comp("errdefer"),
str8_lit_comp("error"), str8_lit_comp("error"),
str8_lit_comp("export"), str8_lit_comp("export"),
str8_lit_comp("extern"), str8_lit_comp("extern"),
str8_lit_comp("fn"), str8_lit_comp("fn"),
str8_lit_comp("for"), str8_lit_comp("for"),
str8_lit_comp("if"), str8_lit_comp("if"),
str8_lit_comp("inline"), str8_lit_comp("inline"),
str8_lit_comp("noalias"), str8_lit_comp("noalias"),
str8_lit_comp("nosuspend"), str8_lit_comp("nosuspend"),
str8_lit_comp("noinline"), str8_lit_comp("noinline"),
str8_lit_comp("opaque"), str8_lit_comp("opaque"),
str8_lit_comp("or"), str8_lit_comp("or"),
str8_lit_comp("orelse"), str8_lit_comp("orelse"),
str8_lit_comp("packed"), str8_lit_comp("packed"),
str8_lit_comp("pub"), str8_lit_comp("pub"),
str8_lit_comp("resume"), str8_lit_comp("resume"),
str8_lit_comp("return"), str8_lit_comp("return"),
str8_lit_comp("linksection"), str8_lit_comp("linksection"),
str8_lit_comp("struct"), str8_lit_comp("struct"),
str8_lit_comp("suspend"), str8_lit_comp("suspend"),
str8_lit_comp("switch"), str8_lit_comp("switch"),
str8_lit_comp("test"), str8_lit_comp("test"),
str8_lit_comp("threadlocal"), str8_lit_comp("threadlocal"),
str8_lit_comp("try"), str8_lit_comp("try"),
str8_lit_comp("union"), str8_lit_comp("union"),
str8_lit_comp("unreachable"), str8_lit_comp("unreachable"),
str8_lit_comp("usingnamespace"), str8_lit_comp("usingnamespace"),
str8_lit_comp("var"), str8_lit_comp("var"),
str8_lit_comp("volatile"), str8_lit_comp("volatile"),
str8_lit_comp("while"), str8_lit_comp("while"),
}; };
String8 txt_keywords__rust[43] = String8 txt_keywords__rust[43] =
{ {
str8_lit_comp("as"), str8_lit_comp("as"),
str8_lit_comp("break"), str8_lit_comp("break"),
str8_lit_comp("const"), str8_lit_comp("const"),
str8_lit_comp("continue"), str8_lit_comp("continue"),
str8_lit_comp("crate"), str8_lit_comp("crate"),
str8_lit_comp("else"), str8_lit_comp("else"),
str8_lit_comp("enum"), str8_lit_comp("enum"),
str8_lit_comp("extern"), str8_lit_comp("extern"),
str8_lit_comp("false"), str8_lit_comp("false"),
str8_lit_comp("fn"), str8_lit_comp("fn"),
str8_lit_comp("for"), str8_lit_comp("for"),
str8_lit_comp("if"), str8_lit_comp("if"),
str8_lit_comp("impl"), str8_lit_comp("impl"),
str8_lit_comp("in"), str8_lit_comp("in"),
str8_lit_comp("let"), str8_lit_comp("let"),
str8_lit_comp("loop"), str8_lit_comp("loop"),
str8_lit_comp("match"), str8_lit_comp("match"),
str8_lit_comp("mod"), str8_lit_comp("mod"),
str8_lit_comp("move"), str8_lit_comp("move"),
str8_lit_comp("mut"), str8_lit_comp("mut"),
str8_lit_comp("pub"), str8_lit_comp("pub"),
str8_lit_comp("ref"), str8_lit_comp("ref"),
str8_lit_comp("return"), str8_lit_comp("return"),
str8_lit_comp("self"), str8_lit_comp("self"),
str8_lit_comp("Self"), str8_lit_comp("Self"),
str8_lit_comp("static"), str8_lit_comp("static"),
str8_lit_comp("struct"), str8_lit_comp("struct"),
str8_lit_comp("super"), str8_lit_comp("super"),
str8_lit_comp("trait"), str8_lit_comp("trait"),
str8_lit_comp("true"), str8_lit_comp("true"),
str8_lit_comp("type"), str8_lit_comp("type"),
str8_lit_comp("unsafe"), str8_lit_comp("unsafe"),
str8_lit_comp("use"), str8_lit_comp("use"),
str8_lit_comp("where"), str8_lit_comp("where"),
str8_lit_comp("while"), str8_lit_comp("while"),
str8_lit_comp("yield"), str8_lit_comp("yield"),
str8_lit_comp("async"), str8_lit_comp("async"),
str8_lit_comp("await"), str8_lit_comp("await"),
str8_lit_comp("dyn"), str8_lit_comp("dyn"),
str8_lit_comp("macro_rules"), str8_lit_comp("macro_rules"),
str8_lit_comp("raw"), str8_lit_comp("raw"),
str8_lit_comp("safe"), str8_lit_comp("safe"),
str8_lit_comp("union"), str8_lit_comp("union"),
}; };
C_LINKAGE_END C_LINKAGE_END
+41 -41
View File
@@ -1,41 +1,41 @@
// Copyright (c) Epic Games Tools // Copyright (c) Epic Games Tools
// Licensed under the MIT license (https://opensource.org/license/mit/) // Licensed under the MIT license (https://opensource.org/license/mit/)
//- GENERATED CODE //- GENERATED CODE
#ifndef TEXT_META_H #ifndef TEXT_META_H
#define TEXT_META_H #define TEXT_META_H
typedef enum TXT_LangKind typedef enum TXT_LangKind
{ {
TXT_LangKind_Null, TXT_LangKind_Null,
TXT_LangKind_C, TXT_LangKind_C,
TXT_LangKind_CPlusPlus, TXT_LangKind_CPlusPlus,
TXT_LangKind_Odin, TXT_LangKind_Odin,
TXT_LangKind_Jai, TXT_LangKind_Jai,
TXT_LangKind_Zig, TXT_LangKind_Zig,
TXT_LangKind_Rust, TXT_LangKind_Rust,
TXT_LangKind_DisasmX64Intel, TXT_LangKind_DisasmX64Intel,
TXT_LangKind_COUNT, TXT_LangKind_COUNT,
} TXT_LangKind; } TXT_LangKind;
C_LINKAGE_BEGIN C_LINKAGE_BEGIN
extern String8 txt_lang_kind_ext_table[8]; extern String8 txt_lang_kind_ext_table[8];
extern String8Array txt_keywords_from_lang_kind_table[8]; extern String8Array txt_keywords_from_lang_kind_table[8];
extern String8Array txt_multichar_symbols_from_lang_kind_table[8]; extern String8Array txt_multichar_symbols_from_lang_kind_table[8];
extern TXT_TokenizerRuleArray txt_tokenizer_rules_from_lang_kind_table[8]; extern TXT_TokenizerRuleArray txt_tokenizer_rules_from_lang_kind_table[8];
extern String8 txt_keywords__null[1]; extern String8 txt_keywords__null[1];
extern String8 txt_multichar_symbols__null[1]; extern String8 txt_multichar_symbols__null[1];
extern TXT_TokenizerRule txt_tokenizer_rules__null[1]; extern TXT_TokenizerRule txt_tokenizer_rules__null[1];
extern String8 txt_keywords__c[32]; extern String8 txt_keywords__c[32];
extern String8 txt_multichar_symbols__c[20]; extern String8 txt_multichar_symbols__c[20];
extern TXT_TokenizerRule txt_tokenizer_rules__c[7]; extern TXT_TokenizerRule txt_tokenizer_rules__c[7];
extern String8 txt_keywords__cpp[97]; extern String8 txt_keywords__cpp[97];
extern String8 txt_keywords__odin[40]; extern String8 txt_keywords__odin[40];
extern String8 txt_keywords__jai[39]; extern String8 txt_keywords__jai[39];
extern String8 txt_keywords__zig[49]; extern String8 txt_keywords__zig[49];
extern String8 txt_keywords__rust[43]; extern String8 txt_keywords__rust[43];
C_LINKAGE_END C_LINKAGE_END
#endif // TEXT_META_H #endif // TEXT_META_H
+212 -212
View File
@@ -1,212 +1,212 @@
// Copyright (c) Epic Games Tools // Copyright (c) Epic Games Tools
// Licensed under the MIT license (https://opensource.org/license/mit/) // Licensed under the MIT license (https://opensource.org/license/mit/)
//- GENERATED CODE //- GENERATED CODE
#if 0 #if 0
#define UI_Parent(v) DeferLoop(ui_push_parent(v), ui_pop_parent()) #define UI_Parent(v) DeferLoop(ui_push_parent(v), ui_pop_parent())
#define UI_ChildLayoutAxis(v) DeferLoop(ui_push_child_layout_axis(v), ui_pop_child_layout_axis()) #define UI_ChildLayoutAxis(v) DeferLoop(ui_push_child_layout_axis(v), ui_pop_child_layout_axis())
#define UI_FixedX(v) DeferLoop(ui_push_fixed_x(v), ui_pop_fixed_x()) #define UI_FixedX(v) DeferLoop(ui_push_fixed_x(v), ui_pop_fixed_x())
#define UI_FixedY(v) DeferLoop(ui_push_fixed_y(v), ui_pop_fixed_y()) #define UI_FixedY(v) DeferLoop(ui_push_fixed_y(v), ui_pop_fixed_y())
#define UI_FixedWidth(v) DeferLoop(ui_push_fixed_width(v), ui_pop_fixed_width()) #define UI_FixedWidth(v) DeferLoop(ui_push_fixed_width(v), ui_pop_fixed_width())
#define UI_FixedHeight(v) DeferLoop(ui_push_fixed_height(v), ui_pop_fixed_height()) #define UI_FixedHeight(v) DeferLoop(ui_push_fixed_height(v), ui_pop_fixed_height())
#define UI_PrefWidth(v) DeferLoop(ui_push_pref_width(v), ui_pop_pref_width()) #define UI_PrefWidth(v) DeferLoop(ui_push_pref_width(v), ui_pop_pref_width())
#define UI_PrefHeight(v) DeferLoop(ui_push_pref_height(v), ui_pop_pref_height()) #define UI_PrefHeight(v) DeferLoop(ui_push_pref_height(v), ui_pop_pref_height())
#define UI_MinWidth(v) DeferLoop(ui_push_min_width(v), ui_pop_min_width()) #define UI_MinWidth(v) DeferLoop(ui_push_min_width(v), ui_pop_min_width())
#define UI_MinHeight(v) DeferLoop(ui_push_min_height(v), ui_pop_min_height()) #define UI_MinHeight(v) DeferLoop(ui_push_min_height(v), ui_pop_min_height())
#define UI_PermissionFlags(v) DeferLoop(ui_push_permission_flags(v), ui_pop_permission_flags()) #define UI_PermissionFlags(v) DeferLoop(ui_push_permission_flags(v), ui_pop_permission_flags())
#define UI_Flags(v) DeferLoop(ui_push_flags(v), ui_pop_flags()) #define UI_Flags(v) DeferLoop(ui_push_flags(v), ui_pop_flags())
#define UI_OmitFlags(v) DeferLoop(ui_push_omit_flags(v), ui_pop_omit_flags()) #define UI_OmitFlags(v) DeferLoop(ui_push_omit_flags(v), ui_pop_omit_flags())
#define UI_FocusHot(v) DeferLoop(ui_push_focus_hot(v), ui_pop_focus_hot()) #define UI_FocusHot(v) DeferLoop(ui_push_focus_hot(v), ui_pop_focus_hot())
#define UI_FocusActive(v) DeferLoop(ui_push_focus_active(v), ui_pop_focus_active()) #define UI_FocusActive(v) DeferLoop(ui_push_focus_active(v), ui_pop_focus_active())
#define UI_FastpathCodepoint(v) DeferLoop(ui_push_fastpath_codepoint(v), ui_pop_fastpath_codepoint()) #define UI_FastpathCodepoint(v) DeferLoop(ui_push_fastpath_codepoint(v), ui_pop_fastpath_codepoint())
#define UI_GroupKey(v) DeferLoop(ui_push_group_key(v), ui_pop_group_key()) #define UI_GroupKey(v) DeferLoop(ui_push_group_key(v), ui_pop_group_key())
#define UI_Transparency(v) DeferLoop(ui_push_transparency(v), ui_pop_transparency()) #define UI_Transparency(v) DeferLoop(ui_push_transparency(v), ui_pop_transparency())
#define UI_Tag(v) DeferLoop(ui_push_tag(v), ui_pop_tag()) #define UI_Tag(v) DeferLoop(ui_push_tag(v), ui_pop_tag())
#define UI_BackgroundColor(v) DeferLoop(ui_push_background_color(v), ui_pop_background_color()) #define UI_BackgroundColor(v) DeferLoop(ui_push_background_color(v), ui_pop_background_color())
#define UI_TextColor(v) DeferLoop(ui_push_text_color(v), ui_pop_text_color()) #define UI_TextColor(v) DeferLoop(ui_push_text_color(v), ui_pop_text_color())
#define UI_BorderColor(v) DeferLoop(ui_push_border_color(v), ui_pop_border_color()) #define UI_BorderColor(v) DeferLoop(ui_push_border_color(v), ui_pop_border_color())
#define UI_Squish(v) DeferLoop(ui_push_squish(v), ui_pop_squish()) #define UI_Squish(v) DeferLoop(ui_push_squish(v), ui_pop_squish())
#define UI_HoverCursor(v) DeferLoop(ui_push_hover_cursor(v), ui_pop_hover_cursor()) #define UI_HoverCursor(v) DeferLoop(ui_push_hover_cursor(v), ui_pop_hover_cursor())
#define UI_Font(v) DeferLoop(ui_push_font(v), ui_pop_font()) #define UI_Font(v) DeferLoop(ui_push_font(v), ui_pop_font())
#define UI_FontSize(v) DeferLoop(ui_push_font_size(v), ui_pop_font_size()) #define UI_FontSize(v) DeferLoop(ui_push_font_size(v), ui_pop_font_size())
#define UI_TextRasterFlags(v) DeferLoop(ui_push_text_raster_flags(v), ui_pop_text_raster_flags()) #define UI_TextRasterFlags(v) DeferLoop(ui_push_text_raster_flags(v), ui_pop_text_raster_flags())
#define UI_TabSize(v) DeferLoop(ui_push_tab_size(v), ui_pop_tab_size()) #define UI_TabSize(v) DeferLoop(ui_push_tab_size(v), ui_pop_tab_size())
#define UI_CornerRadius00(v) DeferLoop(ui_push_corner_radius_00(v), ui_pop_corner_radius_00()) #define UI_CornerRadius00(v) DeferLoop(ui_push_corner_radius_00(v), ui_pop_corner_radius_00())
#define UI_CornerRadius01(v) DeferLoop(ui_push_corner_radius_01(v), ui_pop_corner_radius_01()) #define UI_CornerRadius01(v) DeferLoop(ui_push_corner_radius_01(v), ui_pop_corner_radius_01())
#define UI_CornerRadius10(v) DeferLoop(ui_push_corner_radius_10(v), ui_pop_corner_radius_10()) #define UI_CornerRadius10(v) DeferLoop(ui_push_corner_radius_10(v), ui_pop_corner_radius_10())
#define UI_CornerRadius11(v) DeferLoop(ui_push_corner_radius_11(v), ui_pop_corner_radius_11()) #define UI_CornerRadius11(v) DeferLoop(ui_push_corner_radius_11(v), ui_pop_corner_radius_11())
#define UI_BlurSize(v) DeferLoop(ui_push_blur_size(v), ui_pop_blur_size()) #define UI_BlurSize(v) DeferLoop(ui_push_blur_size(v), ui_pop_blur_size())
#define UI_TextPadding(v) DeferLoop(ui_push_text_padding(v), ui_pop_text_padding()) #define UI_TextPadding(v) DeferLoop(ui_push_text_padding(v), ui_pop_text_padding())
#define UI_TextAlignment(v) DeferLoop(ui_push_text_alignment(v), ui_pop_text_alignment()) #define UI_TextAlignment(v) DeferLoop(ui_push_text_alignment(v), ui_pop_text_alignment())
#endif #endif
internal UI_Box * ui_top_parent(void) { UI_StackTopImpl(ui_state, Parent, parent) } internal UI_Box * ui_top_parent(void) { UI_StackTopImpl(ui_state, Parent, parent) }
internal Axis2 ui_top_child_layout_axis(void) { UI_StackTopImpl(ui_state, ChildLayoutAxis, child_layout_axis) } internal Axis2 ui_top_child_layout_axis(void) { UI_StackTopImpl(ui_state, ChildLayoutAxis, child_layout_axis) }
internal F32 ui_top_fixed_x(void) { UI_StackTopImpl(ui_state, FixedX, fixed_x) } internal F32 ui_top_fixed_x(void) { UI_StackTopImpl(ui_state, FixedX, fixed_x) }
internal F32 ui_top_fixed_y(void) { UI_StackTopImpl(ui_state, FixedY, fixed_y) } internal F32 ui_top_fixed_y(void) { UI_StackTopImpl(ui_state, FixedY, fixed_y) }
internal F32 ui_top_fixed_width(void) { UI_StackTopImpl(ui_state, FixedWidth, fixed_width) } internal F32 ui_top_fixed_width(void) { UI_StackTopImpl(ui_state, FixedWidth, fixed_width) }
internal F32 ui_top_fixed_height(void) { UI_StackTopImpl(ui_state, FixedHeight, fixed_height) } internal F32 ui_top_fixed_height(void) { UI_StackTopImpl(ui_state, FixedHeight, fixed_height) }
internal UI_Size ui_top_pref_width(void) { UI_StackTopImpl(ui_state, PrefWidth, pref_width) } internal UI_Size ui_top_pref_width(void) { UI_StackTopImpl(ui_state, PrefWidth, pref_width) }
internal UI_Size ui_top_pref_height(void) { UI_StackTopImpl(ui_state, PrefHeight, pref_height) } internal UI_Size ui_top_pref_height(void) { UI_StackTopImpl(ui_state, PrefHeight, pref_height) }
internal F32 ui_top_min_width(void) { UI_StackTopImpl(ui_state, MinWidth, min_width) } internal F32 ui_top_min_width(void) { UI_StackTopImpl(ui_state, MinWidth, min_width) }
internal F32 ui_top_min_height(void) { UI_StackTopImpl(ui_state, MinHeight, min_height) } internal F32 ui_top_min_height(void) { UI_StackTopImpl(ui_state, MinHeight, min_height) }
internal UI_PermissionFlags ui_top_permission_flags(void) { UI_StackTopImpl(ui_state, PermissionFlags, permission_flags) } internal UI_PermissionFlags ui_top_permission_flags(void) { UI_StackTopImpl(ui_state, PermissionFlags, permission_flags) }
internal UI_BoxFlags ui_top_flags(void) { UI_StackTopImpl(ui_state, Flags, flags) } internal UI_BoxFlags ui_top_flags(void) { UI_StackTopImpl(ui_state, Flags, flags) }
internal UI_BoxFlags ui_top_omit_flags(void) { UI_StackTopImpl(ui_state, OmitFlags, omit_flags) } internal UI_BoxFlags ui_top_omit_flags(void) { UI_StackTopImpl(ui_state, OmitFlags, omit_flags) }
internal UI_FocusKind ui_top_focus_hot(void) { UI_StackTopImpl(ui_state, FocusHot, focus_hot) } internal UI_FocusKind ui_top_focus_hot(void) { UI_StackTopImpl(ui_state, FocusHot, focus_hot) }
internal UI_FocusKind ui_top_focus_active(void) { UI_StackTopImpl(ui_state, FocusActive, focus_active) } internal UI_FocusKind ui_top_focus_active(void) { UI_StackTopImpl(ui_state, FocusActive, focus_active) }
internal U32 ui_top_fastpath_codepoint(void) { UI_StackTopImpl(ui_state, FastpathCodepoint, fastpath_codepoint) } internal U32 ui_top_fastpath_codepoint(void) { UI_StackTopImpl(ui_state, FastpathCodepoint, fastpath_codepoint) }
internal UI_Key ui_top_group_key(void) { UI_StackTopImpl(ui_state, GroupKey, group_key) } internal UI_Key ui_top_group_key(void) { UI_StackTopImpl(ui_state, GroupKey, group_key) }
internal F32 ui_top_transparency(void) { UI_StackTopImpl(ui_state, Transparency, transparency) } internal F32 ui_top_transparency(void) { UI_StackTopImpl(ui_state, Transparency, transparency) }
internal Vec4F32 ui_top_background_color(void) { UI_StackTopImpl(ui_state, BackgroundColor, background_color) } internal Vec4F32 ui_top_background_color(void) { UI_StackTopImpl(ui_state, BackgroundColor, background_color) }
internal Vec4F32 ui_top_text_color(void) { UI_StackTopImpl(ui_state, TextColor, text_color) } internal Vec4F32 ui_top_text_color(void) { UI_StackTopImpl(ui_state, TextColor, text_color) }
internal Vec4F32 ui_top_border_color(void) { UI_StackTopImpl(ui_state, BorderColor, border_color) } internal Vec4F32 ui_top_border_color(void) { UI_StackTopImpl(ui_state, BorderColor, border_color) }
internal F32 ui_top_squish(void) { UI_StackTopImpl(ui_state, Squish, squish) } internal F32 ui_top_squish(void) { UI_StackTopImpl(ui_state, Squish, squish) }
internal WM_Cursor ui_top_hover_cursor(void) { UI_StackTopImpl(ui_state, HoverCursor, hover_cursor) } internal WM_Cursor ui_top_hover_cursor(void) { UI_StackTopImpl(ui_state, HoverCursor, hover_cursor) }
internal FNT_Tag ui_top_font(void) { UI_StackTopImpl(ui_state, Font, font) } internal FNT_Tag ui_top_font(void) { UI_StackTopImpl(ui_state, Font, font) }
internal F32 ui_top_font_size(void) { UI_StackTopImpl(ui_state, FontSize, font_size) } internal F32 ui_top_font_size(void) { UI_StackTopImpl(ui_state, FontSize, font_size) }
internal FNT_RasterFlags ui_top_text_raster_flags(void) { UI_StackTopImpl(ui_state, TextRasterFlags, text_raster_flags) } internal FNT_RasterFlags ui_top_text_raster_flags(void) { UI_StackTopImpl(ui_state, TextRasterFlags, text_raster_flags) }
internal F32 ui_top_tab_size(void) { UI_StackTopImpl(ui_state, TabSize, tab_size) } internal F32 ui_top_tab_size(void) { UI_StackTopImpl(ui_state, TabSize, tab_size) }
internal F32 ui_top_corner_radius_00(void) { UI_StackTopImpl(ui_state, CornerRadius00, corner_radius_00) } internal F32 ui_top_corner_radius_00(void) { UI_StackTopImpl(ui_state, CornerRadius00, corner_radius_00) }
internal F32 ui_top_corner_radius_01(void) { UI_StackTopImpl(ui_state, CornerRadius01, corner_radius_01) } internal F32 ui_top_corner_radius_01(void) { UI_StackTopImpl(ui_state, CornerRadius01, corner_radius_01) }
internal F32 ui_top_corner_radius_10(void) { UI_StackTopImpl(ui_state, CornerRadius10, corner_radius_10) } internal F32 ui_top_corner_radius_10(void) { UI_StackTopImpl(ui_state, CornerRadius10, corner_radius_10) }
internal F32 ui_top_corner_radius_11(void) { UI_StackTopImpl(ui_state, CornerRadius11, corner_radius_11) } internal F32 ui_top_corner_radius_11(void) { UI_StackTopImpl(ui_state, CornerRadius11, corner_radius_11) }
internal F32 ui_top_blur_size(void) { UI_StackTopImpl(ui_state, BlurSize, blur_size) } internal F32 ui_top_blur_size(void) { UI_StackTopImpl(ui_state, BlurSize, blur_size) }
internal F32 ui_top_text_padding(void) { UI_StackTopImpl(ui_state, TextPadding, text_padding) } internal F32 ui_top_text_padding(void) { UI_StackTopImpl(ui_state, TextPadding, text_padding) }
internal UI_TextAlign ui_top_text_alignment(void) { UI_StackTopImpl(ui_state, TextAlignment, text_alignment) } internal UI_TextAlign ui_top_text_alignment(void) { UI_StackTopImpl(ui_state, TextAlignment, text_alignment) }
internal UI_Box * ui_bottom_parent(void) { UI_StackBottomImpl(ui_state, Parent, parent) } internal UI_Box * ui_bottom_parent(void) { UI_StackBottomImpl(ui_state, Parent, parent) }
internal Axis2 ui_bottom_child_layout_axis(void) { UI_StackBottomImpl(ui_state, ChildLayoutAxis, child_layout_axis) } internal Axis2 ui_bottom_child_layout_axis(void) { UI_StackBottomImpl(ui_state, ChildLayoutAxis, child_layout_axis) }
internal F32 ui_bottom_fixed_x(void) { UI_StackBottomImpl(ui_state, FixedX, fixed_x) } internal F32 ui_bottom_fixed_x(void) { UI_StackBottomImpl(ui_state, FixedX, fixed_x) }
internal F32 ui_bottom_fixed_y(void) { UI_StackBottomImpl(ui_state, FixedY, fixed_y) } internal F32 ui_bottom_fixed_y(void) { UI_StackBottomImpl(ui_state, FixedY, fixed_y) }
internal F32 ui_bottom_fixed_width(void) { UI_StackBottomImpl(ui_state, FixedWidth, fixed_width) } internal F32 ui_bottom_fixed_width(void) { UI_StackBottomImpl(ui_state, FixedWidth, fixed_width) }
internal F32 ui_bottom_fixed_height(void) { UI_StackBottomImpl(ui_state, FixedHeight, fixed_height) } internal F32 ui_bottom_fixed_height(void) { UI_StackBottomImpl(ui_state, FixedHeight, fixed_height) }
internal UI_Size ui_bottom_pref_width(void) { UI_StackBottomImpl(ui_state, PrefWidth, pref_width) } internal UI_Size ui_bottom_pref_width(void) { UI_StackBottomImpl(ui_state, PrefWidth, pref_width) }
internal UI_Size ui_bottom_pref_height(void) { UI_StackBottomImpl(ui_state, PrefHeight, pref_height) } internal UI_Size ui_bottom_pref_height(void) { UI_StackBottomImpl(ui_state, PrefHeight, pref_height) }
internal F32 ui_bottom_min_width(void) { UI_StackBottomImpl(ui_state, MinWidth, min_width) } internal F32 ui_bottom_min_width(void) { UI_StackBottomImpl(ui_state, MinWidth, min_width) }
internal F32 ui_bottom_min_height(void) { UI_StackBottomImpl(ui_state, MinHeight, min_height) } internal F32 ui_bottom_min_height(void) { UI_StackBottomImpl(ui_state, MinHeight, min_height) }
internal UI_PermissionFlags ui_bottom_permission_flags(void) { UI_StackBottomImpl(ui_state, PermissionFlags, permission_flags) } internal UI_PermissionFlags ui_bottom_permission_flags(void) { UI_StackBottomImpl(ui_state, PermissionFlags, permission_flags) }
internal UI_BoxFlags ui_bottom_flags(void) { UI_StackBottomImpl(ui_state, Flags, flags) } internal UI_BoxFlags ui_bottom_flags(void) { UI_StackBottomImpl(ui_state, Flags, flags) }
internal UI_BoxFlags ui_bottom_omit_flags(void) { UI_StackBottomImpl(ui_state, OmitFlags, omit_flags) } internal UI_BoxFlags ui_bottom_omit_flags(void) { UI_StackBottomImpl(ui_state, OmitFlags, omit_flags) }
internal UI_FocusKind ui_bottom_focus_hot(void) { UI_StackBottomImpl(ui_state, FocusHot, focus_hot) } internal UI_FocusKind ui_bottom_focus_hot(void) { UI_StackBottomImpl(ui_state, FocusHot, focus_hot) }
internal UI_FocusKind ui_bottom_focus_active(void) { UI_StackBottomImpl(ui_state, FocusActive, focus_active) } internal UI_FocusKind ui_bottom_focus_active(void) { UI_StackBottomImpl(ui_state, FocusActive, focus_active) }
internal U32 ui_bottom_fastpath_codepoint(void) { UI_StackBottomImpl(ui_state, FastpathCodepoint, fastpath_codepoint) } internal U32 ui_bottom_fastpath_codepoint(void) { UI_StackBottomImpl(ui_state, FastpathCodepoint, fastpath_codepoint) }
internal UI_Key ui_bottom_group_key(void) { UI_StackBottomImpl(ui_state, GroupKey, group_key) } internal UI_Key ui_bottom_group_key(void) { UI_StackBottomImpl(ui_state, GroupKey, group_key) }
internal F32 ui_bottom_transparency(void) { UI_StackBottomImpl(ui_state, Transparency, transparency) } internal F32 ui_bottom_transparency(void) { UI_StackBottomImpl(ui_state, Transparency, transparency) }
internal Vec4F32 ui_bottom_background_color(void) { UI_StackBottomImpl(ui_state, BackgroundColor, background_color) } internal Vec4F32 ui_bottom_background_color(void) { UI_StackBottomImpl(ui_state, BackgroundColor, background_color) }
internal Vec4F32 ui_bottom_text_color(void) { UI_StackBottomImpl(ui_state, TextColor, text_color) } internal Vec4F32 ui_bottom_text_color(void) { UI_StackBottomImpl(ui_state, TextColor, text_color) }
internal Vec4F32 ui_bottom_border_color(void) { UI_StackBottomImpl(ui_state, BorderColor, border_color) } internal Vec4F32 ui_bottom_border_color(void) { UI_StackBottomImpl(ui_state, BorderColor, border_color) }
internal F32 ui_bottom_squish(void) { UI_StackBottomImpl(ui_state, Squish, squish) } internal F32 ui_bottom_squish(void) { UI_StackBottomImpl(ui_state, Squish, squish) }
internal WM_Cursor ui_bottom_hover_cursor(void) { UI_StackBottomImpl(ui_state, HoverCursor, hover_cursor) } internal WM_Cursor ui_bottom_hover_cursor(void) { UI_StackBottomImpl(ui_state, HoverCursor, hover_cursor) }
internal FNT_Tag ui_bottom_font(void) { UI_StackBottomImpl(ui_state, Font, font) } internal FNT_Tag ui_bottom_font(void) { UI_StackBottomImpl(ui_state, Font, font) }
internal F32 ui_bottom_font_size(void) { UI_StackBottomImpl(ui_state, FontSize, font_size) } internal F32 ui_bottom_font_size(void) { UI_StackBottomImpl(ui_state, FontSize, font_size) }
internal FNT_RasterFlags ui_bottom_text_raster_flags(void) { UI_StackBottomImpl(ui_state, TextRasterFlags, text_raster_flags) } internal FNT_RasterFlags ui_bottom_text_raster_flags(void) { UI_StackBottomImpl(ui_state, TextRasterFlags, text_raster_flags) }
internal F32 ui_bottom_tab_size(void) { UI_StackBottomImpl(ui_state, TabSize, tab_size) } internal F32 ui_bottom_tab_size(void) { UI_StackBottomImpl(ui_state, TabSize, tab_size) }
internal F32 ui_bottom_corner_radius_00(void) { UI_StackBottomImpl(ui_state, CornerRadius00, corner_radius_00) } internal F32 ui_bottom_corner_radius_00(void) { UI_StackBottomImpl(ui_state, CornerRadius00, corner_radius_00) }
internal F32 ui_bottom_corner_radius_01(void) { UI_StackBottomImpl(ui_state, CornerRadius01, corner_radius_01) } internal F32 ui_bottom_corner_radius_01(void) { UI_StackBottomImpl(ui_state, CornerRadius01, corner_radius_01) }
internal F32 ui_bottom_corner_radius_10(void) { UI_StackBottomImpl(ui_state, CornerRadius10, corner_radius_10) } internal F32 ui_bottom_corner_radius_10(void) { UI_StackBottomImpl(ui_state, CornerRadius10, corner_radius_10) }
internal F32 ui_bottom_corner_radius_11(void) { UI_StackBottomImpl(ui_state, CornerRadius11, corner_radius_11) } internal F32 ui_bottom_corner_radius_11(void) { UI_StackBottomImpl(ui_state, CornerRadius11, corner_radius_11) }
internal F32 ui_bottom_blur_size(void) { UI_StackBottomImpl(ui_state, BlurSize, blur_size) } internal F32 ui_bottom_blur_size(void) { UI_StackBottomImpl(ui_state, BlurSize, blur_size) }
internal F32 ui_bottom_text_padding(void) { UI_StackBottomImpl(ui_state, TextPadding, text_padding) } internal F32 ui_bottom_text_padding(void) { UI_StackBottomImpl(ui_state, TextPadding, text_padding) }
internal UI_TextAlign ui_bottom_text_alignment(void) { UI_StackBottomImpl(ui_state, TextAlignment, text_alignment) } internal UI_TextAlign ui_bottom_text_alignment(void) { UI_StackBottomImpl(ui_state, TextAlignment, text_alignment) }
internal UI_Box * ui_push_parent(UI_Box * v) { UI_StackPushImpl(ui_state, Parent, parent, UI_Box *, v) } internal UI_Box * ui_push_parent(UI_Box * v) { UI_StackPushImpl(ui_state, Parent, parent, UI_Box *, v) }
internal Axis2 ui_push_child_layout_axis(Axis2 v) { UI_StackPushImpl(ui_state, ChildLayoutAxis, child_layout_axis, Axis2, v) } internal Axis2 ui_push_child_layout_axis(Axis2 v) { UI_StackPushImpl(ui_state, ChildLayoutAxis, child_layout_axis, Axis2, v) }
internal F32 ui_push_fixed_x(F32 v) { UI_StackPushImpl(ui_state, FixedX, fixed_x, F32, v) } internal F32 ui_push_fixed_x(F32 v) { UI_StackPushImpl(ui_state, FixedX, fixed_x, F32, v) }
internal F32 ui_push_fixed_y(F32 v) { UI_StackPushImpl(ui_state, FixedY, fixed_y, F32, v) } internal F32 ui_push_fixed_y(F32 v) { UI_StackPushImpl(ui_state, FixedY, fixed_y, F32, v) }
internal F32 ui_push_fixed_width(F32 v) { UI_StackPushImpl(ui_state, FixedWidth, fixed_width, F32, v) } internal F32 ui_push_fixed_width(F32 v) { UI_StackPushImpl(ui_state, FixedWidth, fixed_width, F32, v) }
internal F32 ui_push_fixed_height(F32 v) { UI_StackPushImpl(ui_state, FixedHeight, fixed_height, F32, v) } internal F32 ui_push_fixed_height(F32 v) { UI_StackPushImpl(ui_state, FixedHeight, fixed_height, F32, v) }
internal UI_Size ui_push_pref_width(UI_Size v) { UI_StackPushImpl(ui_state, PrefWidth, pref_width, UI_Size, v) } internal UI_Size ui_push_pref_width(UI_Size v) { UI_StackPushImpl(ui_state, PrefWidth, pref_width, UI_Size, v) }
internal UI_Size ui_push_pref_height(UI_Size v) { UI_StackPushImpl(ui_state, PrefHeight, pref_height, UI_Size, v) } internal UI_Size ui_push_pref_height(UI_Size v) { UI_StackPushImpl(ui_state, PrefHeight, pref_height, UI_Size, v) }
internal F32 ui_push_min_width(F32 v) { UI_StackPushImpl(ui_state, MinWidth, min_width, F32, v) } internal F32 ui_push_min_width(F32 v) { UI_StackPushImpl(ui_state, MinWidth, min_width, F32, v) }
internal F32 ui_push_min_height(F32 v) { UI_StackPushImpl(ui_state, MinHeight, min_height, F32, v) } internal F32 ui_push_min_height(F32 v) { UI_StackPushImpl(ui_state, MinHeight, min_height, F32, v) }
internal UI_PermissionFlags ui_push_permission_flags(UI_PermissionFlags v) { UI_StackPushImpl(ui_state, PermissionFlags, permission_flags, UI_PermissionFlags, v) } internal UI_PermissionFlags ui_push_permission_flags(UI_PermissionFlags v) { UI_StackPushImpl(ui_state, PermissionFlags, permission_flags, UI_PermissionFlags, v) }
internal UI_BoxFlags ui_push_flags(UI_BoxFlags v) { UI_StackPushImpl(ui_state, Flags, flags, UI_BoxFlags, v) } internal UI_BoxFlags ui_push_flags(UI_BoxFlags v) { UI_StackPushImpl(ui_state, Flags, flags, UI_BoxFlags, v) }
internal UI_BoxFlags ui_push_omit_flags(UI_BoxFlags v) { UI_StackPushImpl(ui_state, OmitFlags, omit_flags, UI_BoxFlags, v) } internal UI_BoxFlags ui_push_omit_flags(UI_BoxFlags v) { UI_StackPushImpl(ui_state, OmitFlags, omit_flags, UI_BoxFlags, v) }
internal UI_FocusKind ui_push_focus_hot(UI_FocusKind v) { UI_StackPushImpl(ui_state, FocusHot, focus_hot, UI_FocusKind, v) } internal UI_FocusKind ui_push_focus_hot(UI_FocusKind v) { UI_StackPushImpl(ui_state, FocusHot, focus_hot, UI_FocusKind, v) }
internal UI_FocusKind ui_push_focus_active(UI_FocusKind v) { UI_StackPushImpl(ui_state, FocusActive, focus_active, UI_FocusKind, v) } internal UI_FocusKind ui_push_focus_active(UI_FocusKind v) { UI_StackPushImpl(ui_state, FocusActive, focus_active, UI_FocusKind, v) }
internal U32 ui_push_fastpath_codepoint(U32 v) { UI_StackPushImpl(ui_state, FastpathCodepoint, fastpath_codepoint, U32, v) } internal U32 ui_push_fastpath_codepoint(U32 v) { UI_StackPushImpl(ui_state, FastpathCodepoint, fastpath_codepoint, U32, v) }
internal UI_Key ui_push_group_key(UI_Key v) { UI_StackPushImpl(ui_state, GroupKey, group_key, UI_Key, v) } internal UI_Key ui_push_group_key(UI_Key v) { UI_StackPushImpl(ui_state, GroupKey, group_key, UI_Key, v) }
internal F32 ui_push_transparency(F32 v) { UI_StackPushImpl(ui_state, Transparency, transparency, F32, v) } internal F32 ui_push_transparency(F32 v) { UI_StackPushImpl(ui_state, Transparency, transparency, F32, v) }
internal Vec4F32 ui_push_background_color(Vec4F32 v) { UI_StackPushImpl(ui_state, BackgroundColor, background_color, Vec4F32, v) } internal Vec4F32 ui_push_background_color(Vec4F32 v) { UI_StackPushImpl(ui_state, BackgroundColor, background_color, Vec4F32, v) }
internal Vec4F32 ui_push_text_color(Vec4F32 v) { UI_StackPushImpl(ui_state, TextColor, text_color, Vec4F32, v) } internal Vec4F32 ui_push_text_color(Vec4F32 v) { UI_StackPushImpl(ui_state, TextColor, text_color, Vec4F32, v) }
internal Vec4F32 ui_push_border_color(Vec4F32 v) { UI_StackPushImpl(ui_state, BorderColor, border_color, Vec4F32, v) } internal Vec4F32 ui_push_border_color(Vec4F32 v) { UI_StackPushImpl(ui_state, BorderColor, border_color, Vec4F32, v) }
internal F32 ui_push_squish(F32 v) { UI_StackPushImpl(ui_state, Squish, squish, F32, v) } internal F32 ui_push_squish(F32 v) { UI_StackPushImpl(ui_state, Squish, squish, F32, v) }
internal WM_Cursor ui_push_hover_cursor(WM_Cursor v) { UI_StackPushImpl(ui_state, HoverCursor, hover_cursor, WM_Cursor, v) } internal WM_Cursor ui_push_hover_cursor(WM_Cursor v) { UI_StackPushImpl(ui_state, HoverCursor, hover_cursor, WM_Cursor, v) }
internal FNT_Tag ui_push_font(FNT_Tag v) { UI_StackPushImpl(ui_state, Font, font, FNT_Tag, v) } internal FNT_Tag ui_push_font(FNT_Tag v) { UI_StackPushImpl(ui_state, Font, font, FNT_Tag, v) }
internal F32 ui_push_font_size(F32 v) { UI_StackPushImpl(ui_state, FontSize, font_size, F32, v) } internal F32 ui_push_font_size(F32 v) { UI_StackPushImpl(ui_state, FontSize, font_size, F32, v) }
internal FNT_RasterFlags ui_push_text_raster_flags(FNT_RasterFlags v) { UI_StackPushImpl(ui_state, TextRasterFlags, text_raster_flags, FNT_RasterFlags, v) } internal FNT_RasterFlags ui_push_text_raster_flags(FNT_RasterFlags v) { UI_StackPushImpl(ui_state, TextRasterFlags, text_raster_flags, FNT_RasterFlags, v) }
internal F32 ui_push_tab_size(F32 v) { UI_StackPushImpl(ui_state, TabSize, tab_size, F32, v) } internal F32 ui_push_tab_size(F32 v) { UI_StackPushImpl(ui_state, TabSize, tab_size, F32, v) }
internal F32 ui_push_corner_radius_00(F32 v) { UI_StackPushImpl(ui_state, CornerRadius00, corner_radius_00, F32, v) } internal F32 ui_push_corner_radius_00(F32 v) { UI_StackPushImpl(ui_state, CornerRadius00, corner_radius_00, F32, v) }
internal F32 ui_push_corner_radius_01(F32 v) { UI_StackPushImpl(ui_state, CornerRadius01, corner_radius_01, F32, v) } internal F32 ui_push_corner_radius_01(F32 v) { UI_StackPushImpl(ui_state, CornerRadius01, corner_radius_01, F32, v) }
internal F32 ui_push_corner_radius_10(F32 v) { UI_StackPushImpl(ui_state, CornerRadius10, corner_radius_10, F32, v) } internal F32 ui_push_corner_radius_10(F32 v) { UI_StackPushImpl(ui_state, CornerRadius10, corner_radius_10, F32, v) }
internal F32 ui_push_corner_radius_11(F32 v) { UI_StackPushImpl(ui_state, CornerRadius11, corner_radius_11, F32, v) } internal F32 ui_push_corner_radius_11(F32 v) { UI_StackPushImpl(ui_state, CornerRadius11, corner_radius_11, F32, v) }
internal F32 ui_push_blur_size(F32 v) { UI_StackPushImpl(ui_state, BlurSize, blur_size, F32, v) } internal F32 ui_push_blur_size(F32 v) { UI_StackPushImpl(ui_state, BlurSize, blur_size, F32, v) }
internal F32 ui_push_text_padding(F32 v) { UI_StackPushImpl(ui_state, TextPadding, text_padding, F32, v) } internal F32 ui_push_text_padding(F32 v) { UI_StackPushImpl(ui_state, TextPadding, text_padding, F32, v) }
internal UI_TextAlign ui_push_text_alignment(UI_TextAlign v) { UI_StackPushImpl(ui_state, TextAlignment, text_alignment, UI_TextAlign, v) } internal UI_TextAlign ui_push_text_alignment(UI_TextAlign v) { UI_StackPushImpl(ui_state, TextAlignment, text_alignment, UI_TextAlign, v) }
internal UI_Box * ui_pop_parent(void) { UI_StackPopImpl(ui_state, Parent, parent) } internal UI_Box * ui_pop_parent(void) { UI_StackPopImpl(ui_state, Parent, parent) }
internal Axis2 ui_pop_child_layout_axis(void) { UI_StackPopImpl(ui_state, ChildLayoutAxis, child_layout_axis) } internal Axis2 ui_pop_child_layout_axis(void) { UI_StackPopImpl(ui_state, ChildLayoutAxis, child_layout_axis) }
internal F32 ui_pop_fixed_x(void) { UI_StackPopImpl(ui_state, FixedX, fixed_x) } internal F32 ui_pop_fixed_x(void) { UI_StackPopImpl(ui_state, FixedX, fixed_x) }
internal F32 ui_pop_fixed_y(void) { UI_StackPopImpl(ui_state, FixedY, fixed_y) } internal F32 ui_pop_fixed_y(void) { UI_StackPopImpl(ui_state, FixedY, fixed_y) }
internal F32 ui_pop_fixed_width(void) { UI_StackPopImpl(ui_state, FixedWidth, fixed_width) } internal F32 ui_pop_fixed_width(void) { UI_StackPopImpl(ui_state, FixedWidth, fixed_width) }
internal F32 ui_pop_fixed_height(void) { UI_StackPopImpl(ui_state, FixedHeight, fixed_height) } internal F32 ui_pop_fixed_height(void) { UI_StackPopImpl(ui_state, FixedHeight, fixed_height) }
internal UI_Size ui_pop_pref_width(void) { UI_StackPopImpl(ui_state, PrefWidth, pref_width) } internal UI_Size ui_pop_pref_width(void) { UI_StackPopImpl(ui_state, PrefWidth, pref_width) }
internal UI_Size ui_pop_pref_height(void) { UI_StackPopImpl(ui_state, PrefHeight, pref_height) } internal UI_Size ui_pop_pref_height(void) { UI_StackPopImpl(ui_state, PrefHeight, pref_height) }
internal F32 ui_pop_min_width(void) { UI_StackPopImpl(ui_state, MinWidth, min_width) } internal F32 ui_pop_min_width(void) { UI_StackPopImpl(ui_state, MinWidth, min_width) }
internal F32 ui_pop_min_height(void) { UI_StackPopImpl(ui_state, MinHeight, min_height) } internal F32 ui_pop_min_height(void) { UI_StackPopImpl(ui_state, MinHeight, min_height) }
internal UI_PermissionFlags ui_pop_permission_flags(void) { UI_StackPopImpl(ui_state, PermissionFlags, permission_flags) } internal UI_PermissionFlags ui_pop_permission_flags(void) { UI_StackPopImpl(ui_state, PermissionFlags, permission_flags) }
internal UI_BoxFlags ui_pop_flags(void) { UI_StackPopImpl(ui_state, Flags, flags) } internal UI_BoxFlags ui_pop_flags(void) { UI_StackPopImpl(ui_state, Flags, flags) }
internal UI_BoxFlags ui_pop_omit_flags(void) { UI_StackPopImpl(ui_state, OmitFlags, omit_flags) } internal UI_BoxFlags ui_pop_omit_flags(void) { UI_StackPopImpl(ui_state, OmitFlags, omit_flags) }
internal UI_FocusKind ui_pop_focus_hot(void) { UI_StackPopImpl(ui_state, FocusHot, focus_hot) } internal UI_FocusKind ui_pop_focus_hot(void) { UI_StackPopImpl(ui_state, FocusHot, focus_hot) }
internal UI_FocusKind ui_pop_focus_active(void) { UI_StackPopImpl(ui_state, FocusActive, focus_active) } internal UI_FocusKind ui_pop_focus_active(void) { UI_StackPopImpl(ui_state, FocusActive, focus_active) }
internal U32 ui_pop_fastpath_codepoint(void) { UI_StackPopImpl(ui_state, FastpathCodepoint, fastpath_codepoint) } internal U32 ui_pop_fastpath_codepoint(void) { UI_StackPopImpl(ui_state, FastpathCodepoint, fastpath_codepoint) }
internal UI_Key ui_pop_group_key(void) { UI_StackPopImpl(ui_state, GroupKey, group_key) } internal UI_Key ui_pop_group_key(void) { UI_StackPopImpl(ui_state, GroupKey, group_key) }
internal F32 ui_pop_transparency(void) { UI_StackPopImpl(ui_state, Transparency, transparency) } internal F32 ui_pop_transparency(void) { UI_StackPopImpl(ui_state, Transparency, transparency) }
internal Vec4F32 ui_pop_background_color(void) { UI_StackPopImpl(ui_state, BackgroundColor, background_color) } internal Vec4F32 ui_pop_background_color(void) { UI_StackPopImpl(ui_state, BackgroundColor, background_color) }
internal Vec4F32 ui_pop_text_color(void) { UI_StackPopImpl(ui_state, TextColor, text_color) } internal Vec4F32 ui_pop_text_color(void) { UI_StackPopImpl(ui_state, TextColor, text_color) }
internal Vec4F32 ui_pop_border_color(void) { UI_StackPopImpl(ui_state, BorderColor, border_color) } internal Vec4F32 ui_pop_border_color(void) { UI_StackPopImpl(ui_state, BorderColor, border_color) }
internal F32 ui_pop_squish(void) { UI_StackPopImpl(ui_state, Squish, squish) } internal F32 ui_pop_squish(void) { UI_StackPopImpl(ui_state, Squish, squish) }
internal WM_Cursor ui_pop_hover_cursor(void) { UI_StackPopImpl(ui_state, HoverCursor, hover_cursor) } internal WM_Cursor ui_pop_hover_cursor(void) { UI_StackPopImpl(ui_state, HoverCursor, hover_cursor) }
internal FNT_Tag ui_pop_font(void) { UI_StackPopImpl(ui_state, Font, font) } internal FNT_Tag ui_pop_font(void) { UI_StackPopImpl(ui_state, Font, font) }
internal F32 ui_pop_font_size(void) { UI_StackPopImpl(ui_state, FontSize, font_size) } internal F32 ui_pop_font_size(void) { UI_StackPopImpl(ui_state, FontSize, font_size) }
internal FNT_RasterFlags ui_pop_text_raster_flags(void) { UI_StackPopImpl(ui_state, TextRasterFlags, text_raster_flags) } internal FNT_RasterFlags ui_pop_text_raster_flags(void) { UI_StackPopImpl(ui_state, TextRasterFlags, text_raster_flags) }
internal F32 ui_pop_tab_size(void) { UI_StackPopImpl(ui_state, TabSize, tab_size) } internal F32 ui_pop_tab_size(void) { UI_StackPopImpl(ui_state, TabSize, tab_size) }
internal F32 ui_pop_corner_radius_00(void) { UI_StackPopImpl(ui_state, CornerRadius00, corner_radius_00) } internal F32 ui_pop_corner_radius_00(void) { UI_StackPopImpl(ui_state, CornerRadius00, corner_radius_00) }
internal F32 ui_pop_corner_radius_01(void) { UI_StackPopImpl(ui_state, CornerRadius01, corner_radius_01) } internal F32 ui_pop_corner_radius_01(void) { UI_StackPopImpl(ui_state, CornerRadius01, corner_radius_01) }
internal F32 ui_pop_corner_radius_10(void) { UI_StackPopImpl(ui_state, CornerRadius10, corner_radius_10) } internal F32 ui_pop_corner_radius_10(void) { UI_StackPopImpl(ui_state, CornerRadius10, corner_radius_10) }
internal F32 ui_pop_corner_radius_11(void) { UI_StackPopImpl(ui_state, CornerRadius11, corner_radius_11) } internal F32 ui_pop_corner_radius_11(void) { UI_StackPopImpl(ui_state, CornerRadius11, corner_radius_11) }
internal F32 ui_pop_blur_size(void) { UI_StackPopImpl(ui_state, BlurSize, blur_size) } internal F32 ui_pop_blur_size(void) { UI_StackPopImpl(ui_state, BlurSize, blur_size) }
internal F32 ui_pop_text_padding(void) { UI_StackPopImpl(ui_state, TextPadding, text_padding) } internal F32 ui_pop_text_padding(void) { UI_StackPopImpl(ui_state, TextPadding, text_padding) }
internal UI_TextAlign ui_pop_text_alignment(void) { UI_StackPopImpl(ui_state, TextAlignment, text_alignment) } internal UI_TextAlign ui_pop_text_alignment(void) { UI_StackPopImpl(ui_state, TextAlignment, text_alignment) }
internal UI_Box * ui_set_next_parent(UI_Box * v) { UI_StackSetNextImpl(ui_state, Parent, parent, UI_Box *, v) } internal UI_Box * ui_set_next_parent(UI_Box * v) { UI_StackSetNextImpl(ui_state, Parent, parent, UI_Box *, v) }
internal Axis2 ui_set_next_child_layout_axis(Axis2 v) { UI_StackSetNextImpl(ui_state, ChildLayoutAxis, child_layout_axis, Axis2, v) } internal Axis2 ui_set_next_child_layout_axis(Axis2 v) { UI_StackSetNextImpl(ui_state, ChildLayoutAxis, child_layout_axis, Axis2, v) }
internal F32 ui_set_next_fixed_x(F32 v) { UI_StackSetNextImpl(ui_state, FixedX, fixed_x, F32, v) } internal F32 ui_set_next_fixed_x(F32 v) { UI_StackSetNextImpl(ui_state, FixedX, fixed_x, F32, v) }
internal F32 ui_set_next_fixed_y(F32 v) { UI_StackSetNextImpl(ui_state, FixedY, fixed_y, F32, v) } internal F32 ui_set_next_fixed_y(F32 v) { UI_StackSetNextImpl(ui_state, FixedY, fixed_y, F32, v) }
internal F32 ui_set_next_fixed_width(F32 v) { UI_StackSetNextImpl(ui_state, FixedWidth, fixed_width, F32, v) } internal F32 ui_set_next_fixed_width(F32 v) { UI_StackSetNextImpl(ui_state, FixedWidth, fixed_width, F32, v) }
internal F32 ui_set_next_fixed_height(F32 v) { UI_StackSetNextImpl(ui_state, FixedHeight, fixed_height, F32, v) } internal F32 ui_set_next_fixed_height(F32 v) { UI_StackSetNextImpl(ui_state, FixedHeight, fixed_height, F32, v) }
internal UI_Size ui_set_next_pref_width(UI_Size v) { UI_StackSetNextImpl(ui_state, PrefWidth, pref_width, UI_Size, v) } internal UI_Size ui_set_next_pref_width(UI_Size v) { UI_StackSetNextImpl(ui_state, PrefWidth, pref_width, UI_Size, v) }
internal UI_Size ui_set_next_pref_height(UI_Size v) { UI_StackSetNextImpl(ui_state, PrefHeight, pref_height, UI_Size, v) } internal UI_Size ui_set_next_pref_height(UI_Size v) { UI_StackSetNextImpl(ui_state, PrefHeight, pref_height, UI_Size, v) }
internal F32 ui_set_next_min_width(F32 v) { UI_StackSetNextImpl(ui_state, MinWidth, min_width, F32, v) } internal F32 ui_set_next_min_width(F32 v) { UI_StackSetNextImpl(ui_state, MinWidth, min_width, F32, v) }
internal F32 ui_set_next_min_height(F32 v) { UI_StackSetNextImpl(ui_state, MinHeight, min_height, F32, v) } internal F32 ui_set_next_min_height(F32 v) { UI_StackSetNextImpl(ui_state, MinHeight, min_height, F32, v) }
internal UI_PermissionFlags ui_set_next_permission_flags(UI_PermissionFlags v) { UI_StackSetNextImpl(ui_state, PermissionFlags, permission_flags, UI_PermissionFlags, v) } internal UI_PermissionFlags ui_set_next_permission_flags(UI_PermissionFlags v) { UI_StackSetNextImpl(ui_state, PermissionFlags, permission_flags, UI_PermissionFlags, v) }
internal UI_BoxFlags ui_set_next_flags(UI_BoxFlags v) { UI_StackSetNextImpl(ui_state, Flags, flags, UI_BoxFlags, v) } internal UI_BoxFlags ui_set_next_flags(UI_BoxFlags v) { UI_StackSetNextImpl(ui_state, Flags, flags, UI_BoxFlags, v) }
internal UI_BoxFlags ui_set_next_omit_flags(UI_BoxFlags v) { UI_StackSetNextImpl(ui_state, OmitFlags, omit_flags, UI_BoxFlags, v) } internal UI_BoxFlags ui_set_next_omit_flags(UI_BoxFlags v) { UI_StackSetNextImpl(ui_state, OmitFlags, omit_flags, UI_BoxFlags, v) }
internal UI_FocusKind ui_set_next_focus_hot(UI_FocusKind v) { UI_StackSetNextImpl(ui_state, FocusHot, focus_hot, UI_FocusKind, v) } internal UI_FocusKind ui_set_next_focus_hot(UI_FocusKind v) { UI_StackSetNextImpl(ui_state, FocusHot, focus_hot, UI_FocusKind, v) }
internal UI_FocusKind ui_set_next_focus_active(UI_FocusKind v) { UI_StackSetNextImpl(ui_state, FocusActive, focus_active, UI_FocusKind, v) } internal UI_FocusKind ui_set_next_focus_active(UI_FocusKind v) { UI_StackSetNextImpl(ui_state, FocusActive, focus_active, UI_FocusKind, v) }
internal U32 ui_set_next_fastpath_codepoint(U32 v) { UI_StackSetNextImpl(ui_state, FastpathCodepoint, fastpath_codepoint, U32, v) } internal U32 ui_set_next_fastpath_codepoint(U32 v) { UI_StackSetNextImpl(ui_state, FastpathCodepoint, fastpath_codepoint, U32, v) }
internal UI_Key ui_set_next_group_key(UI_Key v) { UI_StackSetNextImpl(ui_state, GroupKey, group_key, UI_Key, v) } internal UI_Key ui_set_next_group_key(UI_Key v) { UI_StackSetNextImpl(ui_state, GroupKey, group_key, UI_Key, v) }
internal F32 ui_set_next_transparency(F32 v) { UI_StackSetNextImpl(ui_state, Transparency, transparency, F32, v) } internal F32 ui_set_next_transparency(F32 v) { UI_StackSetNextImpl(ui_state, Transparency, transparency, F32, v) }
internal Vec4F32 ui_set_next_background_color(Vec4F32 v) { UI_StackSetNextImpl(ui_state, BackgroundColor, background_color, Vec4F32, v) } internal Vec4F32 ui_set_next_background_color(Vec4F32 v) { UI_StackSetNextImpl(ui_state, BackgroundColor, background_color, Vec4F32, v) }
internal Vec4F32 ui_set_next_text_color(Vec4F32 v) { UI_StackSetNextImpl(ui_state, TextColor, text_color, Vec4F32, v) } internal Vec4F32 ui_set_next_text_color(Vec4F32 v) { UI_StackSetNextImpl(ui_state, TextColor, text_color, Vec4F32, v) }
internal Vec4F32 ui_set_next_border_color(Vec4F32 v) { UI_StackSetNextImpl(ui_state, BorderColor, border_color, Vec4F32, v) } internal Vec4F32 ui_set_next_border_color(Vec4F32 v) { UI_StackSetNextImpl(ui_state, BorderColor, border_color, Vec4F32, v) }
internal F32 ui_set_next_squish(F32 v) { UI_StackSetNextImpl(ui_state, Squish, squish, F32, v) } internal F32 ui_set_next_squish(F32 v) { UI_StackSetNextImpl(ui_state, Squish, squish, F32, v) }
internal WM_Cursor ui_set_next_hover_cursor(WM_Cursor v) { UI_StackSetNextImpl(ui_state, HoverCursor, hover_cursor, WM_Cursor, v) } internal WM_Cursor ui_set_next_hover_cursor(WM_Cursor v) { UI_StackSetNextImpl(ui_state, HoverCursor, hover_cursor, WM_Cursor, v) }
internal FNT_Tag ui_set_next_font(FNT_Tag v) { UI_StackSetNextImpl(ui_state, Font, font, FNT_Tag, v) } internal FNT_Tag ui_set_next_font(FNT_Tag v) { UI_StackSetNextImpl(ui_state, Font, font, FNT_Tag, v) }
internal F32 ui_set_next_font_size(F32 v) { UI_StackSetNextImpl(ui_state, FontSize, font_size, F32, v) } internal F32 ui_set_next_font_size(F32 v) { UI_StackSetNextImpl(ui_state, FontSize, font_size, F32, v) }
internal FNT_RasterFlags ui_set_next_text_raster_flags(FNT_RasterFlags v) { UI_StackSetNextImpl(ui_state, TextRasterFlags, text_raster_flags, FNT_RasterFlags, v) } internal FNT_RasterFlags ui_set_next_text_raster_flags(FNT_RasterFlags v) { UI_StackSetNextImpl(ui_state, TextRasterFlags, text_raster_flags, FNT_RasterFlags, v) }
internal F32 ui_set_next_tab_size(F32 v) { UI_StackSetNextImpl(ui_state, TabSize, tab_size, F32, v) } internal F32 ui_set_next_tab_size(F32 v) { UI_StackSetNextImpl(ui_state, TabSize, tab_size, F32, v) }
internal F32 ui_set_next_corner_radius_00(F32 v) { UI_StackSetNextImpl(ui_state, CornerRadius00, corner_radius_00, F32, v) } internal F32 ui_set_next_corner_radius_00(F32 v) { UI_StackSetNextImpl(ui_state, CornerRadius00, corner_radius_00, F32, v) }
internal F32 ui_set_next_corner_radius_01(F32 v) { UI_StackSetNextImpl(ui_state, CornerRadius01, corner_radius_01, F32, v) } internal F32 ui_set_next_corner_radius_01(F32 v) { UI_StackSetNextImpl(ui_state, CornerRadius01, corner_radius_01, F32, v) }
internal F32 ui_set_next_corner_radius_10(F32 v) { UI_StackSetNextImpl(ui_state, CornerRadius10, corner_radius_10, F32, v) } internal F32 ui_set_next_corner_radius_10(F32 v) { UI_StackSetNextImpl(ui_state, CornerRadius10, corner_radius_10, F32, v) }
internal F32 ui_set_next_corner_radius_11(F32 v) { UI_StackSetNextImpl(ui_state, CornerRadius11, corner_radius_11, F32, v) } internal F32 ui_set_next_corner_radius_11(F32 v) { UI_StackSetNextImpl(ui_state, CornerRadius11, corner_radius_11, F32, v) }
internal F32 ui_set_next_blur_size(F32 v) { UI_StackSetNextImpl(ui_state, BlurSize, blur_size, F32, v) } internal F32 ui_set_next_blur_size(F32 v) { UI_StackSetNextImpl(ui_state, BlurSize, blur_size, F32, v) }
internal F32 ui_set_next_text_padding(F32 v) { UI_StackSetNextImpl(ui_state, TextPadding, text_padding, F32, v) } internal F32 ui_set_next_text_padding(F32 v) { UI_StackSetNextImpl(ui_state, TextPadding, text_padding, F32, v) }
internal UI_TextAlign ui_set_next_text_alignment(UI_TextAlign v) { UI_StackSetNextImpl(ui_state, TextAlignment, text_alignment, UI_TextAlign, v) } internal UI_TextAlign ui_set_next_text_alignment(UI_TextAlign v) { UI_StackSetNextImpl(ui_state, TextAlignment, text_alignment, UI_TextAlign, v) }
+408 -408
View File
@@ -1,408 +1,408 @@
// Copyright (c) Epic Games Tools // Copyright (c) Epic Games Tools
// Licensed under the MIT license (https://opensource.org/license/mit/) // Licensed under the MIT license (https://opensource.org/license/mit/)
//- GENERATED CODE //- GENERATED CODE
#ifndef UI_META_H #ifndef UI_META_H
#define UI_META_H #define UI_META_H
typedef struct UI_ParentNode UI_ParentNode; struct UI_ParentNode{UI_ParentNode *next; UI_Box * v;}; typedef struct UI_ParentNode UI_ParentNode; struct UI_ParentNode{UI_ParentNode *next; UI_Box * v;};
typedef struct UI_ChildLayoutAxisNode UI_ChildLayoutAxisNode; struct UI_ChildLayoutAxisNode{UI_ChildLayoutAxisNode *next; Axis2 v;}; typedef struct UI_ChildLayoutAxisNode UI_ChildLayoutAxisNode; struct UI_ChildLayoutAxisNode{UI_ChildLayoutAxisNode *next; Axis2 v;};
typedef struct UI_FixedXNode UI_FixedXNode; struct UI_FixedXNode{UI_FixedXNode *next; F32 v;}; typedef struct UI_FixedXNode UI_FixedXNode; struct UI_FixedXNode{UI_FixedXNode *next; F32 v;};
typedef struct UI_FixedYNode UI_FixedYNode; struct UI_FixedYNode{UI_FixedYNode *next; F32 v;}; typedef struct UI_FixedYNode UI_FixedYNode; struct UI_FixedYNode{UI_FixedYNode *next; F32 v;};
typedef struct UI_FixedWidthNode UI_FixedWidthNode; struct UI_FixedWidthNode{UI_FixedWidthNode *next; F32 v;}; typedef struct UI_FixedWidthNode UI_FixedWidthNode; struct UI_FixedWidthNode{UI_FixedWidthNode *next; F32 v;};
typedef struct UI_FixedHeightNode UI_FixedHeightNode; struct UI_FixedHeightNode{UI_FixedHeightNode *next; F32 v;}; typedef struct UI_FixedHeightNode UI_FixedHeightNode; struct UI_FixedHeightNode{UI_FixedHeightNode *next; F32 v;};
typedef struct UI_PrefWidthNode UI_PrefWidthNode; struct UI_PrefWidthNode{UI_PrefWidthNode *next; UI_Size v;}; typedef struct UI_PrefWidthNode UI_PrefWidthNode; struct UI_PrefWidthNode{UI_PrefWidthNode *next; UI_Size v;};
typedef struct UI_PrefHeightNode UI_PrefHeightNode; struct UI_PrefHeightNode{UI_PrefHeightNode *next; UI_Size v;}; typedef struct UI_PrefHeightNode UI_PrefHeightNode; struct UI_PrefHeightNode{UI_PrefHeightNode *next; UI_Size v;};
typedef struct UI_MinWidthNode UI_MinWidthNode; struct UI_MinWidthNode{UI_MinWidthNode *next; F32 v;}; typedef struct UI_MinWidthNode UI_MinWidthNode; struct UI_MinWidthNode{UI_MinWidthNode *next; F32 v;};
typedef struct UI_MinHeightNode UI_MinHeightNode; struct UI_MinHeightNode{UI_MinHeightNode *next; F32 v;}; typedef struct UI_MinHeightNode UI_MinHeightNode; struct UI_MinHeightNode{UI_MinHeightNode *next; F32 v;};
typedef struct UI_PermissionFlagsNode UI_PermissionFlagsNode; struct UI_PermissionFlagsNode{UI_PermissionFlagsNode *next; UI_PermissionFlags v;}; typedef struct UI_PermissionFlagsNode UI_PermissionFlagsNode; struct UI_PermissionFlagsNode{UI_PermissionFlagsNode *next; UI_PermissionFlags v;};
typedef struct UI_FlagsNode UI_FlagsNode; struct UI_FlagsNode{UI_FlagsNode *next; UI_BoxFlags v;}; typedef struct UI_FlagsNode UI_FlagsNode; struct UI_FlagsNode{UI_FlagsNode *next; UI_BoxFlags v;};
typedef struct UI_OmitFlagsNode UI_OmitFlagsNode; struct UI_OmitFlagsNode{UI_OmitFlagsNode *next; UI_BoxFlags v;}; typedef struct UI_OmitFlagsNode UI_OmitFlagsNode; struct UI_OmitFlagsNode{UI_OmitFlagsNode *next; UI_BoxFlags v;};
typedef struct UI_FocusHotNode UI_FocusHotNode; struct UI_FocusHotNode{UI_FocusHotNode *next; UI_FocusKind v;}; typedef struct UI_FocusHotNode UI_FocusHotNode; struct UI_FocusHotNode{UI_FocusHotNode *next; UI_FocusKind v;};
typedef struct UI_FocusActiveNode UI_FocusActiveNode; struct UI_FocusActiveNode{UI_FocusActiveNode *next; UI_FocusKind v;}; typedef struct UI_FocusActiveNode UI_FocusActiveNode; struct UI_FocusActiveNode{UI_FocusActiveNode *next; UI_FocusKind v;};
typedef struct UI_FastpathCodepointNode UI_FastpathCodepointNode; struct UI_FastpathCodepointNode{UI_FastpathCodepointNode *next; U32 v;}; typedef struct UI_FastpathCodepointNode UI_FastpathCodepointNode; struct UI_FastpathCodepointNode{UI_FastpathCodepointNode *next; U32 v;};
typedef struct UI_GroupKeyNode UI_GroupKeyNode; struct UI_GroupKeyNode{UI_GroupKeyNode *next; UI_Key v;}; typedef struct UI_GroupKeyNode UI_GroupKeyNode; struct UI_GroupKeyNode{UI_GroupKeyNode *next; UI_Key v;};
typedef struct UI_TransparencyNode UI_TransparencyNode; struct UI_TransparencyNode{UI_TransparencyNode *next; F32 v;}; typedef struct UI_TransparencyNode UI_TransparencyNode; struct UI_TransparencyNode{UI_TransparencyNode *next; F32 v;};
typedef struct UI_TagNode UI_TagNode; struct UI_TagNode{UI_TagNode *next; String8 v;}; typedef struct UI_TagNode UI_TagNode; struct UI_TagNode{UI_TagNode *next; String8 v;};
typedef struct UI_BackgroundColorNode UI_BackgroundColorNode; struct UI_BackgroundColorNode{UI_BackgroundColorNode *next; Vec4F32 v;}; typedef struct UI_BackgroundColorNode UI_BackgroundColorNode; struct UI_BackgroundColorNode{UI_BackgroundColorNode *next; Vec4F32 v;};
typedef struct UI_TextColorNode UI_TextColorNode; struct UI_TextColorNode{UI_TextColorNode *next; Vec4F32 v;}; typedef struct UI_TextColorNode UI_TextColorNode; struct UI_TextColorNode{UI_TextColorNode *next; Vec4F32 v;};
typedef struct UI_BorderColorNode UI_BorderColorNode; struct UI_BorderColorNode{UI_BorderColorNode *next; Vec4F32 v;}; typedef struct UI_BorderColorNode UI_BorderColorNode; struct UI_BorderColorNode{UI_BorderColorNode *next; Vec4F32 v;};
typedef struct UI_SquishNode UI_SquishNode; struct UI_SquishNode{UI_SquishNode *next; F32 v;}; typedef struct UI_SquishNode UI_SquishNode; struct UI_SquishNode{UI_SquishNode *next; F32 v;};
typedef struct UI_HoverCursorNode UI_HoverCursorNode; struct UI_HoverCursorNode{UI_HoverCursorNode *next; WM_Cursor v;}; typedef struct UI_HoverCursorNode UI_HoverCursorNode; struct UI_HoverCursorNode{UI_HoverCursorNode *next; WM_Cursor v;};
typedef struct UI_FontNode UI_FontNode; struct UI_FontNode{UI_FontNode *next; FNT_Tag v;}; typedef struct UI_FontNode UI_FontNode; struct UI_FontNode{UI_FontNode *next; FNT_Tag v;};
typedef struct UI_FontSizeNode UI_FontSizeNode; struct UI_FontSizeNode{UI_FontSizeNode *next; F32 v;}; typedef struct UI_FontSizeNode UI_FontSizeNode; struct UI_FontSizeNode{UI_FontSizeNode *next; F32 v;};
typedef struct UI_TextRasterFlagsNode UI_TextRasterFlagsNode; struct UI_TextRasterFlagsNode{UI_TextRasterFlagsNode *next; FNT_RasterFlags v;}; typedef struct UI_TextRasterFlagsNode UI_TextRasterFlagsNode; struct UI_TextRasterFlagsNode{UI_TextRasterFlagsNode *next; FNT_RasterFlags v;};
typedef struct UI_TabSizeNode UI_TabSizeNode; struct UI_TabSizeNode{UI_TabSizeNode *next; F32 v;}; typedef struct UI_TabSizeNode UI_TabSizeNode; struct UI_TabSizeNode{UI_TabSizeNode *next; F32 v;};
typedef struct UI_CornerRadius00Node UI_CornerRadius00Node; struct UI_CornerRadius00Node{UI_CornerRadius00Node *next; F32 v;}; typedef struct UI_CornerRadius00Node UI_CornerRadius00Node; struct UI_CornerRadius00Node{UI_CornerRadius00Node *next; F32 v;};
typedef struct UI_CornerRadius01Node UI_CornerRadius01Node; struct UI_CornerRadius01Node{UI_CornerRadius01Node *next; F32 v;}; typedef struct UI_CornerRadius01Node UI_CornerRadius01Node; struct UI_CornerRadius01Node{UI_CornerRadius01Node *next; F32 v;};
typedef struct UI_CornerRadius10Node UI_CornerRadius10Node; struct UI_CornerRadius10Node{UI_CornerRadius10Node *next; F32 v;}; typedef struct UI_CornerRadius10Node UI_CornerRadius10Node; struct UI_CornerRadius10Node{UI_CornerRadius10Node *next; F32 v;};
typedef struct UI_CornerRadius11Node UI_CornerRadius11Node; struct UI_CornerRadius11Node{UI_CornerRadius11Node *next; F32 v;}; typedef struct UI_CornerRadius11Node UI_CornerRadius11Node; struct UI_CornerRadius11Node{UI_CornerRadius11Node *next; F32 v;};
typedef struct UI_BlurSizeNode UI_BlurSizeNode; struct UI_BlurSizeNode{UI_BlurSizeNode *next; F32 v;}; typedef struct UI_BlurSizeNode UI_BlurSizeNode; struct UI_BlurSizeNode{UI_BlurSizeNode *next; F32 v;};
typedef struct UI_TextPaddingNode UI_TextPaddingNode; struct UI_TextPaddingNode{UI_TextPaddingNode *next; F32 v;}; typedef struct UI_TextPaddingNode UI_TextPaddingNode; struct UI_TextPaddingNode{UI_TextPaddingNode *next; F32 v;};
typedef struct UI_TextAlignmentNode UI_TextAlignmentNode; struct UI_TextAlignmentNode{UI_TextAlignmentNode *next; UI_TextAlign v;}; typedef struct UI_TextAlignmentNode UI_TextAlignmentNode; struct UI_TextAlignmentNode{UI_TextAlignmentNode *next; UI_TextAlign v;};
#define UI_DeclStackNils \ #define UI_DeclStackNils \
struct\ struct\
{\ {\
UI_ParentNode parent_nil_stack_top;\ UI_ParentNode parent_nil_stack_top;\
UI_ChildLayoutAxisNode child_layout_axis_nil_stack_top;\ UI_ChildLayoutAxisNode child_layout_axis_nil_stack_top;\
UI_FixedXNode fixed_x_nil_stack_top;\ UI_FixedXNode fixed_x_nil_stack_top;\
UI_FixedYNode fixed_y_nil_stack_top;\ UI_FixedYNode fixed_y_nil_stack_top;\
UI_FixedWidthNode fixed_width_nil_stack_top;\ UI_FixedWidthNode fixed_width_nil_stack_top;\
UI_FixedHeightNode fixed_height_nil_stack_top;\ UI_FixedHeightNode fixed_height_nil_stack_top;\
UI_PrefWidthNode pref_width_nil_stack_top;\ UI_PrefWidthNode pref_width_nil_stack_top;\
UI_PrefHeightNode pref_height_nil_stack_top;\ UI_PrefHeightNode pref_height_nil_stack_top;\
UI_MinWidthNode min_width_nil_stack_top;\ UI_MinWidthNode min_width_nil_stack_top;\
UI_MinHeightNode min_height_nil_stack_top;\ UI_MinHeightNode min_height_nil_stack_top;\
UI_PermissionFlagsNode permission_flags_nil_stack_top;\ UI_PermissionFlagsNode permission_flags_nil_stack_top;\
UI_FlagsNode flags_nil_stack_top;\ UI_FlagsNode flags_nil_stack_top;\
UI_OmitFlagsNode omit_flags_nil_stack_top;\ UI_OmitFlagsNode omit_flags_nil_stack_top;\
UI_FocusHotNode focus_hot_nil_stack_top;\ UI_FocusHotNode focus_hot_nil_stack_top;\
UI_FocusActiveNode focus_active_nil_stack_top;\ UI_FocusActiveNode focus_active_nil_stack_top;\
UI_FastpathCodepointNode fastpath_codepoint_nil_stack_top;\ UI_FastpathCodepointNode fastpath_codepoint_nil_stack_top;\
UI_GroupKeyNode group_key_nil_stack_top;\ UI_GroupKeyNode group_key_nil_stack_top;\
UI_TransparencyNode transparency_nil_stack_top;\ UI_TransparencyNode transparency_nil_stack_top;\
UI_TagNode tag_nil_stack_top;\ UI_TagNode tag_nil_stack_top;\
UI_BackgroundColorNode background_color_nil_stack_top;\ UI_BackgroundColorNode background_color_nil_stack_top;\
UI_TextColorNode text_color_nil_stack_top;\ UI_TextColorNode text_color_nil_stack_top;\
UI_BorderColorNode border_color_nil_stack_top;\ UI_BorderColorNode border_color_nil_stack_top;\
UI_SquishNode squish_nil_stack_top;\ UI_SquishNode squish_nil_stack_top;\
UI_HoverCursorNode hover_cursor_nil_stack_top;\ UI_HoverCursorNode hover_cursor_nil_stack_top;\
UI_FontNode font_nil_stack_top;\ UI_FontNode font_nil_stack_top;\
UI_FontSizeNode font_size_nil_stack_top;\ UI_FontSizeNode font_size_nil_stack_top;\
UI_TextRasterFlagsNode text_raster_flags_nil_stack_top;\ UI_TextRasterFlagsNode text_raster_flags_nil_stack_top;\
UI_TabSizeNode tab_size_nil_stack_top;\ UI_TabSizeNode tab_size_nil_stack_top;\
UI_CornerRadius00Node corner_radius_00_nil_stack_top;\ UI_CornerRadius00Node corner_radius_00_nil_stack_top;\
UI_CornerRadius01Node corner_radius_01_nil_stack_top;\ UI_CornerRadius01Node corner_radius_01_nil_stack_top;\
UI_CornerRadius10Node corner_radius_10_nil_stack_top;\ UI_CornerRadius10Node corner_radius_10_nil_stack_top;\
UI_CornerRadius11Node corner_radius_11_nil_stack_top;\ UI_CornerRadius11Node corner_radius_11_nil_stack_top;\
UI_BlurSizeNode blur_size_nil_stack_top;\ UI_BlurSizeNode blur_size_nil_stack_top;\
UI_TextPaddingNode text_padding_nil_stack_top;\ UI_TextPaddingNode text_padding_nil_stack_top;\
UI_TextAlignmentNode text_alignment_nil_stack_top;\ UI_TextAlignmentNode text_alignment_nil_stack_top;\
} }
#define UI_InitStackNils(state) \ #define UI_InitStackNils(state) \
state->parent_nil_stack_top.v = &ui_nil_box;\ state->parent_nil_stack_top.v = &ui_nil_box;\
state->child_layout_axis_nil_stack_top.v = Axis2_X;\ state->child_layout_axis_nil_stack_top.v = Axis2_X;\
state->fixed_x_nil_stack_top.v = 0;\ state->fixed_x_nil_stack_top.v = 0;\
state->fixed_y_nil_stack_top.v = 0;\ state->fixed_y_nil_stack_top.v = 0;\
state->fixed_width_nil_stack_top.v = 0;\ state->fixed_width_nil_stack_top.v = 0;\
state->fixed_height_nil_stack_top.v = 0;\ state->fixed_height_nil_stack_top.v = 0;\
state->pref_width_nil_stack_top.v = ui_px(250.f, 1.f);\ state->pref_width_nil_stack_top.v = ui_px(250.f, 1.f);\
state->pref_height_nil_stack_top.v = ui_px(30.f, 1.f);\ state->pref_height_nil_stack_top.v = ui_px(30.f, 1.f);\
state->min_width_nil_stack_top.v = 0;\ state->min_width_nil_stack_top.v = 0;\
state->min_height_nil_stack_top.v = 0;\ state->min_height_nil_stack_top.v = 0;\
state->permission_flags_nil_stack_top.v = UI_PermissionFlag_All;\ state->permission_flags_nil_stack_top.v = UI_PermissionFlag_All;\
state->flags_nil_stack_top.v = 0;\ state->flags_nil_stack_top.v = 0;\
state->omit_flags_nil_stack_top.v = 0;\ state->omit_flags_nil_stack_top.v = 0;\
state->focus_hot_nil_stack_top.v = UI_FocusKind_Null;\ state->focus_hot_nil_stack_top.v = UI_FocusKind_Null;\
state->focus_active_nil_stack_top.v = UI_FocusKind_Null;\ state->focus_active_nil_stack_top.v = UI_FocusKind_Null;\
state->fastpath_codepoint_nil_stack_top.v = 0;\ state->fastpath_codepoint_nil_stack_top.v = 0;\
state->group_key_nil_stack_top.v = ui_key_zero();\ state->group_key_nil_stack_top.v = ui_key_zero();\
state->transparency_nil_stack_top.v = 0;\ state->transparency_nil_stack_top.v = 0;\
state->tag_nil_stack_top.v = str8_lit("");\ state->tag_nil_stack_top.v = str8_lit("");\
state->background_color_nil_stack_top.v = v4f32(0, 0, 0, 0);\ state->background_color_nil_stack_top.v = v4f32(0, 0, 0, 0);\
state->text_color_nil_stack_top.v = v4f32(0, 0, 0, 0);\ state->text_color_nil_stack_top.v = v4f32(0, 0, 0, 0);\
state->border_color_nil_stack_top.v = v4f32(0, 0, 0, 0);\ state->border_color_nil_stack_top.v = v4f32(0, 0, 0, 0);\
state->squish_nil_stack_top.v = 0;\ state->squish_nil_stack_top.v = 0;\
state->hover_cursor_nil_stack_top.v = WM_Cursor_Pointer;\ state->hover_cursor_nil_stack_top.v = WM_Cursor_Pointer;\
state->font_nil_stack_top.v = fnt_tag_zero();\ state->font_nil_stack_top.v = fnt_tag_zero();\
state->font_size_nil_stack_top.v = 24.f;\ state->font_size_nil_stack_top.v = 24.f;\
state->text_raster_flags_nil_stack_top.v = FNT_RasterFlag_Hinted;\ state->text_raster_flags_nil_stack_top.v = FNT_RasterFlag_Hinted;\
state->tab_size_nil_stack_top.v = 24.f*4.f;\ state->tab_size_nil_stack_top.v = 24.f*4.f;\
state->corner_radius_00_nil_stack_top.v = 0;\ state->corner_radius_00_nil_stack_top.v = 0;\
state->corner_radius_01_nil_stack_top.v = 0;\ state->corner_radius_01_nil_stack_top.v = 0;\
state->corner_radius_10_nil_stack_top.v = 0;\ state->corner_radius_10_nil_stack_top.v = 0;\
state->corner_radius_11_nil_stack_top.v = 0;\ state->corner_radius_11_nil_stack_top.v = 0;\
state->blur_size_nil_stack_top.v = 0;\ state->blur_size_nil_stack_top.v = 0;\
state->text_padding_nil_stack_top.v = 0;\ state->text_padding_nil_stack_top.v = 0;\
state->text_alignment_nil_stack_top.v = UI_TextAlign_Left;\ state->text_alignment_nil_stack_top.v = UI_TextAlign_Left;\
#define UI_DeclStacks \ #define UI_DeclStacks \
struct\ struct\
{\ {\
struct { UI_ParentNode *top; UI_Box * bottom_val; UI_ParentNode *free; U64 gen; B32 auto_pop; } parent_stack;\ struct { UI_ParentNode *top; UI_Box * bottom_val; UI_ParentNode *free; U64 gen; B32 auto_pop; } parent_stack;\
struct { UI_ChildLayoutAxisNode *top; Axis2 bottom_val; UI_ChildLayoutAxisNode *free; U64 gen; B32 auto_pop; } child_layout_axis_stack;\ struct { UI_ChildLayoutAxisNode *top; Axis2 bottom_val; UI_ChildLayoutAxisNode *free; U64 gen; B32 auto_pop; } child_layout_axis_stack;\
struct { UI_FixedXNode *top; F32 bottom_val; UI_FixedXNode *free; U64 gen; B32 auto_pop; } fixed_x_stack;\ struct { UI_FixedXNode *top; F32 bottom_val; UI_FixedXNode *free; U64 gen; B32 auto_pop; } fixed_x_stack;\
struct { UI_FixedYNode *top; F32 bottom_val; UI_FixedYNode *free; U64 gen; B32 auto_pop; } fixed_y_stack;\ struct { UI_FixedYNode *top; F32 bottom_val; UI_FixedYNode *free; U64 gen; B32 auto_pop; } fixed_y_stack;\
struct { UI_FixedWidthNode *top; F32 bottom_val; UI_FixedWidthNode *free; U64 gen; B32 auto_pop; } fixed_width_stack;\ struct { UI_FixedWidthNode *top; F32 bottom_val; UI_FixedWidthNode *free; U64 gen; B32 auto_pop; } fixed_width_stack;\
struct { UI_FixedHeightNode *top; F32 bottom_val; UI_FixedHeightNode *free; U64 gen; B32 auto_pop; } fixed_height_stack;\ struct { UI_FixedHeightNode *top; F32 bottom_val; UI_FixedHeightNode *free; U64 gen; B32 auto_pop; } fixed_height_stack;\
struct { UI_PrefWidthNode *top; UI_Size bottom_val; UI_PrefWidthNode *free; U64 gen; B32 auto_pop; } pref_width_stack;\ struct { UI_PrefWidthNode *top; UI_Size bottom_val; UI_PrefWidthNode *free; U64 gen; B32 auto_pop; } pref_width_stack;\
struct { UI_PrefHeightNode *top; UI_Size bottom_val; UI_PrefHeightNode *free; U64 gen; B32 auto_pop; } pref_height_stack;\ struct { UI_PrefHeightNode *top; UI_Size bottom_val; UI_PrefHeightNode *free; U64 gen; B32 auto_pop; } pref_height_stack;\
struct { UI_MinWidthNode *top; F32 bottom_val; UI_MinWidthNode *free; U64 gen; B32 auto_pop; } min_width_stack;\ struct { UI_MinWidthNode *top; F32 bottom_val; UI_MinWidthNode *free; U64 gen; B32 auto_pop; } min_width_stack;\
struct { UI_MinHeightNode *top; F32 bottom_val; UI_MinHeightNode *free; U64 gen; B32 auto_pop; } min_height_stack;\ struct { UI_MinHeightNode *top; F32 bottom_val; UI_MinHeightNode *free; U64 gen; B32 auto_pop; } min_height_stack;\
struct { UI_PermissionFlagsNode *top; UI_PermissionFlags bottom_val; UI_PermissionFlagsNode *free; U64 gen; B32 auto_pop; } permission_flags_stack;\ struct { UI_PermissionFlagsNode *top; UI_PermissionFlags bottom_val; UI_PermissionFlagsNode *free; U64 gen; B32 auto_pop; } permission_flags_stack;\
struct { UI_FlagsNode *top; UI_BoxFlags bottom_val; UI_FlagsNode *free; U64 gen; B32 auto_pop; } flags_stack;\ struct { UI_FlagsNode *top; UI_BoxFlags bottom_val; UI_FlagsNode *free; U64 gen; B32 auto_pop; } flags_stack;\
struct { UI_OmitFlagsNode *top; UI_BoxFlags bottom_val; UI_OmitFlagsNode *free; U64 gen; B32 auto_pop; } omit_flags_stack;\ struct { UI_OmitFlagsNode *top; UI_BoxFlags bottom_val; UI_OmitFlagsNode *free; U64 gen; B32 auto_pop; } omit_flags_stack;\
struct { UI_FocusHotNode *top; UI_FocusKind bottom_val; UI_FocusHotNode *free; U64 gen; B32 auto_pop; } focus_hot_stack;\ struct { UI_FocusHotNode *top; UI_FocusKind bottom_val; UI_FocusHotNode *free; U64 gen; B32 auto_pop; } focus_hot_stack;\
struct { UI_FocusActiveNode *top; UI_FocusKind bottom_val; UI_FocusActiveNode *free; U64 gen; B32 auto_pop; } focus_active_stack;\ struct { UI_FocusActiveNode *top; UI_FocusKind bottom_val; UI_FocusActiveNode *free; U64 gen; B32 auto_pop; } focus_active_stack;\
struct { UI_FastpathCodepointNode *top; U32 bottom_val; UI_FastpathCodepointNode *free; U64 gen; B32 auto_pop; } fastpath_codepoint_stack;\ struct { UI_FastpathCodepointNode *top; U32 bottom_val; UI_FastpathCodepointNode *free; U64 gen; B32 auto_pop; } fastpath_codepoint_stack;\
struct { UI_GroupKeyNode *top; UI_Key bottom_val; UI_GroupKeyNode *free; U64 gen; B32 auto_pop; } group_key_stack;\ struct { UI_GroupKeyNode *top; UI_Key bottom_val; UI_GroupKeyNode *free; U64 gen; B32 auto_pop; } group_key_stack;\
struct { UI_TransparencyNode *top; F32 bottom_val; UI_TransparencyNode *free; U64 gen; B32 auto_pop; } transparency_stack;\ struct { UI_TransparencyNode *top; F32 bottom_val; UI_TransparencyNode *free; U64 gen; B32 auto_pop; } transparency_stack;\
struct { UI_TagNode *top; String8 bottom_val; UI_TagNode *free; U64 gen; B32 auto_pop; } tag_stack;\ struct { UI_TagNode *top; String8 bottom_val; UI_TagNode *free; U64 gen; B32 auto_pop; } tag_stack;\
struct { UI_BackgroundColorNode *top; Vec4F32 bottom_val; UI_BackgroundColorNode *free; U64 gen; B32 auto_pop; } background_color_stack;\ struct { UI_BackgroundColorNode *top; Vec4F32 bottom_val; UI_BackgroundColorNode *free; U64 gen; B32 auto_pop; } background_color_stack;\
struct { UI_TextColorNode *top; Vec4F32 bottom_val; UI_TextColorNode *free; U64 gen; B32 auto_pop; } text_color_stack;\ struct { UI_TextColorNode *top; Vec4F32 bottom_val; UI_TextColorNode *free; U64 gen; B32 auto_pop; } text_color_stack;\
struct { UI_BorderColorNode *top; Vec4F32 bottom_val; UI_BorderColorNode *free; U64 gen; B32 auto_pop; } border_color_stack;\ struct { UI_BorderColorNode *top; Vec4F32 bottom_val; UI_BorderColorNode *free; U64 gen; B32 auto_pop; } border_color_stack;\
struct { UI_SquishNode *top; F32 bottom_val; UI_SquishNode *free; U64 gen; B32 auto_pop; } squish_stack;\ struct { UI_SquishNode *top; F32 bottom_val; UI_SquishNode *free; U64 gen; B32 auto_pop; } squish_stack;\
struct { UI_HoverCursorNode *top; WM_Cursor bottom_val; UI_HoverCursorNode *free; U64 gen; B32 auto_pop; } hover_cursor_stack;\ struct { UI_HoverCursorNode *top; WM_Cursor bottom_val; UI_HoverCursorNode *free; U64 gen; B32 auto_pop; } hover_cursor_stack;\
struct { UI_FontNode *top; FNT_Tag bottom_val; UI_FontNode *free; U64 gen; B32 auto_pop; } font_stack;\ struct { UI_FontNode *top; FNT_Tag bottom_val; UI_FontNode *free; U64 gen; B32 auto_pop; } font_stack;\
struct { UI_FontSizeNode *top; F32 bottom_val; UI_FontSizeNode *free; U64 gen; B32 auto_pop; } font_size_stack;\ struct { UI_FontSizeNode *top; F32 bottom_val; UI_FontSizeNode *free; U64 gen; B32 auto_pop; } font_size_stack;\
struct { UI_TextRasterFlagsNode *top; FNT_RasterFlags bottom_val; UI_TextRasterFlagsNode *free; U64 gen; B32 auto_pop; } text_raster_flags_stack;\ struct { UI_TextRasterFlagsNode *top; FNT_RasterFlags bottom_val; UI_TextRasterFlagsNode *free; U64 gen; B32 auto_pop; } text_raster_flags_stack;\
struct { UI_TabSizeNode *top; F32 bottom_val; UI_TabSizeNode *free; U64 gen; B32 auto_pop; } tab_size_stack;\ struct { UI_TabSizeNode *top; F32 bottom_val; UI_TabSizeNode *free; U64 gen; B32 auto_pop; } tab_size_stack;\
struct { UI_CornerRadius00Node *top; F32 bottom_val; UI_CornerRadius00Node *free; U64 gen; B32 auto_pop; } corner_radius_00_stack;\ struct { UI_CornerRadius00Node *top; F32 bottom_val; UI_CornerRadius00Node *free; U64 gen; B32 auto_pop; } corner_radius_00_stack;\
struct { UI_CornerRadius01Node *top; F32 bottom_val; UI_CornerRadius01Node *free; U64 gen; B32 auto_pop; } corner_radius_01_stack;\ struct { UI_CornerRadius01Node *top; F32 bottom_val; UI_CornerRadius01Node *free; U64 gen; B32 auto_pop; } corner_radius_01_stack;\
struct { UI_CornerRadius10Node *top; F32 bottom_val; UI_CornerRadius10Node *free; U64 gen; B32 auto_pop; } corner_radius_10_stack;\ struct { UI_CornerRadius10Node *top; F32 bottom_val; UI_CornerRadius10Node *free; U64 gen; B32 auto_pop; } corner_radius_10_stack;\
struct { UI_CornerRadius11Node *top; F32 bottom_val; UI_CornerRadius11Node *free; U64 gen; B32 auto_pop; } corner_radius_11_stack;\ struct { UI_CornerRadius11Node *top; F32 bottom_val; UI_CornerRadius11Node *free; U64 gen; B32 auto_pop; } corner_radius_11_stack;\
struct { UI_BlurSizeNode *top; F32 bottom_val; UI_BlurSizeNode *free; U64 gen; B32 auto_pop; } blur_size_stack;\ struct { UI_BlurSizeNode *top; F32 bottom_val; UI_BlurSizeNode *free; U64 gen; B32 auto_pop; } blur_size_stack;\
struct { UI_TextPaddingNode *top; F32 bottom_val; UI_TextPaddingNode *free; U64 gen; B32 auto_pop; } text_padding_stack;\ struct { UI_TextPaddingNode *top; F32 bottom_val; UI_TextPaddingNode *free; U64 gen; B32 auto_pop; } text_padding_stack;\
struct { UI_TextAlignmentNode *top; UI_TextAlign bottom_val; UI_TextAlignmentNode *free; U64 gen; B32 auto_pop; } text_alignment_stack;\ struct { UI_TextAlignmentNode *top; UI_TextAlign bottom_val; UI_TextAlignmentNode *free; U64 gen; B32 auto_pop; } text_alignment_stack;\
} }
#define UI_InitStacks(state) \ #define UI_InitStacks(state) \
state->parent_stack.top = &state->parent_nil_stack_top; state->parent_stack.bottom_val = &ui_nil_box; state->parent_stack.free = 0; state->parent_stack.auto_pop = 0;\ state->parent_stack.top = &state->parent_nil_stack_top; state->parent_stack.bottom_val = &ui_nil_box; state->parent_stack.free = 0; state->parent_stack.auto_pop = 0;\
state->child_layout_axis_stack.top = &state->child_layout_axis_nil_stack_top; state->child_layout_axis_stack.bottom_val = Axis2_X; state->child_layout_axis_stack.free = 0; state->child_layout_axis_stack.auto_pop = 0;\ state->child_layout_axis_stack.top = &state->child_layout_axis_nil_stack_top; state->child_layout_axis_stack.bottom_val = Axis2_X; state->child_layout_axis_stack.free = 0; state->child_layout_axis_stack.auto_pop = 0;\
state->fixed_x_stack.top = &state->fixed_x_nil_stack_top; state->fixed_x_stack.bottom_val = 0; state->fixed_x_stack.free = 0; state->fixed_x_stack.auto_pop = 0;\ state->fixed_x_stack.top = &state->fixed_x_nil_stack_top; state->fixed_x_stack.bottom_val = 0; state->fixed_x_stack.free = 0; state->fixed_x_stack.auto_pop = 0;\
state->fixed_y_stack.top = &state->fixed_y_nil_stack_top; state->fixed_y_stack.bottom_val = 0; state->fixed_y_stack.free = 0; state->fixed_y_stack.auto_pop = 0;\ state->fixed_y_stack.top = &state->fixed_y_nil_stack_top; state->fixed_y_stack.bottom_val = 0; state->fixed_y_stack.free = 0; state->fixed_y_stack.auto_pop = 0;\
state->fixed_width_stack.top = &state->fixed_width_nil_stack_top; state->fixed_width_stack.bottom_val = 0; state->fixed_width_stack.free = 0; state->fixed_width_stack.auto_pop = 0;\ state->fixed_width_stack.top = &state->fixed_width_nil_stack_top; state->fixed_width_stack.bottom_val = 0; state->fixed_width_stack.free = 0; state->fixed_width_stack.auto_pop = 0;\
state->fixed_height_stack.top = &state->fixed_height_nil_stack_top; state->fixed_height_stack.bottom_val = 0; state->fixed_height_stack.free = 0; state->fixed_height_stack.auto_pop = 0;\ state->fixed_height_stack.top = &state->fixed_height_nil_stack_top; state->fixed_height_stack.bottom_val = 0; state->fixed_height_stack.free = 0; state->fixed_height_stack.auto_pop = 0;\
state->pref_width_stack.top = &state->pref_width_nil_stack_top; state->pref_width_stack.bottom_val = ui_px(250.f, 1.f); state->pref_width_stack.free = 0; state->pref_width_stack.auto_pop = 0;\ state->pref_width_stack.top = &state->pref_width_nil_stack_top; state->pref_width_stack.bottom_val = ui_px(250.f, 1.f); state->pref_width_stack.free = 0; state->pref_width_stack.auto_pop = 0;\
state->pref_height_stack.top = &state->pref_height_nil_stack_top; state->pref_height_stack.bottom_val = ui_px(30.f, 1.f); state->pref_height_stack.free = 0; state->pref_height_stack.auto_pop = 0;\ state->pref_height_stack.top = &state->pref_height_nil_stack_top; state->pref_height_stack.bottom_val = ui_px(30.f, 1.f); state->pref_height_stack.free = 0; state->pref_height_stack.auto_pop = 0;\
state->min_width_stack.top = &state->min_width_nil_stack_top; state->min_width_stack.bottom_val = 0; state->min_width_stack.free = 0; state->min_width_stack.auto_pop = 0;\ state->min_width_stack.top = &state->min_width_nil_stack_top; state->min_width_stack.bottom_val = 0; state->min_width_stack.free = 0; state->min_width_stack.auto_pop = 0;\
state->min_height_stack.top = &state->min_height_nil_stack_top; state->min_height_stack.bottom_val = 0; state->min_height_stack.free = 0; state->min_height_stack.auto_pop = 0;\ state->min_height_stack.top = &state->min_height_nil_stack_top; state->min_height_stack.bottom_val = 0; state->min_height_stack.free = 0; state->min_height_stack.auto_pop = 0;\
state->permission_flags_stack.top = &state->permission_flags_nil_stack_top; state->permission_flags_stack.bottom_val = UI_PermissionFlag_All; state->permission_flags_stack.free = 0; state->permission_flags_stack.auto_pop = 0;\ state->permission_flags_stack.top = &state->permission_flags_nil_stack_top; state->permission_flags_stack.bottom_val = UI_PermissionFlag_All; state->permission_flags_stack.free = 0; state->permission_flags_stack.auto_pop = 0;\
state->flags_stack.top = &state->flags_nil_stack_top; state->flags_stack.bottom_val = 0; state->flags_stack.free = 0; state->flags_stack.auto_pop = 0;\ state->flags_stack.top = &state->flags_nil_stack_top; state->flags_stack.bottom_val = 0; state->flags_stack.free = 0; state->flags_stack.auto_pop = 0;\
state->omit_flags_stack.top = &state->omit_flags_nil_stack_top; state->omit_flags_stack.bottom_val = 0; state->omit_flags_stack.free = 0; state->omit_flags_stack.auto_pop = 0;\ state->omit_flags_stack.top = &state->omit_flags_nil_stack_top; state->omit_flags_stack.bottom_val = 0; state->omit_flags_stack.free = 0; state->omit_flags_stack.auto_pop = 0;\
state->focus_hot_stack.top = &state->focus_hot_nil_stack_top; state->focus_hot_stack.bottom_val = UI_FocusKind_Null; state->focus_hot_stack.free = 0; state->focus_hot_stack.auto_pop = 0;\ state->focus_hot_stack.top = &state->focus_hot_nil_stack_top; state->focus_hot_stack.bottom_val = UI_FocusKind_Null; state->focus_hot_stack.free = 0; state->focus_hot_stack.auto_pop = 0;\
state->focus_active_stack.top = &state->focus_active_nil_stack_top; state->focus_active_stack.bottom_val = UI_FocusKind_Null; state->focus_active_stack.free = 0; state->focus_active_stack.auto_pop = 0;\ state->focus_active_stack.top = &state->focus_active_nil_stack_top; state->focus_active_stack.bottom_val = UI_FocusKind_Null; state->focus_active_stack.free = 0; state->focus_active_stack.auto_pop = 0;\
state->fastpath_codepoint_stack.top = &state->fastpath_codepoint_nil_stack_top; state->fastpath_codepoint_stack.bottom_val = 0; state->fastpath_codepoint_stack.free = 0; state->fastpath_codepoint_stack.auto_pop = 0;\ state->fastpath_codepoint_stack.top = &state->fastpath_codepoint_nil_stack_top; state->fastpath_codepoint_stack.bottom_val = 0; state->fastpath_codepoint_stack.free = 0; state->fastpath_codepoint_stack.auto_pop = 0;\
state->group_key_stack.top = &state->group_key_nil_stack_top; state->group_key_stack.bottom_val = ui_key_zero(); state->group_key_stack.free = 0; state->group_key_stack.auto_pop = 0;\ state->group_key_stack.top = &state->group_key_nil_stack_top; state->group_key_stack.bottom_val = ui_key_zero(); state->group_key_stack.free = 0; state->group_key_stack.auto_pop = 0;\
state->transparency_stack.top = &state->transparency_nil_stack_top; state->transparency_stack.bottom_val = 0; state->transparency_stack.free = 0; state->transparency_stack.auto_pop = 0;\ state->transparency_stack.top = &state->transparency_nil_stack_top; state->transparency_stack.bottom_val = 0; state->transparency_stack.free = 0; state->transparency_stack.auto_pop = 0;\
state->tag_stack.top = &state->tag_nil_stack_top; state->tag_stack.bottom_val = str8_lit(""); state->tag_stack.free = 0; state->tag_stack.auto_pop = 0;\ state->tag_stack.top = &state->tag_nil_stack_top; state->tag_stack.bottom_val = str8_lit(""); state->tag_stack.free = 0; state->tag_stack.auto_pop = 0;\
state->background_color_stack.top = &state->background_color_nil_stack_top; state->background_color_stack.bottom_val = v4f32(0, 0, 0, 0); state->background_color_stack.free = 0; state->background_color_stack.auto_pop = 0;\ state->background_color_stack.top = &state->background_color_nil_stack_top; state->background_color_stack.bottom_val = v4f32(0, 0, 0, 0); state->background_color_stack.free = 0; state->background_color_stack.auto_pop = 0;\
state->text_color_stack.top = &state->text_color_nil_stack_top; state->text_color_stack.bottom_val = v4f32(0, 0, 0, 0); state->text_color_stack.free = 0; state->text_color_stack.auto_pop = 0;\ state->text_color_stack.top = &state->text_color_nil_stack_top; state->text_color_stack.bottom_val = v4f32(0, 0, 0, 0); state->text_color_stack.free = 0; state->text_color_stack.auto_pop = 0;\
state->border_color_stack.top = &state->border_color_nil_stack_top; state->border_color_stack.bottom_val = v4f32(0, 0, 0, 0); state->border_color_stack.free = 0; state->border_color_stack.auto_pop = 0;\ state->border_color_stack.top = &state->border_color_nil_stack_top; state->border_color_stack.bottom_val = v4f32(0, 0, 0, 0); state->border_color_stack.free = 0; state->border_color_stack.auto_pop = 0;\
state->squish_stack.top = &state->squish_nil_stack_top; state->squish_stack.bottom_val = 0; state->squish_stack.free = 0; state->squish_stack.auto_pop = 0;\ state->squish_stack.top = &state->squish_nil_stack_top; state->squish_stack.bottom_val = 0; state->squish_stack.free = 0; state->squish_stack.auto_pop = 0;\
state->hover_cursor_stack.top = &state->hover_cursor_nil_stack_top; state->hover_cursor_stack.bottom_val = WM_Cursor_Pointer; state->hover_cursor_stack.free = 0; state->hover_cursor_stack.auto_pop = 0;\ state->hover_cursor_stack.top = &state->hover_cursor_nil_stack_top; state->hover_cursor_stack.bottom_val = WM_Cursor_Pointer; state->hover_cursor_stack.free = 0; state->hover_cursor_stack.auto_pop = 0;\
state->font_stack.top = &state->font_nil_stack_top; state->font_stack.bottom_val = fnt_tag_zero(); state->font_stack.free = 0; state->font_stack.auto_pop = 0;\ state->font_stack.top = &state->font_nil_stack_top; state->font_stack.bottom_val = fnt_tag_zero(); state->font_stack.free = 0; state->font_stack.auto_pop = 0;\
state->font_size_stack.top = &state->font_size_nil_stack_top; state->font_size_stack.bottom_val = 24.f; state->font_size_stack.free = 0; state->font_size_stack.auto_pop = 0;\ state->font_size_stack.top = &state->font_size_nil_stack_top; state->font_size_stack.bottom_val = 24.f; state->font_size_stack.free = 0; state->font_size_stack.auto_pop = 0;\
state->text_raster_flags_stack.top = &state->text_raster_flags_nil_stack_top; state->text_raster_flags_stack.bottom_val = FNT_RasterFlag_Hinted; state->text_raster_flags_stack.free = 0; state->text_raster_flags_stack.auto_pop = 0;\ state->text_raster_flags_stack.top = &state->text_raster_flags_nil_stack_top; state->text_raster_flags_stack.bottom_val = FNT_RasterFlag_Hinted; state->text_raster_flags_stack.free = 0; state->text_raster_flags_stack.auto_pop = 0;\
state->tab_size_stack.top = &state->tab_size_nil_stack_top; state->tab_size_stack.bottom_val = 24.f*4.f; state->tab_size_stack.free = 0; state->tab_size_stack.auto_pop = 0;\ state->tab_size_stack.top = &state->tab_size_nil_stack_top; state->tab_size_stack.bottom_val = 24.f*4.f; state->tab_size_stack.free = 0; state->tab_size_stack.auto_pop = 0;\
state->corner_radius_00_stack.top = &state->corner_radius_00_nil_stack_top; state->corner_radius_00_stack.bottom_val = 0; state->corner_radius_00_stack.free = 0; state->corner_radius_00_stack.auto_pop = 0;\ state->corner_radius_00_stack.top = &state->corner_radius_00_nil_stack_top; state->corner_radius_00_stack.bottom_val = 0; state->corner_radius_00_stack.free = 0; state->corner_radius_00_stack.auto_pop = 0;\
state->corner_radius_01_stack.top = &state->corner_radius_01_nil_stack_top; state->corner_radius_01_stack.bottom_val = 0; state->corner_radius_01_stack.free = 0; state->corner_radius_01_stack.auto_pop = 0;\ state->corner_radius_01_stack.top = &state->corner_radius_01_nil_stack_top; state->corner_radius_01_stack.bottom_val = 0; state->corner_radius_01_stack.free = 0; state->corner_radius_01_stack.auto_pop = 0;\
state->corner_radius_10_stack.top = &state->corner_radius_10_nil_stack_top; state->corner_radius_10_stack.bottom_val = 0; state->corner_radius_10_stack.free = 0; state->corner_radius_10_stack.auto_pop = 0;\ state->corner_radius_10_stack.top = &state->corner_radius_10_nil_stack_top; state->corner_radius_10_stack.bottom_val = 0; state->corner_radius_10_stack.free = 0; state->corner_radius_10_stack.auto_pop = 0;\
state->corner_radius_11_stack.top = &state->corner_radius_11_nil_stack_top; state->corner_radius_11_stack.bottom_val = 0; state->corner_radius_11_stack.free = 0; state->corner_radius_11_stack.auto_pop = 0;\ state->corner_radius_11_stack.top = &state->corner_radius_11_nil_stack_top; state->corner_radius_11_stack.bottom_val = 0; state->corner_radius_11_stack.free = 0; state->corner_radius_11_stack.auto_pop = 0;\
state->blur_size_stack.top = &state->blur_size_nil_stack_top; state->blur_size_stack.bottom_val = 0; state->blur_size_stack.free = 0; state->blur_size_stack.auto_pop = 0;\ state->blur_size_stack.top = &state->blur_size_nil_stack_top; state->blur_size_stack.bottom_val = 0; state->blur_size_stack.free = 0; state->blur_size_stack.auto_pop = 0;\
state->text_padding_stack.top = &state->text_padding_nil_stack_top; state->text_padding_stack.bottom_val = 0; state->text_padding_stack.free = 0; state->text_padding_stack.auto_pop = 0;\ state->text_padding_stack.top = &state->text_padding_nil_stack_top; state->text_padding_stack.bottom_val = 0; state->text_padding_stack.free = 0; state->text_padding_stack.auto_pop = 0;\
state->text_alignment_stack.top = &state->text_alignment_nil_stack_top; state->text_alignment_stack.bottom_val = UI_TextAlign_Left; state->text_alignment_stack.free = 0; state->text_alignment_stack.auto_pop = 0;\ state->text_alignment_stack.top = &state->text_alignment_nil_stack_top; state->text_alignment_stack.bottom_val = UI_TextAlign_Left; state->text_alignment_stack.free = 0; state->text_alignment_stack.auto_pop = 0;\
#define UI_AutoPopStacks(state) \ #define UI_AutoPopStacks(state) \
if(state->parent_stack.auto_pop) { ui_pop_parent(); state->parent_stack.auto_pop = 0; }\ if(state->parent_stack.auto_pop) { ui_pop_parent(); state->parent_stack.auto_pop = 0; }\
if(state->child_layout_axis_stack.auto_pop) { ui_pop_child_layout_axis(); state->child_layout_axis_stack.auto_pop = 0; }\ if(state->child_layout_axis_stack.auto_pop) { ui_pop_child_layout_axis(); state->child_layout_axis_stack.auto_pop = 0; }\
if(state->fixed_x_stack.auto_pop) { ui_pop_fixed_x(); state->fixed_x_stack.auto_pop = 0; }\ if(state->fixed_x_stack.auto_pop) { ui_pop_fixed_x(); state->fixed_x_stack.auto_pop = 0; }\
if(state->fixed_y_stack.auto_pop) { ui_pop_fixed_y(); state->fixed_y_stack.auto_pop = 0; }\ if(state->fixed_y_stack.auto_pop) { ui_pop_fixed_y(); state->fixed_y_stack.auto_pop = 0; }\
if(state->fixed_width_stack.auto_pop) { ui_pop_fixed_width(); state->fixed_width_stack.auto_pop = 0; }\ if(state->fixed_width_stack.auto_pop) { ui_pop_fixed_width(); state->fixed_width_stack.auto_pop = 0; }\
if(state->fixed_height_stack.auto_pop) { ui_pop_fixed_height(); state->fixed_height_stack.auto_pop = 0; }\ if(state->fixed_height_stack.auto_pop) { ui_pop_fixed_height(); state->fixed_height_stack.auto_pop = 0; }\
if(state->pref_width_stack.auto_pop) { ui_pop_pref_width(); state->pref_width_stack.auto_pop = 0; }\ if(state->pref_width_stack.auto_pop) { ui_pop_pref_width(); state->pref_width_stack.auto_pop = 0; }\
if(state->pref_height_stack.auto_pop) { ui_pop_pref_height(); state->pref_height_stack.auto_pop = 0; }\ if(state->pref_height_stack.auto_pop) { ui_pop_pref_height(); state->pref_height_stack.auto_pop = 0; }\
if(state->min_width_stack.auto_pop) { ui_pop_min_width(); state->min_width_stack.auto_pop = 0; }\ if(state->min_width_stack.auto_pop) { ui_pop_min_width(); state->min_width_stack.auto_pop = 0; }\
if(state->min_height_stack.auto_pop) { ui_pop_min_height(); state->min_height_stack.auto_pop = 0; }\ if(state->min_height_stack.auto_pop) { ui_pop_min_height(); state->min_height_stack.auto_pop = 0; }\
if(state->permission_flags_stack.auto_pop) { ui_pop_permission_flags(); state->permission_flags_stack.auto_pop = 0; }\ if(state->permission_flags_stack.auto_pop) { ui_pop_permission_flags(); state->permission_flags_stack.auto_pop = 0; }\
if(state->flags_stack.auto_pop) { ui_pop_flags(); state->flags_stack.auto_pop = 0; }\ if(state->flags_stack.auto_pop) { ui_pop_flags(); state->flags_stack.auto_pop = 0; }\
if(state->omit_flags_stack.auto_pop) { ui_pop_omit_flags(); state->omit_flags_stack.auto_pop = 0; }\ if(state->omit_flags_stack.auto_pop) { ui_pop_omit_flags(); state->omit_flags_stack.auto_pop = 0; }\
if(state->focus_hot_stack.auto_pop) { ui_pop_focus_hot(); state->focus_hot_stack.auto_pop = 0; }\ if(state->focus_hot_stack.auto_pop) { ui_pop_focus_hot(); state->focus_hot_stack.auto_pop = 0; }\
if(state->focus_active_stack.auto_pop) { ui_pop_focus_active(); state->focus_active_stack.auto_pop = 0; }\ if(state->focus_active_stack.auto_pop) { ui_pop_focus_active(); state->focus_active_stack.auto_pop = 0; }\
if(state->fastpath_codepoint_stack.auto_pop) { ui_pop_fastpath_codepoint(); state->fastpath_codepoint_stack.auto_pop = 0; }\ if(state->fastpath_codepoint_stack.auto_pop) { ui_pop_fastpath_codepoint(); state->fastpath_codepoint_stack.auto_pop = 0; }\
if(state->group_key_stack.auto_pop) { ui_pop_group_key(); state->group_key_stack.auto_pop = 0; }\ if(state->group_key_stack.auto_pop) { ui_pop_group_key(); state->group_key_stack.auto_pop = 0; }\
if(state->transparency_stack.auto_pop) { ui_pop_transparency(); state->transparency_stack.auto_pop = 0; }\ if(state->transparency_stack.auto_pop) { ui_pop_transparency(); state->transparency_stack.auto_pop = 0; }\
if(state->tag_stack.auto_pop) { ui_pop_tag(); state->tag_stack.auto_pop = 0; }\ if(state->tag_stack.auto_pop) { ui_pop_tag(); state->tag_stack.auto_pop = 0; }\
if(state->background_color_stack.auto_pop) { ui_pop_background_color(); state->background_color_stack.auto_pop = 0; }\ if(state->background_color_stack.auto_pop) { ui_pop_background_color(); state->background_color_stack.auto_pop = 0; }\
if(state->text_color_stack.auto_pop) { ui_pop_text_color(); state->text_color_stack.auto_pop = 0; }\ if(state->text_color_stack.auto_pop) { ui_pop_text_color(); state->text_color_stack.auto_pop = 0; }\
if(state->border_color_stack.auto_pop) { ui_pop_border_color(); state->border_color_stack.auto_pop = 0; }\ if(state->border_color_stack.auto_pop) { ui_pop_border_color(); state->border_color_stack.auto_pop = 0; }\
if(state->squish_stack.auto_pop) { ui_pop_squish(); state->squish_stack.auto_pop = 0; }\ if(state->squish_stack.auto_pop) { ui_pop_squish(); state->squish_stack.auto_pop = 0; }\
if(state->hover_cursor_stack.auto_pop) { ui_pop_hover_cursor(); state->hover_cursor_stack.auto_pop = 0; }\ if(state->hover_cursor_stack.auto_pop) { ui_pop_hover_cursor(); state->hover_cursor_stack.auto_pop = 0; }\
if(state->font_stack.auto_pop) { ui_pop_font(); state->font_stack.auto_pop = 0; }\ if(state->font_stack.auto_pop) { ui_pop_font(); state->font_stack.auto_pop = 0; }\
if(state->font_size_stack.auto_pop) { ui_pop_font_size(); state->font_size_stack.auto_pop = 0; }\ if(state->font_size_stack.auto_pop) { ui_pop_font_size(); state->font_size_stack.auto_pop = 0; }\
if(state->text_raster_flags_stack.auto_pop) { ui_pop_text_raster_flags(); state->text_raster_flags_stack.auto_pop = 0; }\ if(state->text_raster_flags_stack.auto_pop) { ui_pop_text_raster_flags(); state->text_raster_flags_stack.auto_pop = 0; }\
if(state->tab_size_stack.auto_pop) { ui_pop_tab_size(); state->tab_size_stack.auto_pop = 0; }\ if(state->tab_size_stack.auto_pop) { ui_pop_tab_size(); state->tab_size_stack.auto_pop = 0; }\
if(state->corner_radius_00_stack.auto_pop) { ui_pop_corner_radius_00(); state->corner_radius_00_stack.auto_pop = 0; }\ if(state->corner_radius_00_stack.auto_pop) { ui_pop_corner_radius_00(); state->corner_radius_00_stack.auto_pop = 0; }\
if(state->corner_radius_01_stack.auto_pop) { ui_pop_corner_radius_01(); state->corner_radius_01_stack.auto_pop = 0; }\ if(state->corner_radius_01_stack.auto_pop) { ui_pop_corner_radius_01(); state->corner_radius_01_stack.auto_pop = 0; }\
if(state->corner_radius_10_stack.auto_pop) { ui_pop_corner_radius_10(); state->corner_radius_10_stack.auto_pop = 0; }\ if(state->corner_radius_10_stack.auto_pop) { ui_pop_corner_radius_10(); state->corner_radius_10_stack.auto_pop = 0; }\
if(state->corner_radius_11_stack.auto_pop) { ui_pop_corner_radius_11(); state->corner_radius_11_stack.auto_pop = 0; }\ if(state->corner_radius_11_stack.auto_pop) { ui_pop_corner_radius_11(); state->corner_radius_11_stack.auto_pop = 0; }\
if(state->blur_size_stack.auto_pop) { ui_pop_blur_size(); state->blur_size_stack.auto_pop = 0; }\ if(state->blur_size_stack.auto_pop) { ui_pop_blur_size(); state->blur_size_stack.auto_pop = 0; }\
if(state->text_padding_stack.auto_pop) { ui_pop_text_padding(); state->text_padding_stack.auto_pop = 0; }\ if(state->text_padding_stack.auto_pop) { ui_pop_text_padding(); state->text_padding_stack.auto_pop = 0; }\
if(state->text_alignment_stack.auto_pop) { ui_pop_text_alignment(); state->text_alignment_stack.auto_pop = 0; }\ if(state->text_alignment_stack.auto_pop) { ui_pop_text_alignment(); state->text_alignment_stack.auto_pop = 0; }\
internal UI_Box * ui_top_parent(void); internal UI_Box * ui_top_parent(void);
internal Axis2 ui_top_child_layout_axis(void); internal Axis2 ui_top_child_layout_axis(void);
internal F32 ui_top_fixed_x(void); internal F32 ui_top_fixed_x(void);
internal F32 ui_top_fixed_y(void); internal F32 ui_top_fixed_y(void);
internal F32 ui_top_fixed_width(void); internal F32 ui_top_fixed_width(void);
internal F32 ui_top_fixed_height(void); internal F32 ui_top_fixed_height(void);
internal UI_Size ui_top_pref_width(void); internal UI_Size ui_top_pref_width(void);
internal UI_Size ui_top_pref_height(void); internal UI_Size ui_top_pref_height(void);
internal F32 ui_top_min_width(void); internal F32 ui_top_min_width(void);
internal F32 ui_top_min_height(void); internal F32 ui_top_min_height(void);
internal UI_PermissionFlags ui_top_permission_flags(void); internal UI_PermissionFlags ui_top_permission_flags(void);
internal UI_BoxFlags ui_top_flags(void); internal UI_BoxFlags ui_top_flags(void);
internal UI_BoxFlags ui_top_omit_flags(void); internal UI_BoxFlags ui_top_omit_flags(void);
internal UI_FocusKind ui_top_focus_hot(void); internal UI_FocusKind ui_top_focus_hot(void);
internal UI_FocusKind ui_top_focus_active(void); internal UI_FocusKind ui_top_focus_active(void);
internal U32 ui_top_fastpath_codepoint(void); internal U32 ui_top_fastpath_codepoint(void);
internal UI_Key ui_top_group_key(void); internal UI_Key ui_top_group_key(void);
internal F32 ui_top_transparency(void); internal F32 ui_top_transparency(void);
internal String8 ui_top_tag(void); internal String8 ui_top_tag(void);
internal Vec4F32 ui_top_background_color(void); internal Vec4F32 ui_top_background_color(void);
internal Vec4F32 ui_top_text_color(void); internal Vec4F32 ui_top_text_color(void);
internal Vec4F32 ui_top_border_color(void); internal Vec4F32 ui_top_border_color(void);
internal F32 ui_top_squish(void); internal F32 ui_top_squish(void);
internal WM_Cursor ui_top_hover_cursor(void); internal WM_Cursor ui_top_hover_cursor(void);
internal FNT_Tag ui_top_font(void); internal FNT_Tag ui_top_font(void);
internal F32 ui_top_font_size(void); internal F32 ui_top_font_size(void);
internal FNT_RasterFlags ui_top_text_raster_flags(void); internal FNT_RasterFlags ui_top_text_raster_flags(void);
internal F32 ui_top_tab_size(void); internal F32 ui_top_tab_size(void);
internal F32 ui_top_corner_radius_00(void); internal F32 ui_top_corner_radius_00(void);
internal F32 ui_top_corner_radius_01(void); internal F32 ui_top_corner_radius_01(void);
internal F32 ui_top_corner_radius_10(void); internal F32 ui_top_corner_radius_10(void);
internal F32 ui_top_corner_radius_11(void); internal F32 ui_top_corner_radius_11(void);
internal F32 ui_top_blur_size(void); internal F32 ui_top_blur_size(void);
internal F32 ui_top_text_padding(void); internal F32 ui_top_text_padding(void);
internal UI_TextAlign ui_top_text_alignment(void); internal UI_TextAlign ui_top_text_alignment(void);
internal UI_Box * ui_bottom_parent(void); internal UI_Box * ui_bottom_parent(void);
internal Axis2 ui_bottom_child_layout_axis(void); internal Axis2 ui_bottom_child_layout_axis(void);
internal F32 ui_bottom_fixed_x(void); internal F32 ui_bottom_fixed_x(void);
internal F32 ui_bottom_fixed_y(void); internal F32 ui_bottom_fixed_y(void);
internal F32 ui_bottom_fixed_width(void); internal F32 ui_bottom_fixed_width(void);
internal F32 ui_bottom_fixed_height(void); internal F32 ui_bottom_fixed_height(void);
internal UI_Size ui_bottom_pref_width(void); internal UI_Size ui_bottom_pref_width(void);
internal UI_Size ui_bottom_pref_height(void); internal UI_Size ui_bottom_pref_height(void);
internal F32 ui_bottom_min_width(void); internal F32 ui_bottom_min_width(void);
internal F32 ui_bottom_min_height(void); internal F32 ui_bottom_min_height(void);
internal UI_PermissionFlags ui_bottom_permission_flags(void); internal UI_PermissionFlags ui_bottom_permission_flags(void);
internal UI_BoxFlags ui_bottom_flags(void); internal UI_BoxFlags ui_bottom_flags(void);
internal UI_BoxFlags ui_bottom_omit_flags(void); internal UI_BoxFlags ui_bottom_omit_flags(void);
internal UI_FocusKind ui_bottom_focus_hot(void); internal UI_FocusKind ui_bottom_focus_hot(void);
internal UI_FocusKind ui_bottom_focus_active(void); internal UI_FocusKind ui_bottom_focus_active(void);
internal U32 ui_bottom_fastpath_codepoint(void); internal U32 ui_bottom_fastpath_codepoint(void);
internal UI_Key ui_bottom_group_key(void); internal UI_Key ui_bottom_group_key(void);
internal F32 ui_bottom_transparency(void); internal F32 ui_bottom_transparency(void);
internal String8 ui_bottom_tag(void); internal String8 ui_bottom_tag(void);
internal Vec4F32 ui_bottom_background_color(void); internal Vec4F32 ui_bottom_background_color(void);
internal Vec4F32 ui_bottom_text_color(void); internal Vec4F32 ui_bottom_text_color(void);
internal Vec4F32 ui_bottom_border_color(void); internal Vec4F32 ui_bottom_border_color(void);
internal F32 ui_bottom_squish(void); internal F32 ui_bottom_squish(void);
internal WM_Cursor ui_bottom_hover_cursor(void); internal WM_Cursor ui_bottom_hover_cursor(void);
internal FNT_Tag ui_bottom_font(void); internal FNT_Tag ui_bottom_font(void);
internal F32 ui_bottom_font_size(void); internal F32 ui_bottom_font_size(void);
internal FNT_RasterFlags ui_bottom_text_raster_flags(void); internal FNT_RasterFlags ui_bottom_text_raster_flags(void);
internal F32 ui_bottom_tab_size(void); internal F32 ui_bottom_tab_size(void);
internal F32 ui_bottom_corner_radius_00(void); internal F32 ui_bottom_corner_radius_00(void);
internal F32 ui_bottom_corner_radius_01(void); internal F32 ui_bottom_corner_radius_01(void);
internal F32 ui_bottom_corner_radius_10(void); internal F32 ui_bottom_corner_radius_10(void);
internal F32 ui_bottom_corner_radius_11(void); internal F32 ui_bottom_corner_radius_11(void);
internal F32 ui_bottom_blur_size(void); internal F32 ui_bottom_blur_size(void);
internal F32 ui_bottom_text_padding(void); internal F32 ui_bottom_text_padding(void);
internal UI_TextAlign ui_bottom_text_alignment(void); internal UI_TextAlign ui_bottom_text_alignment(void);
internal UI_Box * ui_push_parent(UI_Box * v); internal UI_Box * ui_push_parent(UI_Box * v);
internal Axis2 ui_push_child_layout_axis(Axis2 v); internal Axis2 ui_push_child_layout_axis(Axis2 v);
internal F32 ui_push_fixed_x(F32 v); internal F32 ui_push_fixed_x(F32 v);
internal F32 ui_push_fixed_y(F32 v); internal F32 ui_push_fixed_y(F32 v);
internal F32 ui_push_fixed_width(F32 v); internal F32 ui_push_fixed_width(F32 v);
internal F32 ui_push_fixed_height(F32 v); internal F32 ui_push_fixed_height(F32 v);
internal UI_Size ui_push_pref_width(UI_Size v); internal UI_Size ui_push_pref_width(UI_Size v);
internal UI_Size ui_push_pref_height(UI_Size v); internal UI_Size ui_push_pref_height(UI_Size v);
internal F32 ui_push_min_width(F32 v); internal F32 ui_push_min_width(F32 v);
internal F32 ui_push_min_height(F32 v); internal F32 ui_push_min_height(F32 v);
internal UI_PermissionFlags ui_push_permission_flags(UI_PermissionFlags v); internal UI_PermissionFlags ui_push_permission_flags(UI_PermissionFlags v);
internal UI_BoxFlags ui_push_flags(UI_BoxFlags v); internal UI_BoxFlags ui_push_flags(UI_BoxFlags v);
internal UI_BoxFlags ui_push_omit_flags(UI_BoxFlags v); internal UI_BoxFlags ui_push_omit_flags(UI_BoxFlags v);
internal UI_FocusKind ui_push_focus_hot(UI_FocusKind v); internal UI_FocusKind ui_push_focus_hot(UI_FocusKind v);
internal UI_FocusKind ui_push_focus_active(UI_FocusKind v); internal UI_FocusKind ui_push_focus_active(UI_FocusKind v);
internal U32 ui_push_fastpath_codepoint(U32 v); internal U32 ui_push_fastpath_codepoint(U32 v);
internal UI_Key ui_push_group_key(UI_Key v); internal UI_Key ui_push_group_key(UI_Key v);
internal F32 ui_push_transparency(F32 v); internal F32 ui_push_transparency(F32 v);
internal String8 ui_push_tag(String8 v); internal String8 ui_push_tag(String8 v);
internal Vec4F32 ui_push_background_color(Vec4F32 v); internal Vec4F32 ui_push_background_color(Vec4F32 v);
internal Vec4F32 ui_push_text_color(Vec4F32 v); internal Vec4F32 ui_push_text_color(Vec4F32 v);
internal Vec4F32 ui_push_border_color(Vec4F32 v); internal Vec4F32 ui_push_border_color(Vec4F32 v);
internal F32 ui_push_squish(F32 v); internal F32 ui_push_squish(F32 v);
internal WM_Cursor ui_push_hover_cursor(WM_Cursor v); internal WM_Cursor ui_push_hover_cursor(WM_Cursor v);
internal FNT_Tag ui_push_font(FNT_Tag v); internal FNT_Tag ui_push_font(FNT_Tag v);
internal F32 ui_push_font_size(F32 v); internal F32 ui_push_font_size(F32 v);
internal FNT_RasterFlags ui_push_text_raster_flags(FNT_RasterFlags v); internal FNT_RasterFlags ui_push_text_raster_flags(FNT_RasterFlags v);
internal F32 ui_push_tab_size(F32 v); internal F32 ui_push_tab_size(F32 v);
internal F32 ui_push_corner_radius_00(F32 v); internal F32 ui_push_corner_radius_00(F32 v);
internal F32 ui_push_corner_radius_01(F32 v); internal F32 ui_push_corner_radius_01(F32 v);
internal F32 ui_push_corner_radius_10(F32 v); internal F32 ui_push_corner_radius_10(F32 v);
internal F32 ui_push_corner_radius_11(F32 v); internal F32 ui_push_corner_radius_11(F32 v);
internal F32 ui_push_blur_size(F32 v); internal F32 ui_push_blur_size(F32 v);
internal F32 ui_push_text_padding(F32 v); internal F32 ui_push_text_padding(F32 v);
internal UI_TextAlign ui_push_text_alignment(UI_TextAlign v); internal UI_TextAlign ui_push_text_alignment(UI_TextAlign v);
internal UI_Box * ui_pop_parent(void); internal UI_Box * ui_pop_parent(void);
internal Axis2 ui_pop_child_layout_axis(void); internal Axis2 ui_pop_child_layout_axis(void);
internal F32 ui_pop_fixed_x(void); internal F32 ui_pop_fixed_x(void);
internal F32 ui_pop_fixed_y(void); internal F32 ui_pop_fixed_y(void);
internal F32 ui_pop_fixed_width(void); internal F32 ui_pop_fixed_width(void);
internal F32 ui_pop_fixed_height(void); internal F32 ui_pop_fixed_height(void);
internal UI_Size ui_pop_pref_width(void); internal UI_Size ui_pop_pref_width(void);
internal UI_Size ui_pop_pref_height(void); internal UI_Size ui_pop_pref_height(void);
internal F32 ui_pop_min_width(void); internal F32 ui_pop_min_width(void);
internal F32 ui_pop_min_height(void); internal F32 ui_pop_min_height(void);
internal UI_PermissionFlags ui_pop_permission_flags(void); internal UI_PermissionFlags ui_pop_permission_flags(void);
internal UI_BoxFlags ui_pop_flags(void); internal UI_BoxFlags ui_pop_flags(void);
internal UI_BoxFlags ui_pop_omit_flags(void); internal UI_BoxFlags ui_pop_omit_flags(void);
internal UI_FocusKind ui_pop_focus_hot(void); internal UI_FocusKind ui_pop_focus_hot(void);
internal UI_FocusKind ui_pop_focus_active(void); internal UI_FocusKind ui_pop_focus_active(void);
internal U32 ui_pop_fastpath_codepoint(void); internal U32 ui_pop_fastpath_codepoint(void);
internal UI_Key ui_pop_group_key(void); internal UI_Key ui_pop_group_key(void);
internal F32 ui_pop_transparency(void); internal F32 ui_pop_transparency(void);
internal String8 ui_pop_tag(void); internal String8 ui_pop_tag(void);
internal Vec4F32 ui_pop_background_color(void); internal Vec4F32 ui_pop_background_color(void);
internal Vec4F32 ui_pop_text_color(void); internal Vec4F32 ui_pop_text_color(void);
internal Vec4F32 ui_pop_border_color(void); internal Vec4F32 ui_pop_border_color(void);
internal F32 ui_pop_squish(void); internal F32 ui_pop_squish(void);
internal WM_Cursor ui_pop_hover_cursor(void); internal WM_Cursor ui_pop_hover_cursor(void);
internal FNT_Tag ui_pop_font(void); internal FNT_Tag ui_pop_font(void);
internal F32 ui_pop_font_size(void); internal F32 ui_pop_font_size(void);
internal FNT_RasterFlags ui_pop_text_raster_flags(void); internal FNT_RasterFlags ui_pop_text_raster_flags(void);
internal F32 ui_pop_tab_size(void); internal F32 ui_pop_tab_size(void);
internal F32 ui_pop_corner_radius_00(void); internal F32 ui_pop_corner_radius_00(void);
internal F32 ui_pop_corner_radius_01(void); internal F32 ui_pop_corner_radius_01(void);
internal F32 ui_pop_corner_radius_10(void); internal F32 ui_pop_corner_radius_10(void);
internal F32 ui_pop_corner_radius_11(void); internal F32 ui_pop_corner_radius_11(void);
internal F32 ui_pop_blur_size(void); internal F32 ui_pop_blur_size(void);
internal F32 ui_pop_text_padding(void); internal F32 ui_pop_text_padding(void);
internal UI_TextAlign ui_pop_text_alignment(void); internal UI_TextAlign ui_pop_text_alignment(void);
internal UI_Box * ui_set_next_parent(UI_Box * v); internal UI_Box * ui_set_next_parent(UI_Box * v);
internal Axis2 ui_set_next_child_layout_axis(Axis2 v); internal Axis2 ui_set_next_child_layout_axis(Axis2 v);
internal F32 ui_set_next_fixed_x(F32 v); internal F32 ui_set_next_fixed_x(F32 v);
internal F32 ui_set_next_fixed_y(F32 v); internal F32 ui_set_next_fixed_y(F32 v);
internal F32 ui_set_next_fixed_width(F32 v); internal F32 ui_set_next_fixed_width(F32 v);
internal F32 ui_set_next_fixed_height(F32 v); internal F32 ui_set_next_fixed_height(F32 v);
internal UI_Size ui_set_next_pref_width(UI_Size v); internal UI_Size ui_set_next_pref_width(UI_Size v);
internal UI_Size ui_set_next_pref_height(UI_Size v); internal UI_Size ui_set_next_pref_height(UI_Size v);
internal F32 ui_set_next_min_width(F32 v); internal F32 ui_set_next_min_width(F32 v);
internal F32 ui_set_next_min_height(F32 v); internal F32 ui_set_next_min_height(F32 v);
internal UI_PermissionFlags ui_set_next_permission_flags(UI_PermissionFlags v); internal UI_PermissionFlags ui_set_next_permission_flags(UI_PermissionFlags v);
internal UI_BoxFlags ui_set_next_flags(UI_BoxFlags v); internal UI_BoxFlags ui_set_next_flags(UI_BoxFlags v);
internal UI_BoxFlags ui_set_next_omit_flags(UI_BoxFlags v); internal UI_BoxFlags ui_set_next_omit_flags(UI_BoxFlags v);
internal UI_FocusKind ui_set_next_focus_hot(UI_FocusKind v); internal UI_FocusKind ui_set_next_focus_hot(UI_FocusKind v);
internal UI_FocusKind ui_set_next_focus_active(UI_FocusKind v); internal UI_FocusKind ui_set_next_focus_active(UI_FocusKind v);
internal U32 ui_set_next_fastpath_codepoint(U32 v); internal U32 ui_set_next_fastpath_codepoint(U32 v);
internal UI_Key ui_set_next_group_key(UI_Key v); internal UI_Key ui_set_next_group_key(UI_Key v);
internal F32 ui_set_next_transparency(F32 v); internal F32 ui_set_next_transparency(F32 v);
internal String8 ui_set_next_tag(String8 v); internal String8 ui_set_next_tag(String8 v);
internal Vec4F32 ui_set_next_background_color(Vec4F32 v); internal Vec4F32 ui_set_next_background_color(Vec4F32 v);
internal Vec4F32 ui_set_next_text_color(Vec4F32 v); internal Vec4F32 ui_set_next_text_color(Vec4F32 v);
internal Vec4F32 ui_set_next_border_color(Vec4F32 v); internal Vec4F32 ui_set_next_border_color(Vec4F32 v);
internal F32 ui_set_next_squish(F32 v); internal F32 ui_set_next_squish(F32 v);
internal WM_Cursor ui_set_next_hover_cursor(WM_Cursor v); internal WM_Cursor ui_set_next_hover_cursor(WM_Cursor v);
internal FNT_Tag ui_set_next_font(FNT_Tag v); internal FNT_Tag ui_set_next_font(FNT_Tag v);
internal F32 ui_set_next_font_size(F32 v); internal F32 ui_set_next_font_size(F32 v);
internal FNT_RasterFlags ui_set_next_text_raster_flags(FNT_RasterFlags v); internal FNT_RasterFlags ui_set_next_text_raster_flags(FNT_RasterFlags v);
internal F32 ui_set_next_tab_size(F32 v); internal F32 ui_set_next_tab_size(F32 v);
internal F32 ui_set_next_corner_radius_00(F32 v); internal F32 ui_set_next_corner_radius_00(F32 v);
internal F32 ui_set_next_corner_radius_01(F32 v); internal F32 ui_set_next_corner_radius_01(F32 v);
internal F32 ui_set_next_corner_radius_10(F32 v); internal F32 ui_set_next_corner_radius_10(F32 v);
internal F32 ui_set_next_corner_radius_11(F32 v); internal F32 ui_set_next_corner_radius_11(F32 v);
internal F32 ui_set_next_blur_size(F32 v); internal F32 ui_set_next_blur_size(F32 v);
internal F32 ui_set_next_text_padding(F32 v); internal F32 ui_set_next_text_padding(F32 v);
internal UI_TextAlign ui_set_next_text_alignment(UI_TextAlign v); internal UI_TextAlign ui_set_next_text_alignment(UI_TextAlign v);
#endif // UI_META_H #endif // UI_META_H