diff --git a/crates/egui/src/context.rs b/crates/egui/src/context.rs index 76b03e881..982f7d146 100644 --- a/crates/egui/src/context.rs +++ b/crates/egui/src/context.rs @@ -2056,7 +2056,7 @@ impl Context { } /// Compute the [`WidgetStyle`] using the registered theme. - pub(crate) fn get_widget_style( + pub fn get_widget_style( &self, classes: &Classes, state: WidgetState, diff --git a/examples/styling_engine/src/custom_engine.rs b/examples/styling_engine/src/custom_engine.rs index 293b428a7..a635a65e3 100644 --- a/examples/styling_engine/src/custom_engine.rs +++ b/examples/styling_engine/src/custom_engine.rs @@ -3,9 +3,7 @@ use std::collections::HashMap; use eframe::egui::{ Color32, theme_plugin::{ThemeCache, ThemeStyle, Themes}, - widget_style::{ - BaseStyle, ButtonStyle, Classes, HasClasses as _, WidgetState, WidgetStyle as _, - }, + widget_style::{BaseStyle, ButtonStyle, Classes, HasClasses as _, WidgetState}, }; use logos::Logos; @@ -81,18 +79,16 @@ impl ESSEngine { /// This implementation basically do nothing. This is only the minimum requirement with caching. impl ThemeStyle for ESSEngine { fn style(&mut self, themes: &Themes, classes: &Classes, state: WidgetState) -> BaseStyle { - let current = themes.get::(classes, state); - self.cache - .get(classes, state, || BaseStyle::default_style(classes, state)) + themes.get::(classes, state) } } impl ThemeStyle for ESSEngine { fn style(&mut self, themes: &Themes, classes: &Classes, state: WidgetState) -> ButtonStyle { self.cache.get(classes, state, || { - let mut default = ButtonStyle::default_style(classes, state); - for classe in classes.list() { - if let Some(properties) = self.info.get(&classe.to_string()) { + let mut default = themes.get::(classes, state); + for class in classes.list() { + if let Some(properties) = self.info.get(&class.to_string()) { for (property, value) in properties { match property.as_str() { "fill" => { diff --git a/tests/egui_tests/tests/test_atoms.rs b/tests/egui_tests/tests/test_atoms.rs index 48babfbd7..f8d66bea7 100644 --- a/tests/egui_tests/tests/test_atoms.rs +++ b/tests/egui_tests/tests/test_atoms.rs @@ -1,5 +1,6 @@ use egui::{ - Align, Atom, AtomExt as _, AtomLayout, Button, Direction, Frame, Layout, TextWrapMode, Ui, Vec2, + Align, Atom, AtomExt as _, AtomLayout, Button, Direction, Frame, Layout, TextWrapMode, Ui, + Vec2, widget_style::ButtonStyle, }; use egui_kittest::{HarnessBuilder, SnapshotResult, SnapshotResults}; @@ -129,8 +130,8 @@ fn test_atom_layout_nesting_and_direction() { let style = ui.style(); let canvas_frame = Frame::canvas(style); - let button_frame = style - .button_style( + let button_frame = ui + .get_widget_style::( &egui::widget_style::Classes::default(), egui::widget_style::WidgetState::Inactive, )