e_test: add a forceRender function to force rendering 47/300947/1
authorDoyoun Kang <doyoun.kang@samsung.com>
Mon, 6 Nov 2023 09:34:26 +0000 (18:34 +0900)
committerDoyoun Kang <doyoun.kang@samsung.com>
Mon, 6 Nov 2023 09:34:26 +0000 (18:34 +0900)
Change-Id: I685f0883149460f3f7e9bd4533ca423baace0a80

src/e_test_event.cpp
src/e_test_win.cpp
src/e_test_win.h

index efc1a74e1efb8ef41d982ee207f1b8c4357876f8..657685f788746f3a852454d8bedf0b8afddf642d 100644 (file)
@@ -425,8 +425,11 @@ etRunner::setWinIconic(etWin *tw,
      tizen_policy_iconify(tzPolicy,
                           getWlSurface(tw->elm_win));
    else
-     tizen_policy_uniconify(tzPolicy,
-                            getWlSurface(tw->elm_win));
+     {
+        tizen_policy_uniconify(tzPolicy,
+                               getWlSurface(tw->elm_win));
+        tw->forceRender();
+     }
 
    return EINA_TRUE;
 }
index 55a7ea6d9e4ed5bd4a300fae961be1d8f5a21ad1..aa57f39ae356fdf350d22110c243e67a93c47768 100644 (file)
@@ -110,31 +110,51 @@ void etWin::resize(int w, int h)
 
 void etWin::setColor(E_TC_Win_Color color)
 {
+   int r, g, b;
+
    switch (color)
      {
-      case E_TC_WIN_COLOR_BLACK:  elm_bg_color_set(this->bg.obj,   0,   0,   0); break;
-      case E_TC_WIN_COLOR_WHITE:  elm_bg_color_set(this->bg.obj, 255, 255, 255); break;
-      case E_TC_WIN_COLOR_RED:    elm_bg_color_set(this->bg.obj, 255,   0,   0); break;
-      case E_TC_WIN_COLOR_GREEN:  elm_bg_color_set(this->bg.obj,   0, 255,   0); break;
-      case E_TC_WIN_COLOR_BLUE:   elm_bg_color_set(this->bg.obj,   0,   0, 255); break;
-      case E_TC_WIN_COLOR_YELLOW: elm_bg_color_set(this->bg.obj, 255, 255,   0); break;
-      case E_TC_WIN_COLOR_CYAN:   elm_bg_color_set(this->bg.obj,   0, 255, 255); break;
-      case E_TC_WIN_COLOR_PURPLE: elm_bg_color_set(this->bg.obj, 255,   0, 255); break;
-      case E_TC_WIN_COLOR_ORANGE: elm_bg_color_set(this->bg.obj, 255, 165,   0); break;
-      case E_TC_WIN_COLOR_INDIGO: elm_bg_color_set(this->bg.obj, 75,    0, 130); break;
-      case E_TC_WIN_COLOR_KHAKI:  elm_bg_color_set(this->bg.obj, 240, 230, 140); break;
-      case E_TC_WIN_COLOR_GRAY:   elm_bg_color_set(this->bg.obj, 128, 128, 128); break;
-      default:                    elm_bg_color_set(this->bg.obj, 100, 100, 100); break;
+      case E_TC_WIN_COLOR_BLACK:  r = 0;   g = 0;   b = 0; break;
+      case E_TC_WIN_COLOR_WHITE:  r = 255; g = 255; b = 255; break;
+      case E_TC_WIN_COLOR_RED:    r = 255; g = 0;   b = 0; break;
+      case E_TC_WIN_COLOR_GREEN:  r = 0;   g = 255; b = 0; break;
+      case E_TC_WIN_COLOR_BLUE:   r = 0;   g = 0;   b = 255; break;
+      case E_TC_WIN_COLOR_YELLOW: r = 255; g = 255; b = 0; break;
+      case E_TC_WIN_COLOR_CYAN:   r = 0;   g = 255; b = 255; break;
+      case E_TC_WIN_COLOR_PURPLE: r = 255; g = 0;   b = 255; break;
+      case E_TC_WIN_COLOR_ORANGE: r = 255; g = 165; b = 0; break;
+      case E_TC_WIN_COLOR_INDIGO: r = 75;  g = 0;   b = 130; break;
+      case E_TC_WIN_COLOR_KHAKI:  r = 240; g = 230; b = 140; break;
+      case E_TC_WIN_COLOR_GRAY:   r = 128; g = 128; b = 128; break;
+      default:                    r = 100; g = 100; b = 100; break;
      }
-   evas_object_show(this->bg.obj);
+
+   setColor(r, g, b);
 }
 
 void etWin::setColor(int r, int g, int b)
 {
+   this->bg.r = r;
+   this->bg.g = g;
+   this->bg.b = b;
+
    elm_bg_color_set(this->bg.obj, r, g, b);
    evas_object_show(this->bg.obj);
 }
 
+void etWin::forceRender()
+{
+   int temp_r;
+
+   if (this->bg.r > 0)
+     temp_r = this->bg.r - 1;
+   else
+     temp_r = this->bg.r + 1;
+
+   elm_bg_color_set(this->bg.obj, temp_r, this->bg.g, this->bg.b);
+   evas_object_show(this->bg.obj);
+}
+
 static Eina_Bool _cb_timeout(void *data)
 {
    int r = 0, g = 0, b = 0;
index b4de12abc505f7d1a15fa117a8031b9e317823a5..5f8afbc14b7da1f48d3f9167a39907236545aada 100644 (file)
@@ -41,6 +41,9 @@ public: // TODO:: Change to private and add getter & setter
      {
         Ecore_Timer      *timer    = NULL;
         Evas_Object      *obj      = NULL;
+        int              r = 0;
+        int              g = 0;
+        int              b = 0;
      } bg;
 
 public:
@@ -78,6 +81,7 @@ public:
    void setColor(int r, int g, int b);
    void startBGColor(double time);
    void stopBGColor();
+   void forceRender();
 
    /* getter&setter */
    Evas_Object *getElmWin() { return elm_win; }