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>) -> ColorPair
pub fn new(foreground: Binding<Color>, background: Binding<Color>) -> ColorPair
A pair bound to these two colors.
Sourcepub fn defaults(self, foreground: Color, background: Color) -> ColorPair
pub fn defaults(self, foreground: Color, background: Color) -> ColorPair
Adds a button that puts these colors back.
Sourcepub fn on_foreground(self, handler: impl Fn() + 'static) -> ColorPair
pub fn on_foreground(self, handler: impl Fn() + 'static) -> ColorPair
Runs handler when the foreground square is clicked, or on Enter and Space while focused.
Sourcepub fn on_background(self, handler: impl Fn() + 'static) -> ColorPair
pub fn on_background(self, handler: impl Fn() + 'static) -> ColorPair
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§
impl<T> AutoreleaseSafe for Twhere
T: ?Sized,
impl<T> AutoreleaseSafe for Twhere
T: ?Sized,
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<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
impl<S, T> Duplex<S> for Twhere
T: FromSample<S> + ToSample<S>,
impl<T> ErasedDestructor for Twhere
T: 'static,
§impl<S> FromSample<S> for S
impl<S> FromSample<S> for S
fn from_sample_(s: S) -> S
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
impl<T> Read<Exclusive, BecauseExclusive> for Twhere
T: ?Sized,
§impl<T, U> ToSample<U> for Twhere
U: FromSample<T>,
impl<T, U> ToSample<U> for Twhere
U: FromSample<T>,
fn to_sample_(self) -> U
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.