Skip to main content

FloatingToolbar

Struct FloatingToolbar 

Source
pub struct FloatingToolbar<C> { /* private fields */ }
Expand description

A translucent row of commands floating over its content, such as a zoom bar over a photo. Clicks on it never reach the content. Tab goes through its commands.

With FloatingToolbar::movable it has a handle: dragging it, or its arrow keys, take the bar anywhere in the content, and a double click brings it home. Smaller content than the bar leaves it at the top left corner.

use ravenrs_layout::Align;
use ravenrs_widgets::{FloatingToolbar, IconName, Text, ToolbarAction, Ui};

let bar = FloatingToolbar::new(Text::new("A photo"))
    .label("Zoom")
    .action(ToolbarAction::new("Fit").on_click(|| {}))
    .separator()
    .action(ToolbarAction::new("Zoom in").icon(IconName::Plus).icon_only().on_click(|| {}))
    .place(Align::Start, Align::End);
let mut ui = Ui::new(bar, ravenrs_style::Theme::raven_dark());
ui.update();

Implementations§

Source§

impl<C: View> FloatingToolbar<C>

Source

pub fn new(content: C) -> Self

An empty bar at the bottom center of content.

Source

pub fn action(self, action: ToolbarAction) -> Self

Appends a command.

Source

pub fn separator(self) -> Self

Appends a line between groups of commands.

Source

pub fn view(self, view: impl View + 'static) -> Self

Appends any view, such as a ValueSlider.

Source

pub fn label(self, label: impl Into<String>) -> Self

The name screen readers announce.

Source

pub fn place(self, across: Align, down: Align) -> Self

Which side of the content it stays on, across and down: Start, Center or End. At the bottom center by default.

Source

pub fn margin(self, margin: f32) -> Self

How far from the edges of the content it stays, in logical pixels (12 by default).

Source

pub fn movable(self, place: Binding<Option<Point>>) -> Self

Adds a handle that moves the bar. place is where it was left, from the top left corner of the content, written when the drag ends so that the app can keep it; None is the place given by Self::place.

Source

pub fn fill(self) -> Self

Takes the free space of the parent, for content that fills a stage or a whole screen.

Trait Implementations§

Source§

impl<C> Debug for FloatingToolbar<C>

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl<C: View> View for FloatingToolbar<C>

Source§

fn build(&self, cx: &mut BuildCx<'_>) -> NodeId

Creates this view’s node for the current build.
Source§

fn type_name(&self) -> &'static str

The name the diagnostics panel shows this view’s cost under.

Auto Trait Implementations§

§

impl<C> !RefUnwindSafe for FloatingToolbar<C>

§

impl<C> !Send for FloatingToolbar<C>

§

impl<C> !Sync for FloatingToolbar<C>

§

impl<C> !UnwindSafe for FloatingToolbar<C>

§

impl<C> Freeze for FloatingToolbar<C>
where C: Freeze,

§

impl<C> Unpin for FloatingToolbar<C>
where C: Unpin,

§

impl<C> UnsafeUnpin for FloatingToolbar<C>
where C: UnsafeUnpin,

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
§

impl<T> ErasedDestructor for T
where T: 'static,

Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

§

impl<T> Instrument for T

§

fn instrument(self, span: Span) -> Instrumented<Self> ⓘ

Instruments this type with the provided [Span], returning an Instrumented wrapper. Read more
§

fn in_current_span(self) -> Instrumented<Self> ⓘ

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
Source§

impl<V> ViewExt for V
where V: View,

Source§

fn padding(self, padding: impl Into<Insets>) -> Styled<Self>

Adds padding inside the box, in logical pixels.
Source§

fn background(self, fill: impl Into<Fill>) -> Styled<Self>

Paints a background behind the content.
Source§

fn frame(self, width: Option<f32>, height: Option<f32>) -> Styled<Self>

Fixes the width and/or height in logical pixels; None keeps the content size.
Source§

fn width(self, width: f32) -> Styled<Self>

Fixes the width in logical pixels.
Source§

fn height(self, height: f32) -> Styled<Self>

Fixes the height in logical pixels.
Source§

fn grow(self, grow: f32) -> Styled<Self>

Takes a share of the free space in the parent stack.
Source§

fn stretch(self) -> Styled<Self>

Stretches across the parent stack’s cross axis.
Source§

fn centered(self) -> Styled<Self>

Centers the content inside the box.
Source§

fn tooltip(self, text: impl Into<String>) -> Tooltip<Self>

Shows text above the view while the pointer is over it; see Tooltip.
Source§

fn opacity(self, opacity: f32) -> Faded<Self>

Draws the view and everything in it at this opacity, from 0.0 to 1.0, easing to it when it changes. Layout and input stay as they are; see Faded.
§

impl<T> WithSubscriber for T

§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self> ⓘ
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a [WithDispatch] wrapper. Read more
§

fn with_current_subscriber(self) -> WithDispatch<Self> ⓘ

Attaches the current default Subscriber to this type, returning a [WithDispatch] wrapper. Read more