From ea952c4c58a8efb8c1216c18376fcbf17e5798e5 Mon Sep 17 00:00:00 2001 From: William Casarin Date: Thu, 21 Mar 2024 14:28:49 +0100 Subject: [PATCH] actionbar: support both dark and light buttons since there is no way to do icon masks, we simply use two different textures for dark and light mode reply buttons. I used this command to create the dark mode button: convert reply.png -channel RGB -negate reply-dark.png Signed-off-by: William Casarin --- assets/icons/reply-dark.png | Bin 0 -> 912 bytes src/app.rs | 35 ++++++++++++++--------------------- 2 files changed, 14 insertions(+), 21 deletions(-) create mode 100644 assets/icons/reply-dark.png diff --git a/assets/icons/reply-dark.png b/assets/icons/reply-dark.png new file mode 100644 index 0000000000000000000000000000000000000000..fabe1b05c3382eadb98561cc8b568af74e9c849d GIT binary patch literal 912 zcmV;B18@9^P)004R> z004l5008;`004mK004C`008P>0026e000+ooVrmw00002VoOIv0RM-N%)bBt010qN zS#tmYLwx`MLwy0jcT;@;00QGlL_t(&-tC!BNK`=_$3N=srmF@CDoJESS(FF`b<#W( z{W%r}MPSgSZc-gObPnrW5YnZKQXV5~sW4Ew1{GRj7FtnJiKXVUYrYP%ul&88_a5up z***Avb6DoLGxPn-ym{}w782$xJKHTxLs0o6Vb_6@xZvaT?VLf%9j;T-ooNOWfGvfpz;(0P+@GGzyRwwU}-N(m4zl6hONIg#?Hd8z8d+^6mV`D1h8y8Gxcj z2oM5<03kpK5CVh%s}4Z^C|@i*K-TfE6tG0HB!}Vh1h7;zfRqA|$I!AIhRYLxJgKfR z3Lr<%T!Jqm*|a4V-jXR2C1xzUvQ>$m(M8nIy2pB)7P$9X3Kc2iVSf;#6u| zR1(9@Z9mB4|CKvFwqjRS_b3;c3SdC~v?b-a7V-CA{8OSGn#aic#HZktmWx1Jm zhJ`@#Z)ntAuR0!iblR0^72{?=mpDO<+g>f9lL=3NdWHjukJE9|IF-j zdFdL9IDP-bzjMxng#Tk?A8j-+NW$=cDPgSI_zQq3LTGv7dwu`_02y>eSaefwW^{L9 ma%BK_cXuvnZfkR6VQ^(GZ*pgw?mQX*0000 egui::InnerResponse<()> { - ui.vertical(|ui| { + ui.horizontal(|ui| { + let img_data = if ui.style().visuals.dark_mode { + egui::include_image!("../assets/icons/reply.png") + } else { + egui::include_image!("../assets/icons/reply-dark.png") + }; + + ui.spacing_mut().button_padding = egui::vec2(0.0, 0.0); if ui .add( - egui::Button::image(egui::Image::new(egui::include_image!( - "../assets/icons/reply.png" - ))) - .fill(ui.style().visuals.panel_fill), + egui::Button::image(egui::Image::new(img_data).max_width(10.0)) + //.stroke(egui::Stroke::NONE) + .frame(false) + .fill(ui.style().visuals.panel_fill), ) .clicked() {}