e_mod_effect: set hide flag for hiding animation 37/213337/1
authorJuyeon Lee <juyeonne.lee@samsung.com>
Wed, 4 Sep 2019 08:41:22 +0000 (17:41 +0900)
committerJuyeon Lee <juyeonne.lee@samsung.com>
Wed, 4 Sep 2019 08:42:23 +0000 (17:42 +0900)
set hiding flag to let e20 know animation type whether it is running hide effect
by using e_comp_object_effect_hiding_set()

Change-Id: Ia63068e3a97788f0767b1701d0e29e90e2ea6bf3

src/e_mod_effect.c

index 7abc0b0..69002ed 100644 (file)
@@ -998,6 +998,7 @@ _eff_cb_hidden_done(void *data, Evas_Object *obj, const char *sig, const char *s
                   evas_object_hide(ec->frame);
                }
           }
+        e_comp_object_effect_hiding_set(ec->frame, 0);
      }
 }
 
@@ -1075,7 +1076,11 @@ _eff_cb_hidden(void *data, Evas_Object *obj, const char *signal)
      }
 
    _eff_event_send(ec, EINA_TRUE, E_EFFECT_TYPE_HIDE);
-   e_comp_object_effect_start(ec->frame, _eff_cb_hidden_done, ec);
+   if (e_comp_object_effect_start(ec->frame, _eff_cb_hidden_done, ec))
+     {
+        e_comp_object_effect_hiding_set(ec->frame, 1);
+     }
+
    _eff_object_background_setup(ec, NULL, group, E_EFFECT_TYPE_HIDE);
 
    return EINA_TRUE;
@@ -1210,6 +1215,7 @@ _eff_cb_iconify_done(void *data, Evas_Object *obj, const char *sig, const char *
              if (_eff_client_get(ec))
                evas_object_hide(ec->frame);
           }
+        e_comp_object_effect_hiding_set(ec->frame, 0);
      }
 }
 
@@ -1268,7 +1274,10 @@ _eff_cb_iconify(void *data, Evas_Object *obj, const char *signal)
      }
 
    _eff_event_send(ec, EINA_TRUE, E_EFFECT_TYPE_HIDE);
-   e_comp_object_effect_start(ec->frame, _eff_cb_iconify_done, ec);
+   if (e_comp_object_effect_start(ec->frame, _eff_cb_iconify_done, ec))
+     {
+        e_comp_object_effect_hiding_set(ec->frame, 1);
+     }
 
    return EINA_TRUE;
 }
@@ -1306,6 +1315,7 @@ _eff_cb_restack_hide_done(void *data, Evas_Object *obj, const char *sig, const c
                                             "e");
                }
           }
+        e_comp_object_effect_hiding_set(ec->frame, 0);
      }
 
    _eff_stack_update();
@@ -1488,7 +1498,11 @@ _eff_cb_restack(void *data, Evas_Object *obj, const char *signal)
           }
 
         _eff_event_send(ec, EINA_TRUE, E_EFFECT_TYPE_RESTACK_HIDE);
-        e_comp_object_effect_start(ec->frame, _eff_cb_restack_hide_done, ec);
+        if (e_comp_object_effect_start(ec->frame, _eff_cb_restack_hide_done, ec))
+          {
+             e_comp_object_effect_hiding_set(ec->frame, 1);
+          }
+
         _eff_object_background_setup(ec, ec_home, group, E_EFFECT_TYPE_RESTACK_HIDE);
      }
    else if (!e_util_strcmp(emission, "e,action,restack,finish"))