From 700262e05c76e003158acfeb8edd9f6b026d78cf Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?H=C3=A9ctor=20Ram=C3=B3n=20Jim=C3=A9nez?= Date: Fri, 24 Feb 2023 13:56:37 +0100 Subject: [PATCH] Fix `checkbox` example --- examples/checkbox/fonts/icons.ttf | Bin 1272 -> 1784 bytes examples/checkbox/src/main.rs | 28 +++++++++++++++++++--------- native/src/widget/checkbox.rs | 2 +- 3 files changed, 20 insertions(+), 10 deletions(-) diff --git a/examples/checkbox/fonts/icons.ttf b/examples/checkbox/fonts/icons.ttf index a20468447859c36c31b597f00325c92d501ba46f..82f284819e03ac896cb04aac5a05b04100a3d669 100644 GIT binary patch literal 1784 zcmZQzWME+6WoTevW(aU|3-MjR{fUQxf$a_h1A~mai>n)hI)elQ1KS=31_lNHV0|Ng zA=Whv42%&B3=9d$xrqhrg_qtiFfd+WU|>v1Pb@BAU|Q4-sZbop zz`*Rmz`&@Hk(!vI^s6SFfq?;JzF9^_Y9f0s^Kk|SMiB-E29=E5k_zrs3<(Sjj5`<@ z7^HIYlM@*-7`8AlFk67k%}uN*VBlm>XJB9i@fGqCb5m!}{Km<^z*4}#!1$>kzqo{Z zS9Jjc16v9M1497VZww3!qP|>m@%%Pl8Ms*(K;VJ!wP|2lE-@2CGp}aO2Dz7k3B+Sy z0O?~s@c#e<14KRZYLEz24nnbkMc5fs!88M0Cqx!RGBY{!91H>s5)1(hQ^27M z@g@@kgC!_rAv|!@VC5$;I500@c3_ZaU|>{JS5snV<7ZTdFxc7H*+j&}#5ozw%*{;H z)tF=C)Ybge)#S|0K@2rDc_l$XK|v+P7{(Ydi)t&BzK7`}gbLFMb_<<`^G-T|p3sPZy*Bs)=7m zkdYHr6F5i&7>=QY7N`UQl+DT@#;_F1 zW@F%DI0f?=rI^DC@@$tC@>&Qg7A$POc-<-jKJ7{!HB__fx#_5 zuf#3CC_PodNY6mQN&#%6f|Y`iiLQ~Zk%5sh1Cl8)_k=N|G88csGh~A8S70y%+sP1? zT2!2wpQm7`XMjx?%(V(&m*#=ZNMtBsNM%T2P+&-6sAN!J@C5tammwc)vL3{J3hAkN zsYQt;sVNFcl?tB8`M&x2d3vCrLN6acV#t`Cfq{{Ufr*isftitok(IqPFVn!lzyL}c zf@oJu2;bGxz>tBFf${%;XlenKO`tpovIA5of@n~R0%1_9Vqjpne{&Z|6$5g)4*+x` B*d+h} delta 853 zcmeyt`-8KdfsuiMft#U$ftkU;KUm+0Ux>AVfq`KU0|P@sa&BUQc-W;51_nkM1_p+Z z^u*!<1_lNJ1_nkD&5@o{nPwx9$IQUMSi!)+Xp)hdn4+lOUzB3>Bae*fq^-Ifq}8DAiubTfti7Ufq~@)NS=Y2IdpOiW3(bj2qX@| zG7OAhH8Kp$V9&`gurOFm{=%qO&-nkbI15x1qyvN*85sZnXW$2`1o0Udm>3w$EkU6| zf>E304L%1_daaje(CL2+HPSFkx7dnVg@SpP$E&$&k#D&ydTI&ydfM7nWL7 zoSC1eV5n!n5XO+oP{dHokO`7tP+%}*&|@&bstY0*jAm9)YIFL@Am|xBR>kh4j?C)S|?a)D(rJN(Im4eBb>1JiW<+Y-UUh%##zD 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) { + ( + Self::default(), + font::load(include_bytes!("../fonts/icons.ttf").as_ref()) + .map(Message::FontLoaded), + ) } fn title(&self) -> String { String::from("Checkbox - Iced") } - fn update(&mut self, message: Message) { + fn update(&mut self, message: Message) -> Command { match message { Message::DefaultChecked(value) => self.default_checkbox = value, Message::CustomChecked(value) => self.custom_checkbox = value, + Message::FontLoaded(_) => (), } + + Command::none() } fn view(&self) -> Element { diff --git a/native/src/widget/checkbox.rs b/native/src/widget/checkbox.rs index 0e21e995..6ba06d3b 100644 --- a/native/src/widget/checkbox.rs +++ b/native/src/widget/checkbox.rs @@ -267,7 +267,7 @@ where code_point, size, } = &self.icon; - let size = size.map(f32::from).unwrap_or(bounds.height * 0.7); + let size = size.unwrap_or(bounds.height * 0.7); if self.is_checked { renderer.fill_text(text::Text {