mirror of
https://github.com/BanjoRecomp/BanjoRecomp
synced 2026-06-01 09:17:19 -04:00
pointer events property support and apply ptr events None to select arrow svg
This commit is contained in:
@@ -195,6 +195,8 @@ namespace recompui {
|
||||
arrow->set_width(select_element_caret_size);
|
||||
arrow->set_height(select_element_caret_size);
|
||||
arrow->set_color(theme::color::TextDim);
|
||||
// makes clicking on the arrow pass click interactions through to whats beneath it
|
||||
arrow->set_pointer_events(PointerEvents::None);
|
||||
|
||||
add_style(&hover_style, hover_state);
|
||||
add_style(&focus_style, focus_state);
|
||||
|
||||
@@ -717,4 +717,15 @@ namespace recompui {
|
||||
set_or_add_transformation(Rml::Transforms::Rotate2D(degrees));
|
||||
}
|
||||
|
||||
void Style::set_pointer_events(PointerEvents pointer_events) {
|
||||
switch (pointer_events) {
|
||||
case PointerEvents::None:
|
||||
set_property(Rml::PropertyId::PointerEvents, Rml::Style::PointerEvents::None);
|
||||
break;
|
||||
case PointerEvents::Auto:
|
||||
set_property(Rml::PropertyId::PointerEvents, Rml::Style::PointerEvents::Auto);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
} // namespace recompui
|
||||
|
||||
@@ -119,6 +119,7 @@ namespace recompui {
|
||||
void set_tab_index_auto();
|
||||
void set_tab_index_none();
|
||||
void set_focusable(bool focusable);
|
||||
void set_pointer_events(PointerEvents pointer_events);
|
||||
virtual bool is_element() { return false; }
|
||||
ResourceId get_resource_id() { return resource_id; }
|
||||
};
|
||||
|
||||
@@ -60,6 +60,11 @@ namespace recompui {
|
||||
Count
|
||||
};
|
||||
|
||||
enum class PointerEvents {
|
||||
None,
|
||||
Auto
|
||||
};
|
||||
|
||||
template <typename Enum, typename = std::enable_if_t<std::is_enum_v<Enum>>>
|
||||
constexpr uint32_t Events(Enum first) {
|
||||
return 1u << static_cast<uint32_t>(first);
|
||||
|
||||
Reference in New Issue
Block a user