1use gpui::App;
4
5pub trait AppExt {
7 fn brand(&self) -> crate::Brand;
9
10 fn set_brand(&mut self, brand: crate::Brand);
12
13 fn appearance_mode(&self) -> crate::appearance::AppearanceMode;
15
16 fn set_appearance_mode(&mut self, mode: crate::appearance::AppearanceMode);
18
19 fn set_palette(&mut self, build: impl Fn(crate::Appearance) -> crate::Theme + 'static);
22
23 fn set_base_text_size(&mut self, points: f32);
25}
26
27impl AppExt for App {
28 fn brand(&self) -> crate::Brand {
29 crate::brand::brand(self)
30 }
31
32 fn set_brand(&mut self, brand: crate::Brand) {
33 crate::brand::set_brand(brand, self)
34 }
35
36 fn appearance_mode(&self) -> crate::appearance::AppearanceMode {
37 crate::appearance::mode(self)
38 }
39
40 fn set_appearance_mode(&mut self, mode: crate::appearance::AppearanceMode) {
41 crate::appearance::set_mode(mode, self)
42 }
43
44 fn set_palette(&mut self, build: impl Fn(crate::Appearance) -> crate::Theme + 'static) {
45 crate::theme::install::set_palette(build, self)
46 }
47
48 fn set_base_text_size(&mut self, points: f32) {
49 crate::theme::typography::set_base_text_size(points, self)
50 }
51}