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;
dragging := false;
resizing := false;
+ [editor.Slider_Float.{ 0, 24 }]
+ shadow := 10.0f;
+
get_rectangle :: (use w: ^Window_State) -> Rectangle {
bw := border_width;
if dragging do bw *= 5;
state.should_close = true;
}
+ if shadow > 0 {
+ // Draw a drop shadow
+
+ gfx.vertex(.{ x - border_width, y + h + border_width }, .{ 0, 0, 0, 0.7 });
+ gfx.vertex(.{ x + w + border_width, y + h + border_width }, .{ 0, 0, 0, 0.35 });
+ gfx.vertex(.{ x + w + border_width + shadow, y + h + border_width + shadow }, .{ 0, 0, 0, 0 });
+
+ gfx.vertex(.{ x - border_width, y + h + border_width }, .{ 0, 0, 0, 0.7 });
+ gfx.vertex(.{ x + w + border_width + shadow, y + h + border_width + shadow }, .{ 0, 0, 0, 0 });
+ gfx.vertex(.{ x - border_width + shadow, y + h + border_width + shadow }, .{ 0, 0, 0, 0 });
+
+ gfx.vertex(.{ x + w + border_width, y - bar_height - border_width }, .{ 0, 0, 0, 0.7 });
+ gfx.vertex(.{ x + w + border_width + shadow, y + h + border_width + shadow }, .{ 0, 0, 0, 0 });
+ gfx.vertex(.{ x + w + border_width, y + h + border_width }, .{ 0, 0, 0, 0.35 });
+
+ gfx.vertex(.{ x + w + border_width, y - bar_height - border_width }, .{ 0, 0, 0, 0.7 });
+ gfx.vertex(.{ x + w + border_width + shadow, y - bar_height + shadow }, .{ 0, 0, 0, 0 });
+ gfx.vertex(.{ x + w + border_width + shadow, y + h + border_width + shadow }, .{ 0, 0, 0, 0 });
+
+ gfx.flush();
+ }
+
gfx.push_matrix();
gfx.push_scissor(x, y, w, h);
gfx.apply_transform(.{ translation = .{ x, y }, scale = .{ 1, 1 } });