pub struct ColorPair { /* private fields */ }Expand description
A foreground and a background color, one over the other, with a button that swaps them.
It holds the two colors and swaps them. Choosing a new one is up to whoever uses it, as
when a click on a square opens a ColorPicker.
use ravenrs_core::Color;
use ravenrs_reactive::State;
use ravenrs_widgets::ColorPair;
let (front, back) = (State::new(Color::BLACK), State::new(Color::WHITE));
let pair = ColorPair::new(front.binding(), back.binding())
.defaults(Color::BLACK, Color::WHITE)
.on_foreground(|| { /* open a picker */ });Implementations§
Source§impl ColorPair
impl ColorPair
Sourcepub fn new(foreground: Binding<Color>, background: Binding<Color>) -> Self
pub fn new(foreground: Binding<Color>, background: Binding<Color>) -> Self
A pair bound to these two colors.
Sourcepub fn defaults(self, foreground: Color, background: Color) -> Self
pub fn defaults(self, foreground: Color, background: Color) -> Self
Adds a button that puts these colors back.
Sourcepub fn on_foreground(self, handler: impl Fn() + 'static) -> Self
pub fn on_foreground(self, handler: impl Fn() + 'static) -> Self
Runs handler when the foreground square is clicked, or on Enter and Space while focused.
Sourcepub fn on_background(self, handler: impl Fn() + 'static) -> Self
pub fn on_background(self, handler: impl Fn() + 'static) -> Self
Runs handler when the background square is clicked, or on Enter and Space while focused.
Trait Implementations§
Auto Trait Implementations§
impl !RefUnwindSafe for ColorPair
impl !Send for ColorPair
impl !Sync for ColorPair
impl !UnwindSafe for ColorPair
impl Freeze for ColorPair
impl Unpin for ColorPair
impl UnsafeUnpin for ColorPair
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
impl<T> ErasedDestructor for Twhere
T: 'static,
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
Source§impl<V> ViewExt for Vwhere
V: View,
impl<V> ViewExt for Vwhere
V: View,
Source§fn padding(self, padding: impl Into<Insets>) -> Styled<Self>
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>
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>
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.