e_canvas: make e_canvas_intern.h
authorSooChan Lim <sc1.lim@samsung.com>
Mon, 9 Dec 2024 08:42:41 +0000 (17:42 +0900)
committerJunseok Kim <juns.kim@samsung.com>
Fri, 13 Dec 2024 05:15:51 +0000 (14:15 +0900)
extract the canvas api from e_view_intern.h

Change-Id: Ice8ac4b0ff70c8a4d23316b46d79e873033cb05d

20 files changed:
src/bin/compmgr/e_comp_canvas.c
src/bin/core/e_canvas.c
src/bin/core/e_canvas_intern.h [new file with mode: 0644]
src/bin/core/e_client.c
src/bin/core/e_view.c
src/bin/core/e_view_client.c
src/bin/core/e_view_edje.c
src/bin/core/e_view_image.c
src/bin/core/e_view_intern.h
src/bin/core/e_view_layout.c
src/bin/core/e_view_rect.c
src/bin/displaymgr/e_hwc.c
src/bin/server/e_policy_wl.c
src/bin/windowmgr/e_pointer.c
src/bin/windowmgr/e_policy.c
tests/tc-e_canvas.cpp
tests/tc-e_view.cpp
tests/tc-e_view_image.cpp
tests/tc-e_view_layout.cpp
tests/tc-e_view_rect.cpp

index d2a62fcc4b2676a403be4e6dfe55bd245f220e0c..bcc8bc10c79b34ff99575b10f2ccbbfca21b624d 100644 (file)
@@ -12,6 +12,7 @@
 #include "e_view_edje_intern.h"
 #include "e_display_intern.h"
 #include "e_hwc_windows_intern.h"
+#include "e_canvas_intern.h"
 
 #include <gbm.h>
 
index 79139d0b929a0174e1ca15d9f3759f6b9695cdde..1a0fcf1bdc738dc2b923604975a6874688817ba8 100644 (file)
@@ -1,4 +1,5 @@
 #include "e_intern.h"
+#include "e_canvas_intern.h"
 #include "e_view_intern.h"
 
 #define E_CANVAS_LAYER_TREE_FOREACH(layer_tree, canvas, layer) \
