feat: add kraft paper tiled background texture for comfortable reading
This commit is contained in:
@@ -8,6 +8,7 @@ pub struct App {
|
||||
pub state: AppState,
|
||||
settings: Settings,
|
||||
settings_dir: std::path::PathBuf,
|
||||
kraft_texture: Option<egui::TextureHandle>,
|
||||
}
|
||||
|
||||
pub struct AppState {
|
||||
@@ -51,6 +52,7 @@ impl App {
|
||||
let settings_dir = persistence::settings_dir();
|
||||
let settings = persistence::load_settings(&settings_dir).unwrap_or_default();
|
||||
cc.egui_ctx.set_style(theme::create_style(&settings.theme));
|
||||
let kraft_texture = Some(crate::texture::generate_kraft_paper(&cc.egui_ctx));
|
||||
Self {
|
||||
state: AppState {
|
||||
book: None,
|
||||
@@ -62,6 +64,7 @@ impl App {
|
||||
},
|
||||
settings,
|
||||
settings_dir,
|
||||
kraft_texture,
|
||||
}
|
||||
}
|
||||
|
||||
@@ -189,6 +192,8 @@ impl eframe::App for App {
|
||||
&mut self.settings.font_size,
|
||||
&self.settings.theme,
|
||||
&file_path,
|
||||
self.kraft_texture.as_ref(),
|
||||
self.settings.use_kraft_bg,
|
||||
);
|
||||
|
||||
if action.go_back {
|
||||
@@ -198,6 +203,10 @@ impl eframe::App for App {
|
||||
self.state.current_page = 0;
|
||||
}
|
||||
|
||||
if action.toggle_kraft_bg {
|
||||
self.settings.use_kraft_bg = !self.settings.use_kraft_bg;
|
||||
}
|
||||
|
||||
if action.toggle_theme {
|
||||
self.settings.theme = match self.settings.theme {
|
||||
theme::Theme::Light => theme::Theme::Dark,
|
||||
|
||||
Reference in New Issue
Block a user