[WM_ROT] Fixed floating mode window rotation bug that window doesn't send ROTATION_DO...
[platform/core/uifw/e17.git] / src / bin / e_scale.c
1 #include "e.h"
2
3 EAPI double e_scale = 1.0;
4
5 EINTERN int
6 e_scale_init(void)
7 {
8    e_scale_update();
9    return 1;
10 }
11
12 EINTERN int
13 e_scale_shutdown(void)
14 {
15    return 1;
16 }
17
18 EAPI void
19 e_scale_update(void)
20 {
21    int dpi;
22    char buf[128];
23
24    if (e_config->scale.use_dpi)
25      {
26         dpi = ecore_x_dpi_get();
27         e_scale = (double)dpi / (double)e_config->scale.base_dpi;
28         if (e_scale > e_config->scale.max) e_scale = e_config->scale.max;
29         else if (e_scale < e_config->scale.min) e_scale = e_config->scale.min;
30      }
31    else if (e_config->scale.use_custom)
32      {
33         e_scale = e_config->scale.factor;
34         if (e_scale > e_config->scale.max) e_scale = e_config->scale.max;
35         else if (e_scale < e_config->scale.min) e_scale = e_config->scale.min;
36      }
37
38    edje_scale_set(e_scale);
39    snprintf(buf, sizeof(buf), "%1.3f", e_scale);
40    e_util_env_set("E_SCALE", buf);
41    e_hints_scale_update();
42 }