diff --git a/src/bin/core/e_canvas_intern.h b/src/bin/core/e_canvas_intern.h
new file mode 100644 (file)
index 0000000..8e8d15a
--- /dev/null
@@ -0,0 +1,100 @@
+#ifndef E_CANVAS_INTERN_H
+#define E_CANVAS_INTERN_H
+
+#ifdef  __cplusplus
+extern "C" {
+#endif
+
+#include "e_canvas.h"
+#include "e_view_intern.h"
+
+typedef struct _E_Canvas E_Canvas;
+typedef struct _E_Canvas_Layer_Tree E_Canvas_Layer_Tree;
+
+struct _E_Canvas_Layer_Tree
+{
+   E_View_Tree tree;
+   E_Canvas_Layer layer;
+};
+
+struct _E_Canvas
+{
+   E_View_Tree tree;
+   E_Canvas_Layer_Tree layers[E_CANVAS_LAYER_MAX + 1];
+
+   Evas *evas;
+
+   struct
+     {
+        struct wl_signal destroy;
+        struct wl_signal render_pre;
+        struct wl_signal render_post;
+        struct wl_signal render_flush_pre;
+        struct wl_signal render_flush_post;
+     } events;
+};
+
+/**
+ * Create E_Canvas
+ */
+E_Canvas *e_canvas_create(Evas *evas);
+
+/**
+ * Destroy E_Canvas
+ */
+void e_canvas_destroy(E_Canvas *canvas);
+
+/**
+ * Get Evas
+ */
+Evas *e_canvas_evas_get(E_Canvas *canvas);
+
+E_Canvas *e_canvas_get(E_View *view);
+
+/**
+ * Register a listener for the destroy of canvas.
+ */
+void e_canvas_destroy_listener_add(E_Canvas *canvas, struct wl_listener *listener);
+
+/**
+ * Register a listener called just before rendering starts on the canvas target.
+ */
+void e_canvas_render_pre_listener_add(E_Canvas *canvas, struct wl_listener *listener);
+
+/**
+ * Register a listener called just after rendering stops on the canvas target.
+ */
+void e_canvas_render_post_listener_add(E_Canvas *canvas, struct wl_listener *listener);
+
+/**
+ * Register a listener called after render update regions have been calculated,
+ * but only if update regions exist.
+ */
+void e_canvas_render_flush_pre_listener_add(E_Canvas *canvas, struct wl_listener *listener);
+
+/**
+ * Register a listener called after render update regions have been sent to the
+ * display server, but only if update regions existed for the most recent frame.
+ */
+void e_canvas_render_flush_post_listener_add(E_Canvas *canvas, struct wl_listener *listener);
+
+/**
+ * Get view layer info
+ */
+E_Canvas_Layer e_canvas_layer_find(E_Canvas *canvas, E_View *view);
+
+void e_canvas_damage_rectangle_add(E_Canvas *canvas, int x, int y, int w, int h);
+
+E_Canvas_Layer_Tree *e_canvas_layer_tree_from_tree(E_View_Tree *tree);
+
+void e_canvas_size_get(E_Canvas *canvas, int *width, int *height);
+
+E_Canvas_Layer e_canvas_util_e_layer_map(short layer);
+
+E_Layer e_canvas_util_layer_map(E_Canvas_Layer layer);
+
+#ifdef  __cplusplus
+}
+#endif
+
+#endif
index 806c695101234bd85727c9bca4b97582e8a5b9f9..8fac69ab5312246fb91dc1dc34433b85ca11f524 100644 (file)
@@ -26,6 +26,7 @@
 #include "e_policy_zone_intern.h"
 #include "e_comp_canvas_intern.h"
 #include "e_hwc_window_intern.h"
+#include "e_canvas_intern.h"
 
 #define PRI(ec) ((E_Client_Private *)e_object_data_get(E_OBJECT(ec)))
 
index 6bbaa714a34f83fa3484616d9514c90c29af544e..39238f4b4e3a4f1a7bcf346446ccbec15692e649 100644 (file)
@@ -1,6 +1,7 @@
 #include "e_intern.h"
 #include "e_view_intern.h"
 #include "e_map_intern.h"
+#include "e_canvas_intern.h"
 
 #include <assert.h>
 #include <stddef.h>
@@ -226,7 +227,7 @@ e_view_destroy(E_View *view)
 }
 
 E_API E_Canvas *
