renderer = plane->renderer;
if (!renderer) return EINA_TRUE;
- if (plane->ec) return EINA_TRUE;
if (plane->is_external) return EINA_TRUE;
- if (!e_plane_renderer_render(renderer, plane->is_fb))
+ if (plane->ec)
{
- ERR("fail to e_plane_renderer_render");
- return EINA_FALSE;
+ if (!e_plane_renderer_norender(renderer, plane->is_fb))
+ {
+ ERR("fail to e_plane_renderer_norender");
+ return EINA_FALSE;
+ }
+ }
+ else
+ {
+ if (!e_plane_renderer_render(renderer, plane->is_fb))
+ {
+ ERR("fail to e_plane_renderer_render");
+ return EINA_FALSE;
+ }
}
return EINA_TRUE;
return EINA_TRUE;
}
+EINTERN Eina_Bool
+e_plane_renderer_norender(E_Plane_Renderer *renderer, Eina_Bool is_fb)
+{
+ EINA_SAFETY_ON_NULL_RETURN_VAL(renderer, EINA_FALSE);
+
+ if (is_fb)
+ evas_norender(renderer->evas);
+
+ return EINA_TRUE;
+}
+
EINTERN Eina_Bool
e_plane_renderer_activate(E_Plane_Renderer *renderer, E_Client *ec)
{
EINTERN E_Plane_Renderer *e_plane_renderer_new(E_Plane *plane);
EINTERN void e_plane_renderer_del(E_Plane_Renderer *renderer);
EINTERN Eina_Bool e_plane_renderer_render(E_Plane_Renderer *renderer, Eina_Bool is_fb);
+EINTERN Eina_Bool e_plane_renderer_norender(E_Plane_Renderer *renderer, Eina_Bool is_fb);
EINTERN Eina_Bool e_plane_renderer_activate(E_Plane_Renderer *renderer, E_Client *ec);
EINTERN Eina_Bool e_plane_renderer_deactivate(E_Plane_Renderer *renderer);
EINTERN Eina_Bool e_plane_renderer_reserved_activate(E_Plane_Renderer *renderer, E_Client *ec);