static void _cb_signal_stack_changed(void *data, const Eldbus_Message *msg);
static void _cb_signal_win_rot_changed(void *data, const Eldbus_Message *msg);
static void _cb_signal_focus_changed(void *data, const Eldbus_Message *msg);
-static void _cb_signal_effect_run(void *data, const Eldbus_Message *msg);
+static void _cb_signal_render_while_effect_run(void *data, const Eldbus_Message *msg);
/* callbacks - ecore */
static Eina_Bool _cb_ecore_key(void *data, int type, void *event);
}
Eina_Bool
-etRunner::setWindowEffectType(etWin *tw, E_TC_Window_Effect_type type)
+etRunner::setWinEffect(etWin *tw)
{
Eldbus_Pending *p = NULL;
Eina_Bool accepted = EINA_FALSE;
- this->ev.effect.type = type;
this->ev.win = tw->elm_win;
p = eldbus_proxy_call(dbus.proxy,
- "SetWindowEffect",
+ "RenderTrace",
_cb_method_window_effect,
&accepted,
-1,
- "ui",
+ "us",
tw->native_win,
- type);
+ "effect");
EINA_SAFETY_ON_NULL_RETURN_VAL(p, EINA_FALSE);
- this->ev.sh = eldbus_proxy_signal_handler_add(dbus.proxy,
- "EffectRun",
- _cb_signal_effect_run,
- this);
- EINA_SAFETY_ON_NULL_RETURN_VAL(this->ev.sh, EINA_FALSE);
work();
-
return accepted;
}
break;
case E_TC_EVENT_TYPE_EFFECT:
- EINA_SAFETY_ON_NULL_GOTO(this->ev.sh, finish);
+ sh = eldbus_proxy_signal_handler_add(dbus.proxy,
+ "RenderRun",
+ _cb_signal_render_while_effect_run,
+ this);
break;
case E_TC_EVENT_TYPE_EFFECT_EVAS_CB:
}
static void
-_cb_signal_effect_run(void *data,
+_cb_signal_render_while_effect_run(void *data,
const Eldbus_Message *msg)
{
etRunner *runner = (etRunner *)data;
const char *name = NULL, *text = NULL;
Eina_Bool res = EINA_FALSE;
- unsigned int effect_type = 0;
- Ecore_Window id;
res = eldbus_message_error_get(msg, &name, &text);
EINA_SAFETY_ON_TRUE_GOTO(res, finish);
- res = eldbus_message_arguments_get(msg, "ui", &id, &effect_type);
- EINA_SAFETY_ON_FALSE_GOTO(res, finish);
+ runner->ev.response = runner->ev.request;
+ elm_exit();
- if (effect_type == runner->ev.effect.type)
- {
- runner->ev.response = runner->ev.request;
- elm_exit();
- }
finish:
if ((name) || (text))
{
(!strstr(arg, "method name=\"HWC\"" )) ||
(!strstr(arg, "method name=\"GetCurrentZoneRotation\"" )) ||
(!strstr(arg, "method name=\"ChangeZoneRotation\"" )) ||
- (!strstr(arg, "method name=\"SetWindowEffect\"" )) ||
+ (!strstr(arg, "method name=\"RenderTrace\"" )) ||
(!strstr(arg, "signal name=\"VisibilityChanged\"" )) ||
(!strstr(arg, "signal name=\"StackChanged\"" )) ||
(!strstr(arg, "signal name=\"WinRotationChanged\"" )) ||
(!strstr(arg, "signal name=\"FocusChanged\"" )) ||
- (!strstr(arg, "signal name=\"EffectRun\"" )) ||
+ (!strstr(arg, "signal name=\"RenderRun\"" )) ||
(!strstr(arg, "property name=\"Registrant\"" )))
{
ERR("missing mehod, signal or property:%s\n", arg);
tw = initNormalWin("TCWin_Effect_Show", EINA_FALSE, EINA_FALSE);
ASSERT_TRUE(tw != NULL) << "failed to initiation window";
- res = etRunner::get().setWindowEffectType(tw, E_TC_EFFECT_SHOW);
+ res = registerTCWin(tw);
+ ASSERT_TRUE(res);
+
+ res = etRunner::get().setWinEffect(tw);
ASSERT_TRUE(res);
tw->updateGeometry();
tw = initNormalWin("TCWin_Effect_Hide", EINA_FALSE, EINA_FALSE);
ASSERT_TRUE(tw != NULL) << "failed to initiation window";
+ res = registerTCWin(tw);
+ ASSERT_TRUE(res);
+
tw->updateGeometry();
tw->show();
etRunner::get().work(1.1);
- res = etRunner::get().setWindowEffectType(tw, E_TC_EFFECT_HIDE);
+ res = etRunner::get().setWinEffect(tw);
ASSERT_TRUE(res);
etRunner::get().work(1.1);
- tw->hide();
+ elm_win_lower(tw->elm_win);
res = etRunner::get().waitEvent(E_TC_EVENT_TYPE_EFFECT);
ASSERT_TRUE(res);