18 vulkan_widget(hi::gui_window& window, hi::widget *parent) noexcept :
super(window, parent)
20 window.surface->add_delegate(
this);
25 window.surface->remove_delegate(
this);
31 return _constraints = {{100, 50}, {200, 100}, {300, 100},
theme().
margin};
34 void set_layout(hi::widget_layout
const& layout)
noexcept override
36 if (compare_store(_layout, layout)) {}
41 void draw(hi::draw_context
const& context)
noexcept override
43 if (*mode > widget_mode::invisible and overlaps(context, layout())) {
44 context.make_hole(_layout, _layout.rectangle());
46 draw_vulkan(aarectangle{_layout.to_window * _layout.rectangle()}, context.scissor_rectangle);