e_config: add screen_rotation_client_ignore variable 65/156965/3
authorBoram Park <boram1288.park@samsung.com>
Mon, 23 Oct 2017 02:51:44 +0000 (11:51 +0900)
committerJuyeon Lee <juyeonne.lee@samsung.com>
Tue, 24 Oct 2017 05:15:29 +0000 (05:15 +0000)
For all clients to ignore output transform status

Change-Id: I3c9bc13bbaf31fb9543a4b2a387c1c79ef804ebc

src/bin/e_comp_screen.c
src/bin/e_config.c
src/bin/e_config.h

index ff0a460..90cd39a 100644 (file)
@@ -1191,7 +1191,18 @@ e_comp_screen_rotation_ignore_output_transform_send(E_Client *ec, Eina_Bool igno
 
    if (!tzsr) return;
 
-   ELOGF("COMP", "|tzsr(%p) ignore(%d)", NULL, ec, tzsr, ignore);
+   /* if client have to considers the output transform */
+   if (!ignore)
+     {
+        /* exception */
+        if (e_config->screen_rotation_client_ignore)
+          {
+             ELOGF("TRANSFORM", "|tzsr(%p) ignore_output_transform: client_ignore", NULL, ec, tzsr);
+             return;
+          }
+     }
+
+   ELOGF("TRANSFORM", "|tzsr(%p) ignore_output_transform(%d)", NULL, ec, tzsr, ignore);
 
    tizen_screen_rotation_send_ignore_output_transform(tzsr->resource, ec->comp_data->surface, ignore);
 }
index 5905dbf..2790a3d 100644 (file)
@@ -257,6 +257,7 @@ _e_config_edd_init(Eina_Bool old)
 #endif
    E_CONFIG_VAL(D, T, screen_rotation_pre, UINT);
    E_CONFIG_VAL(D, T, screen_rotation_setting, UINT);
+   E_CONFIG_VAL(D, T, screen_rotation_client_ignore, UCHAR);
    E_CONFIG_VAL(D, T, eom_enable, UCHAR);
    E_CONFIG_VAL(D, T, use_cursor_timer, INT);
    E_CONFIG_VAL(D, T, cursor_timer_interval, INT);
@@ -487,6 +488,7 @@ e_config_load(void)
    E_CONFIG_LIMIT(e_config->keyboard.repeat_rate, -1, 1000); // 1 second
    E_CONFIG_LIMIT(e_config->screen_rotation_pre, 0, 270);
    E_CONFIG_LIMIT(e_config->screen_rotation_setting, 0, 270);
+   E_CONFIG_LIMIT(e_config->screen_rotation_client_ignore, 0, 1);
    E_CONFIG_LIMIT(e_config->eom_enable, 0, 1);
    E_CONFIG_LIMIT(e_config->use_cursor_timer, 0, 1);
    E_CONFIG_LIMIT(e_config->sleep_for_dri, 0, 1);
index ebd9b13..5b462d7 100644 (file)
@@ -149,6 +149,7 @@ struct _E_Config
 #endif
    unsigned int screen_rotation_pre; // screen-rotation value as default (0/90/180/270)
    unsigned int screen_rotation_setting; // screen-rotation value which is set in runtime (0/90/180/270)
+   Eina_Bool screen_rotation_client_ignore; // client ignores screen rotation (0/1)
    Eina_Bool eom_enable; // 0: eom disable, 1: eom enable
    int use_cursor_timer; // boolean value for enabling cursor timer (default : disable : 0)
    int cursor_timer_interval; // time value the cursor will be displayed in second (default : 5)