Merge pull request #4887 from Skytrias/skytrias-orca-ui-update

Update to newest orca bindings (UI Update)
This commit is contained in:
Laytan
2025-03-01 13:58:55 +01:00
committed by GitHub
3 changed files with 589 additions and 598 deletions
+47 -30
View File
@@ -37,12 +37,7 @@ log_info :: proc "contextless" (msg: cstring, loc := #caller_location) {
}
abort :: proc "contextless" (msg: cstring, loc := #caller_location) {
abort_ext(
cstring(raw_data(loc.procedure)),
cstring(raw_data(loc.file_path)),
loc.line,
msg,
)
abort_ext(cstring(raw_data(loc.procedure)), cstring(raw_data(loc.file_path)), loc.line, msg)
}
////////////////////////////////////////////////////////////////////////////////
@@ -55,7 +50,12 @@ list_entry :: proc "contextless" (elt: ^list_elt, $T: typeid, $member: string) -
}
// Get the next entry in a list.
list_next_entry :: proc "contextless" (list: ^list, elt: ^list_elt, $T: typeid, $member: string) -> ^T {
list_next_entry :: proc "contextless" (
list: ^list,
elt: ^list_elt,
$T: typeid,
$member: string,
) -> ^T {
if elt.next != list.last {
return list_entry(elt.next, T, member)
}
@@ -64,7 +64,12 @@ list_next_entry :: proc "contextless" (list: ^list, elt: ^list_elt, $T: typeid,
}
// Get the previous entry in a list.
list_prev_entry :: proc "contextless" (list: ^list, elt: ^list_elt, $T: typeid, $member: string) -> ^T {
list_prev_entry :: proc "contextless" (
list: ^list,
elt: ^list_elt,
$T: typeid,
$member: string,
) -> ^T {
if elt.prev != list.last {
return list_entry(elt.prev, T, member)
}
@@ -94,9 +99,23 @@ list_last_entry :: proc "contextless" (list: ^list, $T: typeid, $member: string)
// _elt: ^list_elt
// for elt in oc.list_for(list, &_elt, int, "elt") {
// }
list_for :: proc "contextless" (list: ^list, elt: ^^list_elt, $T: typeid, $member: string) -> (^T, bool) {
list_for :: proc "contextless" (
list: ^list,
elt: ^^list_elt,
$T: typeid,
$member: string,
) -> (
^T,
bool,
) {
if elt == nil {
assert_fail(#file, #procedure, #line, "elt != nil", "misuse of `list_for`, expected `elt` to not be nil")
assert_fail(
#file,
#procedure,
#line,
"elt != nil",
"misuse of `list_for`, expected `elt` to not be nil",
)
}
if elt^ == nil {
@@ -112,7 +131,15 @@ list_for :: proc "contextless" (list: ^list, elt: ^^list_elt, $T: typeid, $membe
list_iter :: list_for
list_for_reverse :: proc "contextless" (list: ^list, elt: ^^list_elt, $T: typeid, $member: string) -> (^T, bool) {
list_for_reverse :: proc "contextless" (
list: ^list,
elt: ^^list_elt,
$T: typeid,
$member: string,
) -> (
^T,
bool,
) {
if elt^ == nil {
elt^ = list.last
entry := list_checked_entry(elt^, T, member)
@@ -226,27 +253,17 @@ str32_list_for :: proc "contextless" (list: ^str32_list, elt: ^^list_elt) -> (^s
return list_for(&list.list, elt, str32_elt, "listElt")
}
@(deferred_none=ui_box_end)
ui_container :: proc "contextless" (name: string, flags: ui_flags = {}) -> ^ui_box {
return ui_box_begin_str8(name, flags)
@(deferred_none = ui_box_end)
ui_container :: proc "contextless" (name: string) -> ^ui_box {
return ui_box_begin_str8(name)
}
@(deferred_none=ui_end_frame)
ui_frame :: proc "contextless" (frame_size: [2]f32, style: ui_style, mask: ui_style_mask) {
ui_begin_frame(frame_size, style, mask)
@(deferred_none = ui_menu_end)
ui_menu :: proc "contextless" (key, name: string) {
ui_menu_begin_str8(key, name)
}
@(deferred_none=ui_panel_end)
ui_panel :: proc "contextless" (name: cstring, flags: ui_flags) {
ui_panel_begin(name, flags)
}
@(deferred_none=ui_menu_end)
ui_menu :: proc "contextless" (name: cstring) {
ui_menu_begin(name)
}
@(deferred_none=ui_menu_bar_end)
ui_menu_bar :: proc "contextless" (name: cstring) {
ui_menu_bar_begin(name)
@(deferred_none = ui_menu_bar_end)
ui_menu_bar :: proc "contextless" (key: string) {
ui_menu_bar_begin_str8(key)
}
+13 -3
View File
@@ -8,15 +8,25 @@ create_odin_logger :: proc(lowest := runtime.Logger_Level.Debug, ident := "") ->
return runtime.Logger{odin_logger_proc, nil, lowest, {}}
}
log_typed :: proc "contextless" (level: log_level, msg: cstring, loc := #caller_location) {
log_ext(
level,
cstring(raw_data(loc.procedure)),
cstring(raw_data(loc.file_path)),
loc.line,
msg,
)
}
odin_logger_proc :: proc(logger_data: rawptr, level: runtime.Logger_Level, text: string, options: runtime.Logger_Options, location := #caller_location) {
cbuf := make([]byte, len(text)+1, context.temp_allocator)
copy(cbuf, text)
ctext := cstring(raw_data(cbuf))
switch level {
case .Debug, .Info: log_info(ctext, location)
case .Warning: log_warning(ctext, location)
case .Debug, .Info: log_typed(.INFO, ctext, location)
case .Warning: log_typed(.WARNING, ctext, location)
case: fallthrough
case .Error, .Fatal: log_error(ctext, location)
case .Error, .Fatal: log_typed(.ERROR, ctext, location)
}
}
+529 -565
View File
File diff suppressed because it is too large Load Diff