cedric pushed a commit to branch master.

http://git.enlightenment.org/core/efl.git/commit/?id=4f0ef04788f9328ab2b5aae807270da7132dcd69

commit 4f0ef04788f9328ab2b5aae807270da7132dcd69
Author: Cedric BAIL <ced...@osg.samsung.com>
Date:   Sun Nov 15 22:57:48 2015 +0100

    ector: starting decoralating surface and parent by adding a property to 
access the surface independently.
    
    NOTE: It would be nice to be able to protect independently the setter from 
the getter in eolian.
---
 src/lib/ector/ector_private.h                |  1 +
 src/lib/ector/ector_renderer_base.c          | 14 ++++++++++++++
 src/lib/ector/ector_renderer_generic_base.eo | 11 +++++++++++
 3 files changed, 26 insertions(+)

diff --git a/src/lib/ector/ector_private.h b/src/lib/ector/ector_private.h
index 099542b..fc91510 100644
--- a/src/lib/ector/ector_private.h
+++ b/src/lib/ector/ector_private.h
@@ -82,6 +82,7 @@ typedef struct _Ector_Renderer_Generic_Shape_Data 
Ector_Renderer_Generic_Shape_D
 
 struct _Ector_Renderer_Generic_Base_Data
 {
+   Ector_Generic_Surface *surface;
    Eina_Matrix3 *m;
 
    struct {
diff --git a/src/lib/ector/ector_renderer_base.c 
b/src/lib/ector/ector_renderer_base.c
index 4c84eba..b2b08c5 100644
--- a/src/lib/ector/ector_renderer_base.c
+++ b/src/lib/ector/ector_renderer_base.c
@@ -11,9 +11,23 @@ static void
 _ector_renderer_generic_base_eo_base_destructor(Eo *obj, 
Ector_Renderer_Generic_Base_Data *pd)
 {
    if (pd->m) free(pd->m);
+   eo_unref(pd->surface);
+
    eo_do_super(obj, ECTOR_RENDERER_GENERIC_BASE_CLASS, eo_destructor());
 }
 
+static Ector_Generic_Surface *
+_ector_renderer_generic_base_surface_get(Eo *obj EINA_UNUSED, 
Ector_Renderer_Generic_Base_Data *pd)
+{
+   return pd->surface;
+}
+
+static void
+_ector_renderer_generic_base_surface_set(Eo *obj EINA_UNUSED, 
Ector_Renderer_Generic_Base_Data *pd, Ector_Generic_Surface *s)
+{
+   pd->surface = eo_xref(s, obj);
+}
+
 static void
 _ector_renderer_generic_base_transformation_set(Eo *obj EINA_UNUSED,
                                                 
Ector_Renderer_Generic_Base_Data *pd,
diff --git a/src/lib/ector/ector_renderer_generic_base.eo 
b/src/lib/ector/ector_renderer_generic_base.eo
index 80043d9..8c6ce6e 100644
--- a/src/lib/ector/ector_renderer_generic_base.eo
+++ b/src/lib/ector/ector_renderer_generic_base.eo
@@ -5,6 +5,17 @@ abstract Ector.Renderer.Generic.Base (Eo.Base)
    eo_prefix: ector_renderer;
    legacy_prefix: null;
    methods {
+      @property surface {
+         set {
+           [[Do not use.]]
+        }
+        get {
+           [[Get the surface associated to this renderer. Can not be set.]]
+        }
+        values {
+           s: Ector.Generic.Surface *;
+        }
+      }
       @property transformation {
          set {
         }

-- 


Reply via email to