ui tweaks
This commit is contained in:
47
src/main.cpp
47
src/main.cpp
@@ -1004,10 +1004,35 @@ static void update_panel_splitters(AppState *app) {
|
||||
B32 mouse_released = !input.mouse_down && input.was_mouse_down;
|
||||
PlatformCursor cursor = PLATFORM_CURSOR_ARROW;
|
||||
|
||||
// Check hover on splitter elements (uses previous-frame layout)
|
||||
B32 hover_browser = Clay_PointerOver(CLAY_ID("SplitBrowser"));
|
||||
B32 hover_right = Clay_PointerOver(CLAY_ID("SplitRight"));
|
||||
B32 hover_log = Clay_PointerOver(CLAY_ID("SplitLog"));
|
||||
// Check hover on splitter elements with expanded hit area (splitters are 1px)
|
||||
F32 grab_margin = uis(3);
|
||||
F32 mx = input.mouse_pos.x, my = input.mouse_pos.y;
|
||||
|
||||
B32 hover_browser = false, hover_right = false, hover_log = false;
|
||||
{
|
||||
Clay_ElementData d = Clay_GetElementData(CLAY_ID("SplitBrowser"));
|
||||
if (d.found) {
|
||||
Clay_BoundingBox b = d.boundingBox;
|
||||
hover_browser = mx >= b.x - grab_margin && mx <= b.x + b.width + grab_margin &&
|
||||
my >= b.y && my <= b.y + b.height;
|
||||
}
|
||||
}
|
||||
{
|
||||
Clay_ElementData d = Clay_GetElementData(CLAY_ID("SplitRight"));
|
||||
if (d.found) {
|
||||
Clay_BoundingBox b = d.boundingBox;
|
||||
hover_right = mx >= b.x - grab_margin && mx <= b.x + b.width + grab_margin &&
|
||||
my >= b.y && my <= b.y + b.height;
|
||||
}
|
||||
}
|
||||
{
|
||||
Clay_ElementData d = Clay_GetElementData(CLAY_ID("SplitLog"));
|
||||
if (d.found) {
|
||||
Clay_BoundingBox b = d.boundingBox;
|
||||
hover_log = mx >= b.x && mx <= b.x + b.width &&
|
||||
my >= b.y - grab_margin && my <= b.y + b.height + grab_margin;
|
||||
}
|
||||
}
|
||||
|
||||
// Start drag
|
||||
if (mouse_clicked && app->panel_drag == 0) {
|
||||
@@ -1061,7 +1086,7 @@ static void update_panel_splitters(AppState *app) {
|
||||
// Header bar — transport / layout toggle
|
||||
|
||||
static void build_header_bar(AppState *app) {
|
||||
Clay_Color bar_bg = g_theme.bg_dark;
|
||||
Clay_Color bar_bg = g_theme.header_bg;
|
||||
Clay_Color border_bot = {(F32)Max((S32)bar_bg.r - 12, 0), (F32)Max((S32)bar_bg.g - 12, 0), (F32)Max((S32)bar_bg.b - 12, 0), 255};
|
||||
|
||||
static Clay_TextElementConfig header_btn_active_text = {};
|
||||
@@ -1796,10 +1821,10 @@ static void build_ui(AppState *app) {
|
||||
) {
|
||||
build_browser_panel(app);
|
||||
|
||||
// Browser splitter (vertical, 4px wide)
|
||||
// Browser splitter (vertical, 1px line)
|
||||
if (app->show_browser) {
|
||||
CLAY(CLAY_ID("SplitBrowser"),
|
||||
.layout = { .sizing = { .width = CLAY_SIZING_FIXED(uis(4)), .height = CLAY_SIZING_GROW() } },
|
||||
.layout = { .sizing = { .width = CLAY_SIZING_FIXED(1), .height = CLAY_SIZING_GROW() } },
|
||||
.backgroundColor = g_theme.border
|
||||
) {}
|
||||
}
|
||||
@@ -1807,9 +1832,9 @@ static void build_ui(AppState *app) {
|
||||
build_main_panel(app);
|
||||
|
||||
if (app->show_props || app->show_midi_devices) {
|
||||
// Right splitter (vertical, 4px wide)
|
||||
// Right splitter (vertical, 1px line)
|
||||
CLAY(CLAY_ID("SplitRight"),
|
||||
.layout = { .sizing = { .width = CLAY_SIZING_FIXED(uis(4)), .height = CLAY_SIZING_GROW() } },
|
||||
.layout = { .sizing = { .width = CLAY_SIZING_FIXED(1), .height = CLAY_SIZING_GROW() } },
|
||||
.backgroundColor = g_theme.border
|
||||
) {}
|
||||
|
||||
@@ -1824,10 +1849,10 @@ static void build_ui(AppState *app) {
|
||||
}
|
||||
}
|
||||
|
||||
// Log splitter (horizontal, 4px tall)
|
||||
// Log splitter (horizontal, 1px line)
|
||||
if (app->show_log) {
|
||||
CLAY(CLAY_ID("SplitLog"),
|
||||
.layout = { .sizing = { .width = CLAY_SIZING_GROW(), .height = CLAY_SIZING_FIXED(uis(4)) } },
|
||||
.layout = { .sizing = { .width = CLAY_SIZING_GROW(), .height = CLAY_SIZING_FIXED(1) } },
|
||||
.backgroundColor = g_theme.border
|
||||
) {}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user