diff options
| author | 2023-07-12 12:23:18 -0700 | |
|---|---|---|
| committer | 2023-07-12 12:23:18 -0700 | |
| commit | 633f405f3f78bc7f82d2b2061491b0e011137451 (patch) | |
| tree | 5ebfc1f45d216a5c14a90492563599e6969eab4d /examples/checkbox/src | |
| parent | 41836dd80d0534608e7aedfbf2319c540a23de1a (diff) | |
| parent | 21bd51426d900e271206f314e0c915dd41065521 (diff) | |
| download | iced-633f405f3f78bc7f82d2b2061491b0e011137451.tar.gz iced-633f405f3f78bc7f82d2b2061491b0e011137451.tar.bz2 iced-633f405f3f78bc7f82d2b2061491b0e011137451.zip  | |
Merge remote-tracking branch 'origin/master' into feat/multi-window-support
# Conflicts:
#	Cargo.toml
#	core/src/window/icon.rs
#	core/src/window/id.rs
#	core/src/window/position.rs
#	core/src/window/settings.rs
#	examples/integration/src/main.rs
#	examples/integration_opengl/src/main.rs
#	glutin/src/application.rs
#	native/src/subscription.rs
#	native/src/window.rs
#	runtime/src/window/action.rs
#	src/lib.rs
#	src/window.rs
#	winit/Cargo.toml
#	winit/src/application.rs
#	winit/src/icon.rs
#	winit/src/settings.rs
#	winit/src/window.rs
Diffstat (limited to 'examples/checkbox/src')
| -rw-r--r-- | examples/checkbox/src/main.rs | 32 | 
1 files changed, 22 insertions, 10 deletions
diff --git a/examples/checkbox/src/main.rs b/examples/checkbox/src/main.rs index 09950bb8..ef1a054d 100644 --- a/examples/checkbox/src/main.rs +++ b/examples/checkbox/src/main.rs @@ -1,10 +1,9 @@ -use iced::widget::{checkbox, column, container}; -use iced::{Element, Font, Length, Sandbox, Settings}; +use iced::executor; +use iced::font::{self, Font}; +use iced::widget::{checkbox, column, container, text}; +use iced::{Application, Command, Element, Length, Settings, Theme}; -const ICON_FONT: Font = Font::External { -    name: "Icons", -    bytes: include_bytes!("../fonts/icons.ttf"), -}; +const ICON_FONT: Font = Font::with_name("icons");  pub fn main() -> iced::Result {      Example::run(Settings::default()) @@ -20,24 +19,35 @@ struct Example {  enum Message {      DefaultChecked(bool),      CustomChecked(bool), +    FontLoaded(Result<(), font::Error>),  } -impl Sandbox for Example { +impl Application for Example {      type Message = Message; +    type Flags = (); +    type Executor = executor::Default; +    type Theme = Theme; -    fn new() -> Self { -        Default::default() +    fn new(_flags: Self::Flags) -> (Self, Command<Message>) { +        ( +            Self::default(), +            font::load(include_bytes!("../fonts/icons.ttf").as_slice()) +                .map(Message::FontLoaded), +        )      }      fn title(&self) -> String {          String::from("Checkbox - Iced")      } -    fn update(&mut self, message: Message) { +    fn update(&mut self, message: Message) -> Command<Message> {          match message {              Message::DefaultChecked(value) => self.default_checkbox = value,              Message::CustomChecked(value) => self.custom_checkbox = value, +            Message::FontLoaded(_) => (),          } + +        Command::none()      }      fn view(&self) -> Element<Message> { @@ -49,6 +59,8 @@ impl Sandbox for Example {                      font: ICON_FONT,                      code_point: '\u{e901}',                      size: None, +                    line_height: text::LineHeight::Relative(1.0), +                    shaping: text::Shaping::Basic,                  });          let content = column![default_checkbox, custom_checkbox].spacing(22);  | 
