pub struct Popper { /* private fields */ }Implementations§
Source§impl Popper
impl Popper
pub fn new(open: Signal<bool>) -> Self
pub fn child<V: View + 'static>(self, child: V) -> Self
pub fn anchor(self, anchor: Anchor) -> Self
pub fn anchor_rect(self, rect: Rect) -> Self
pub fn anchor_view(self, id: ElementId) -> Self
Sourcepub fn anchor_self(self) -> Self
pub fn anchor_self(self) -> Self
Anchors the overlay to the popper’s own layout box.
The popper is usually a zero-sized box in its parent, so this anchors
the overlay near wherever the Popper happens to sit in the tree, not
to the control the user clicked. For a menu or tooltip under a button,
store the button’s ElementId (for example ctx.element() from its
paint pass) and use Self::anchor_view instead; that stays correct
when the button moves or the layout changes.
pub fn at_cursor(self) -> Self
Sourcepub fn anchor_point(self, x: f32, y: f32) -> Self
pub fn anchor_point(self, x: f32, y: f32) -> Self
Anchors the overlay to a fixed screen-space point.
Unlike Self::at_cursor, the point does not follow later pointer
movement. Use this for a context menu that should stay where the user
clicked. The default placement is crate::overlay::Placement::Cursor,
so the overlay’s top-left sits at the point.
Sourcepub fn anchor_static(self, point: Point) -> Self
pub fn anchor_static(self, point: Point) -> Self
Anchors the overlay to a fixed screen-space Point.
pub fn placement(self, placement: Placement) -> Self
pub fn offset(self, dx: f32, dy: f32) -> Self
pub fn overflow(self, overflow: OverlayOverflow) -> Self
pub fn layer(self, layer: OverlayLayer) -> Self
pub fn input_mode(self, mode: InputMode) -> Self
pub fn dismiss(self, dismiss: Dismiss) -> Self
pub fn on_dismiss(self, f: impl Fn() + 'static) -> Self
pub fn is_open(&self) -> bool
pub fn open(&self)
pub fn close(&self)
pub fn toggle(&self)
Trait Implementations§
Source§impl View for Popper
impl View for Popper
fn body(&self) -> impl View + 'static
fn hit_testable(&self) -> bool
fn layout_style_ctx(&self, _rt: &Runtime, _el: ElementId) -> LayoutStyle
fn accessibility(&self) -> Option<Accessible>
fn arrange_override( &self, _rt: &Runtime, _el: ElementId, _rect: Rect, _ctx: &mut LayoutCtx<'_>, ) -> bool
fn clip_self(&self) -> bool
fn clip_radius(&self) -> f32
fn paint_opacity(&self) -> Option<f32>
Source§fn cache_layer(&self) -> bool
fn cache_layer(&self) -> bool
fn paint_opacity_ctx(&self, _rt: &Runtime, _el: ElementId) -> Option<f32>
fn paint_offset(&self) -> Vec2
fn paint_offset_ctx(&self, _rt: &Runtime, _el: ElementId) -> Vec2
fn paint_scale(&self) -> f32
fn paint_scale_ctx(&self, _rt: &Runtime, _el: ElementId) -> f32
fn paint_rotation(&self) -> f32
fn paint_rotation_ctx(&self, _rt: &Runtime, _el: ElementId) -> f32
fn foreground_filter(&self) -> Option<Filter>
fn captures_pointer_ctx(&self, _rt: &Runtime, _el: ElementId) -> bool
fn reuse_state(&self, _old: &Self)
fn test_id(&self) -> Option<String>
fn focus_trap(&self) -> bool
fn accepts_tab(&self) -> bool
Source§fn accepts_text_input(&self) -> bool
fn accepts_text_input(&self) -> bool
Source§fn ime_caret_rect(&self) -> Option<Rect>
fn ime_caret_rect(&self) -> Option<Rect>
None.