struct _E_View_Client
{
E_View view;
+ E_View_Image *external_view_image;
+ E_View *external_view;
+ E_View_Client_External_View_Type external_view_type;
E_View *content;
E_View *effect;
struct wl_list mirror;
return e_comp_object_color_visible_get(client->view.eo);
}
+E_API bool
+e_view_client_external_view_image_set(E_View_Client *client, E_View_Image *view_image)
+{
+ E_View *view;
+
+ if (client == NULL) return false;
+ if (view_image == NULL) return false;
+
+ view = e_view_image_view_get(view_image);
+ if (view->type != E_VIEW_TYPE_IMAGE) return false;
+
+ if (!e_comp_object_content_set(client->view.eo, view->eo, E_COMP_OBJECT_CONTENT_TYPE_EXT_IMAGE))
+ return false;
+
+ client->external_view_image = view_image;
+ client->external_view = e_view_image_view_get(view_image);
+ client->external_view_type = E_VIEW_CLIENT_EXTERNAL_VIEW_TYPE_IMAGE;
+
+ return true;
+}
EINTERN E_View *
e_view_client_content_get(E_View_Client *client)
#endif
#include <e_view.h>
+#include <e_view_image.h>
#include <e_comp_object.h>
typedef enum
void e_view_client_color_get(E_View_Client *client, int *r, int *g, int *b, int *a);
bool e_view_client_content_set(E_View_Client *client, E_View *content, E_Comp_Object_Content_Type type);
E_Comp_Object_Content_Type e_view_client_content_type_get(E_View_Client *client);
+bool e_view_client_external_view_image_set(E_View_Client *client, E_View_Image *view_image);
void e_view_client_damage(E_View_Client *client, int x, int y, int width, int height);
void e_view_client_dirty(E_View_Client *client);
E_View *e_view_client_effect_object_get(E_View_Client *client);