Introduce themer widget

This commit is contained in:
Héctor Ramón Jiménez 2024-01-21 19:02:01 +01:00
parent 7a50e9e8fb
commit e695f7a04c
No known key found for this signature in database
GPG key ID: 7CC46565708259A7
3 changed files with 284 additions and 2 deletions

View file

@ -20,7 +20,7 @@ use crate::text_editor::{self, TextEditor};
use crate::text_input::{self, TextInput};
use crate::toggler::{self, Toggler};
use crate::tooltip::{self, Tooltip};
use crate::{Column, MouseArea, Row, Space, VerticalSlider};
use crate::{Column, MouseArea, Row, Space, Themer, VerticalSlider};
use std::borrow::Cow;
use std::ops::RangeInclusive;
@ -421,3 +421,14 @@ where
{
MouseArea::new(widget)
}
/// A widget that applies any `Theme` to its contents.
pub fn themer<'a, Message, Theme, Renderer>(
theme: Theme,
content: impl Into<Element<'a, Message, Theme, Renderer>>,
) -> Themer<'a, Message, Theme, Renderer>
where
Renderer: core::Renderer,
{
Themer::new(theme, content)
}