e_config: add fake_output_resolution config 12/240112/10 accepted/tizen/unified/20200807.141023 submit/tizen/20200806.063603 submit/tizen/20200806.232945
authorJunkyeong Kim <jk0430.kim@samsung.com>
Mon, 3 Aug 2020 11:41:07 +0000 (20:41 +0900)
committerDoyoun Kang <doyoun.kang@samsung.com>
Thu, 6 Aug 2020 06:29:57 +0000 (06:29 +0000)
for test environment, can be set fake resolution by fake_output_resolution config.

Change-Id: I96877f517f02f1e27239e41904875b40fd5a9303
Signed-off-by: Junkyeong Kim <jk0430.kim@samsung.com>
src/bin/e_config.c
src/bin/e_config.h
src/bin/e_output.c

index 5a6aabc..66cd505 100644 (file)
@@ -308,6 +308,9 @@ _e_config_edd_init(Eina_Bool old)
    E_CONFIG_VAL(D, T, use_desk_group, UCHAR);
    E_CONFIG_VAL(D, T, desk_zoom_effect.enable, UCHAR);
    E_CONFIG_VAL(D, T, desk_zoom_effect.duration, DOUBLE);
+   E_CONFIG_VAL(D, T, fake_output_resolution.use, UCHAR);
+   E_CONFIG_VAL(D, T, fake_output_resolution.w, INT);
+   E_CONFIG_VAL(D, T, fake_output_resolution.h, INT);
 }
 
 static Eina_Bool
@@ -548,6 +551,7 @@ e_config_load(void)
    E_CONFIG_LIMIT(e_config->use_desk_group, 0, 1);
    E_CONFIG_LIMIT(e_config->desk_zoom_effect.enable, 0, 1);
    E_CONFIG_LIMIT(e_config->desk_zoom_effect.duration, 0.0, 10.0);
+   E_CONFIG_LIMIT(e_config->fake_output_resolution.use, 0, 1);
 }
 
 E_API int
index 475b143..7243b49 100644 (file)
@@ -262,6 +262,14 @@ struct _E_Config
       Eina_Bool enable;
       double    duration;
    } desk_zoom_effect;
+
+   //set fake output resolution environment
+   struct
+   {
+      unsigned char use; // use fake_output_resolution
+      int w;             // fake resolution width
+      int h;             // fake resolution height
+   } fake_output_resolution;
 };
 
 struct _E_Config_Desklock_Background
index 771ba6d..1c0b23a 100644 (file)
@@ -2702,8 +2702,16 @@ e_output_update(E_Output *output)
                   if (tmodes[i].type & TDM_OUTPUT_MODE_TYPE_PREFERRED)
                      rmode->preferred = EINA_TRUE;
 
-                  rmode->w = tmodes[i].hdisplay;
-                  rmode->h = tmodes[i].vdisplay;
+                  if (e_config->fake_output_resolution.use)
+                    {
+                       rmode->w = e_config->fake_output_resolution.w;
+                       rmode->h = e_config->fake_output_resolution.h;
+                    }
+                  else
+                    {
+                       rmode->w = tmodes[i].hdisplay;
+                       rmode->h = tmodes[i].vdisplay;
+                    }
                   rmode->refresh = tmodes[i].vrefresh;
                   rmode->tmode = &tmodes[i];