234:a1d70b8018c1 | 235:e9540bfa5803 |
---|---|
29 #include "ascension/ui.h" | 29 #include "ascension/ui.h" |
30 | 30 |
31 #include "ascension/context.h" | 31 #include "ascension/context.h" |
32 #include "ascension/scene.h" | 32 #include "ascension/scene.h" |
33 | 33 |
34 #include <math.h> | |
35 | |
34 void asc_ui_add_node(AscSceneNode *node) { | 36 void asc_ui_add_node(AscSceneNode *node) { |
35 asc_scene_add_node(&asc_active_window->ui, node); | 37 asc_scene_add_node(&asc_active_window->ui, node); |
36 } | 38 } |
37 | 39 |
38 void asc_ui_scale(float scale) { | 40 void asc_ui_scale(float scale) { |
43 return asc_active_window->ui_scale; | 45 return asc_active_window->ui_scale; |
44 } | 46 } |
45 | 47 |
46 float asc_ui_scale_auto(void) { | 48 float asc_ui_scale_auto(void) { |
47 const asc_vec2u res = asc_window_display_resolution(); | 49 const asc_vec2u res = asc_window_display_resolution(); |
48 float scale; | 50 float scale = roundf((float)res.height / 108.f) / 10.f; |
49 if (res.width > 3100) { | |
50 scale = 2.0f; | |
51 } else if (res.width > 2000) { | |
52 scale = 1.5f; | |
53 } else { | |
54 scale = 1.f; | |
55 } | |
56 asc_ui_scale(scale); | 51 asc_ui_scale(scale); |
57 return scale; | 52 return scale; |
58 } | 53 } |