1
0
mirror of https://github.com/emilk/egui.git synced 2026-08-29 04:40:03 -04:00

fix incorrect theme

This commit is contained in:
adrien
2026-06-26 10:59:54 +02:00
parent 75641c48f0
commit 48e6cbc9e2
3 changed files with 54 additions and 50 deletions

View File

@@ -1,8 +1,8 @@
use std::collections::HashMap;
use eframe::egui::{
Color32,
theme_plugin::{ThemeCache, ThemeStyle, Themes},
Color32, Context,
theme_plugin::{ThemeCache, ThemeStyle},
widget_style::{BaseStyle, ButtonStyle, Classes, HasClasses as _, WidgetState},
};
use logos::Logos;
@@ -78,15 +78,15 @@ impl ESSEngine {
/// This implementation basically do nothing. This is only the minimum requirement with caching.
impl ThemeStyle<BaseStyle> for ESSEngine {
fn style(&mut self, themes: &Themes, classes: &Classes, state: WidgetState) -> BaseStyle {
themes.get::<BaseStyle>(classes, state)
fn style(&mut self, ctx: &Context, classes: &Classes, state: WidgetState) -> BaseStyle {
ctx.get_widget_style::<BaseStyle>(classes, state)
}
}
impl ThemeStyle<ButtonStyle> for ESSEngine {
fn style(&mut self, themes: &Themes, classes: &Classes, state: WidgetState) -> ButtonStyle {
fn style(&mut self, ctx: &Context, classes: &Classes, state: WidgetState) -> ButtonStyle {
self.cache.get(classes, state, || {
let mut default = themes.get::<ButtonStyle>(classes, state);
let mut default = ctx.get_widget_style::<ButtonStyle>(classes, state);
for class in classes.list() {
if let Some(properties) = self.info.get(&class.to_string()) {
for (property, value) in properties {