-e_view_root_get(E_View *view)
+e_canvas_get(E_View *view)
 {
    E_Canvas *canvas;
    E_View_Tree *tree;
@@ -682,7 +683,7 @@ e_view_layer_index_get(E_View *view)
    E_Canvas *canvas;
    E_Canvas_Layer_Tree *layer_tree;
 
-   canvas = e_view_root_get(view);
+   canvas = e_canvas_get(view);
    while (1)
      {
         assert(view->parent);
index 4acf7fb9179cd1a5024428570458e7550c290c14..0ea824d0f06b053bcb2d954785177b394d5143c8 100644 (file)
@@ -1,5 +1,5 @@
 #include "e_intern.h"
-#include "e_canvas.h"
+#include "e_canvas_intern.h"
 #include "e_view_client_intern.h"
 #include "e_view_intern.h"
 #include "e_comp_object_intern.h"
@@ -932,7 +932,7 @@ e_view_client_layer_set(E_View_Client *client, E_Canvas_Layer layer)
 
    E_View_Tree *layer_tree;
 
-   layer_tree = e_canvas_layer_view_tree_get(e_view_root_get(&client->view), layer);
+   layer_tree = e_canvas_layer_view_tree_get(e_canvas_get(&client->view), layer);
    e_view_reparent(&client->view, layer_tree);
    evas_object_layer_set(client->view.eo, e_canvas_util_layer_map(layer));
 }
index f07931f103b6e9bf0312c431a742d9232cbefcef..06fe48a3b75bd85841eaaeb555283e1c0118075b 100644 (file)
@@ -6,6 +6,7 @@
 #include "e_comp_intern.h"
 #include "e_comp_object_intern.h"
 #include "e_utils_intern.h"
+#include "e_canvas_intern.h"
 
 #define EDJE_EDIT_IS_UNSTABLE_AND_I_KNOW_ABOUT_IT
 #include <Edje_Edit.h>
@@ -80,7 +81,7 @@ e_view_edje_create(E_View_Tree *parent)
 
    assert(parent != NULL);
 
-   canvas = e_view_root_get(&parent->view);
+   canvas = e_canvas_get(&parent->view);
    if (!canvas)
      return NULL;
 
@@ -331,7 +332,7 @@ e_view_edje_edit_create(E_View_Tree *parent)
 
    assert(parent != NULL);
 
-   canvas = e_view_root_get(&parent->view);
+   canvas = e_canvas_get(&parent->view);
    if (!canvas)
      return NULL;
 
index de121b0bfb69c54969129366a598b45985404487..6dffb37e07714d9b2809b7b5e19c1b8456fb5645 100644 (file)
@@ -1,6 +1,7 @@
 #include "e_intern.h"\r
 #include "e_view_intern.h"\r
 #include "e_view_image.h"\r
+#include "e_canvas_intern.h"\r
 \r
 #include <Evas.h>\r
 //#include <Edje.h> // for using efl_gfx_filter_program_set()\r
@@ -274,7 +275,7 @@ e_view_image_create(E_View_Tree *parent)
 \r
    assert(parent != NULL);\r
 \r
-   canvas = e_view_root_get(&parent->view);\r
+   canvas = e_canvas_get(&parent->view);\r
    if (!canvas)\r
      return NULL;\r
 \r
@@ -310,7 +311,7 @@ e_view_image_filled_create(E_View_Tree *parent)
 \r
    assert(parent != NULL);\r
 \r
-   canvas = e_view_root_get(&parent->view);\r
+   canvas = e_canvas_get(&parent->view);\r
    if (!canvas)\r
      return NULL;\r
 \r
index 153ab95d653e6fb6c914227abdd1bfe89cadbe66..40042b65c2b1a0df698a78ce3933ee0145c365f9 100644 (file)
@@ -11,8 +11,6 @@ extern "C" {
 struct _E_Map;
 typedef struct _E_Map E_Map;
 
-typedef struct _E_Canvas E_Canvas;
-typedef struct _E_Canvas_Layer_Tree E_Canvas_Layer_Tree;
 typedef struct _E_View_Tree E_View_Tree;
 typedef struct _E_View E_View;
 typedef struct _E_View_Client E_View_Client;
@@ -79,29 +77,6 @@ struct _E_View_Tree
    struct wl_list children; // bottom to top
 };
 
-struct _E_Canvas_Layer_Tree
-{
-   E_View_Tree tree;
-   E_Canvas_Layer layer;
-};
-
-struct _E_Canvas
-{
-   E_View_Tree tree;
-   E_Canvas_Layer_Tree layers[E_CANVAS_LAYER_MAX + 1];
-
-   Evas *evas;
-
-   struct
-     {
-        struct wl_signal destroy;
-        struct wl_signal render_pre;
-        struct wl_signal render_post;
-        struct wl_signal render_flush_pre;
-        struct wl_signal render_flush_post;
-     } events;
-};
-
 struct _E_View_Client
 {
    E_View view;
@@ -131,66 +106,8 @@ struct _E_View_Edje
    struct wl_listener restack;
 };
 
-/**
- * Create E_Canvas
- */
-E_Canvas *e_canvas_create(Evas *evas);
-
-/**
- * Destroy E_Canvas
- */
-void e_canvas_destroy(E_Canvas *canvas);
-
-/**
- * Get Evas
- */
-Evas *e_canvas_evas_get(E_Canvas *canvas);
-
-/**
- * Register a listener for the destroy of canvas.
- */
-void e_canvas_destroy_listener_add(E_Canvas *canvas, struct wl_listener *listener);
-
-/**
- * Register a listener called just before rendering starts on the canvas target.
- */
-void e_canvas_render_pre_listener_add(E_Canvas *canvas, struct wl_listener *listener);
-
-/**
- * Register a listener called just after rendering stops on the canvas target.
- */
-void e_canvas_render_post_listener_add(E_Canvas *canvas, struct wl_listener *listener);
-
-/**
- * Register a listener called after render update regions have been calculated,
- * but only if update regions exist.
- */
-void e_canvas_render_flush_pre_listener_add(E_Canvas *canvas, struct wl_listener *listener);
-
-/**
- * Register a listener called after render update regions have been sent to the
- * display server, but only if update regions existed for the most recent frame.
- */
-void e_canvas_render_flush_post_listener_add(E_Canvas *canvas, struct wl_listener *listener);
-
-/**
- * Get view layer info
- */
-E_Canvas_Layer e_canvas_layer_find(E_Canvas *canvas, E_View *view);
-
-void e_canvas_damage_rectangle_add(E_Canvas *canvas, int x, int y, int w, int h);
-
-E_Canvas_Layer_Tree *e_canvas_layer_tree_from_tree(E_View_Tree *tree);
-
-void e_canvas_size_get(E_Canvas *canvas, int *width, int *height);
-
-E_Canvas_Layer e_canvas_util_e_layer_map(short layer);
-
-E_Layer e_canvas_util_layer_map(E_Canvas_Layer layer);
-
 void e_view_init(E_View *view, E_View_Type type, E_View_Impl *impl, Evas_Object *eo, E_View_Tree *parent);
 void e_view_reorderable_set(E_View *view, bool reorderable);
-E_Canvas *e_view_root_get(E_View *view);
 
 E_View_Tree *e_view_tree_from_view(E_View *view);
 void e_view_tree_init(E_View_Tree *tree, const E_View_Tree_Impl *impl, E_View_Tree *parent);
index 48db60263facd231b9cfc113ef4a07e6781b5a7c..6d5f9c86dbe8680d1cfecd357ff492df5bf6862e 100644 (file)
@@ -1,6 +1,7 @@
 #include "e_view_layout_intern.h"
 #include "e_layout_intern.h"
 #include "e_view_intern.h"
+#include "e_canvas_intern.h"
 
 struct _E_View_Layout
 {
@@ -175,7 +176,7 @@ e_view_layout_create(E_View_Tree *parent)
 
    layout->children = NULL;
 
-   canvas = e_view_root_get(&parent->view);
+   canvas = e_canvas_get(&parent->view);
    eo = e_layout_add(canvas->evas);
    if (!eo)
      {
index 5f73271930e237d5972669931ebd807e28f08bec..f9deceed9793127946241dd55bf1a7e83c51d371 100644 (file)
@@ -1,6 +1,7 @@
 #include "e_intern.h"
 #include "e_view_intern.h"
 #include "e_view_rect.h"
+#include "e_canvas_intern.h"
 
 typedef struct _E_View_Rect_Impl  E_View_Rect_Impl;
 
@@ -63,7 +64,7 @@ e_view_rect_create(E_View_Tree *parent, int width, int height, const int color[4
    if (!rect)
      return NULL;
 
-   canvas = e_view_root_get(&parent->view);
+   canvas = e_canvas_get(&parent->view);
    eo = evas_object_rectangle_add(canvas->evas);
    if (!eo)
      {
index 3a9c5c5ecd40ae31925891e72022641a2819cb9d..55b3440c66007d4df4af22e09a14258101e92b3d 100644 (file)
@@ -10,6 +10,7 @@
 #include "e_display_intern.h"
 #include "e_view_intern.h"
 #include "e_view_client_intern.h"
+#include "e_canvas_intern.h"
 
 #include <Evas_GL.h>
 #include <gbm.h>
index 5d2a5b8b1c7d3a0403105fdaec2f8d39eb7b16e5..ae64c1854ffad01fe3d55e09e39f6352348e6972 100644 (file)
@@ -38,6 +38,7 @@
 #include "e_policy_softkey_intern.h"
 #include "e_policy_stack_intern.h"
 #include "e_compositor_intern.h"
+#include "e_canvas_intern.h"
 
 #include <device/display.h>
 #include <wayland-server.h>
index 14d724c154ca68d4a15185ae7920269002306026..1827a6a3607bbd43d2d10586e2bae679f73158ff 100644 (file)
@@ -7,6 +7,7 @@
 #include "e_view_intern.h"
 #include "e_view_client_intern.h"
 #include "e_output_intern.h"
+#include "e_canvas_intern.h"
 
 /* local variables */
 static Eina_List *_ptrs = NULL;
index c9d17aae02232ca52982078bbd7afc35852f3b50..c871a141676657304a4b655ff5beaa501f898d75 100644 (file)
@@ -24,6 +24,7 @@
 #include "e_policy_stack_intern.h"
 #include "e_compositor_intern.h"
 #include "e_policy_desk_intern.h"
+#include "e_canvas_intern.h"
 
 E_Policy *e_policy = NULL;
 Eina_Hash *hash_policy_clients = NULL;
index 83ce13fb9dc0b39388711ef4994431da4f720833..36297d52f32025076cd641dfda109baea2dc68bd 100644 (file)
@@ -2,6 +2,7 @@
 #include "evas_wrapper.h"
 
 #include "src/bin/core/e_view_intern.h"
+#include "src/bin/core/e_canvas_intern.h"
 #include "e_canvas.h"
 
 using ::testing::AnyNumber;
index afffdd2c70770cd0af79621e978768e2e482a6bd..b13d1463faacc9cc3fec05053e650314696e3978 100644 (file)
@@ -3,6 +3,7 @@
 
 #define E_TEST
 #include "src/bin/core/e_view_intern.h"
+#include "src/bin/core/e_canvas_intern.h"
 #include "e_canvas.h"
 #include "e_view.h"
 #include "e_map.h"
@@ -754,7 +755,7 @@ TEST_F(EViewTest, Test_E_View_Root_Get)
    E_View view;
    e_view_init(&view, E_VIEW_TYPE_RECT, NULL, NULL, tree);
 
-   E_Canvas *root = e_view_root_get(&view);
+   E_Canvas *root = e_canvas_get(&view);
    ASSERT_EQ(root, canvas);
 }
 
index 13a3c91620c7cc6d81d2d4d9ea82de5949e6d58a..a174686313c64465b6424559aeb13a0f5011366c 100755 (executable)
@@ -2,6 +2,7 @@
 #include "evas_wrapper.h"
 
 #include "src/bin/core/e_view_intern.h"
+#include "src/bin/core/e_canvas_intern.h"
 #include "e_view_image.h"
 #include "e_canvas.h"
 
index 2ee125d19fb8d965d9b05109d1c05cc60a86b586..8f4cf0951ced186c1e5f12173b4b6dc36de8bdf8 100644 (file)
@@ -2,6 +2,7 @@
 #include "evas_wrapper.h"
 
 #include "src/bin/core/e_view_intern.h"
+#include "src/bin/core/e_canvas_intern.h"
 #include "e_view_layout.h"
 #include "e_view_rect.h"
 #include "e_canvas.h"
index ad5dda74d3890898a360d4af114156691bc6c49c..3067f2002fe7ffbabcb31d0d8fe9c8c58081d352 100644 (file)
@@ -3,6 +3,7 @@
 
 #include "e_canvas.h"
 #include "src/bin/core/e_view_intern.h"
+#include "src/bin/core/e_canvas_intern.h"
 #include "e_view_rect.h"
 
 using ::testing::Return;