refactor: make Theme a generic parameter for the button

This makes the button possible to use with custom themes in cosmic-time
This commit is contained in:
Ashley Wulber 2024-02-02 20:28:05 -05:00 committed by Ashley Wulber
parent 11ac07010b
commit 82dfab633a
5 changed files with 84 additions and 71 deletions

View file

@ -26,22 +26,28 @@ pub use text::{destructive, standard, suggested, text};
mod widget;
pub use widget::{draw, focus, layout, mouse_interaction, Button};
use crate::Element;
use crate::iced::Element;
use iced_core::font::Weight;
use iced_core::widget::Id;
use iced_core::{Length, Padding};
use std::borrow::Cow;
pub fn button<'a, Message>(
content: impl Into<Element<'a, Message>>,
) -> Button<'a, Message, crate::Renderer> {
pub fn button<'a, Message, Theme>(
content: impl Into<Element<'a, Message, Theme, crate::Renderer>>,
) -> Button<'a, Message, Theme, crate::Renderer>
where
Theme: style::StyleSheet,
{
Button::new(content)
}
pub fn custom_image_button<'a, Message>(
content: impl Into<Element<'a, Message>>,
pub fn custom_image_button<'a, Message, Theme>(
content: impl Into<Element<'a, Message, Theme, crate::Renderer>>,
on_remove: Option<Message>,
) -> Button<'a, Message, crate::Renderer> {
) -> Button<'a, Message, Theme, crate::Renderer>
where
Theme: style::StyleSheet,
{
Button::new_image(content, on_remove)
}