Ignore_Option :: struct { option: str; }
modify_window_draw :: (obj: any, win: ^app.Application_Window, site := #callsite) {
- __counter = 0;
-
rect := win.window_state->get_internal_rectangle();
hash := ui.get_site_hash(site);
+ __counter = hash;
+
handle := ui.scrollable_region_start(rect, increment=hash, .{
minimum_x = 0, maximum_x = 0,
minimum_y = 0, maximum_y = 100000.0f,
win_rect := handle->get_visible_rectangle();
- // rect = ui.Flow.padding(rect, left=8, right=8);
rect.y1 = 1000000.0f;
{
}
{
+ line_buffer: [256] u8;
+
// Draw the name of the variable, handling a "Rename" tag.
name := member.name;
if rename := array.first(member.tags, (x) => x.type == Rename); rename != null {
name = (cast(^Rename) rename.data).name;
}
- if row_visible do ui.draw_text(name_rect, name, theme=^heading_theme);
+ line := conv.str_format(line_buffer, "{} [{}]", name, member.type);
+ if row_visible do ui.draw_text(name_rect, line, theme=^heading_theme);
}
switch member_type.kind {
}
}
+#private_file gfx :: package immediate_mode
+#tag gfx.Color4.r, Slider_Float.{ 0, 1 }
+#tag gfx.Color4.g, Slider_Float.{ 0, 1 }
+#tag gfx.Color4.b, Slider_Float.{ 0, 1 }
+#tag gfx.Color4.a, Slider_Float.{ 0, 1 }
}
Application_Settings :: struct {
- #tag(editor.Ignore_Option.{ "Undefined" })
- #tag(editor.Rename.{ "Color scheme" })
+ [editor.Ignore_Option.{ "Undefined" }]
+ [editor.Rename.{ "Color scheme" }]
colorscheme := Colorscheme.Undefined;
}
close_window(window_id);
}
}
+
Hex_Viewer_State :: struct {
scrollable_region := ui.Scrollable_Region_State.{};
- #tag(editor.Slider_Int.{ -1, 40 })
+ [editor.Slider_Int.{ -1, 40 }]
highlighted_line := -1;
- #tag(editor.Slider_Int.{ -1, 16 })
+ [editor.Slider_Int.{ -1, 16 }]
highlighted_column := -1;
}
title := "(undefined)";
- #tag(editor.Slider_Float.{ 0, 64 })
+ [editor.Slider_Float.{ 0, 64 }]
border_width := 10.0f;
border_color := gfx.Color4.{ 1, 0, 0 };
background_color := gfx.Color4.{ 0.2, 0.2, 0.2 };
- #tag(editor.Slider_Float.{ 0, 64 })
+ [editor.Slider_Float.{ 0, 64 }]
bar_height := 28.0f;
draggable := true;