ector: and here come the beginning of a Cairo backend.
authorCedric BAIL <cedric@osg.samsung.com>
Fri, 3 Apr 2015 14:21:56 +0000 (16:21 +0200)
committerCedric BAIL <cedric@osg.samsung.com>
Fri, 3 Apr 2015 14:21:56 +0000 (16:21 +0200)
The idea is that Evas engine will actually inherit from it to instanciate their
own Cairo backend (Software and GL) from there.

src/Makefile_Ector.am
src/lib/ector/cairo/Ector_Cairo.h [new file with mode: 0644]
src/lib/ector/cairo/ector_cairo_surface.c [new file with mode: 0644]
src/lib/ector/cairo/ector_cairo_surface.eo

index 35ded52..2327bc6 100644 (file)
@@ -30,7 +30,10 @@ lib_LTLIBRARIES += lib/ector/libector.la
 
 installed_ectormainheadersdir = $(includedir)/ector-@VMAJ@
 dist_installed_ectormainheaders_DATA = \
-lib/ector/Ector.h
+lib/ector/Ector.h \
+lib/ector/cairo/Ector_Cairo.h
+
+# And the cairo header
 
 lib_ector_libector_la_SOURCES = \
 lib/ector/ector_main.c \
@@ -45,7 +48,8 @@ lib/ector/ector_renderer_gradient_linear.c
 lib_ector_libector_la_SOURCES += \
 lib/ector/cairo/ector_renderer_cairo_gradient_linear.c \
 lib/ector/cairo/ector_renderer_cairo_gradient_radial.c \
-lib/ector/cairo/ector_renderer_cairo_shape.c
+lib/ector/cairo/ector_renderer_cairo_shape.c \
+lib/ector/cairo/ector_cairo_surface.c
 
 lib_ector_libector_la_CPPFLAGS = -I$(top_builddir)/src/lib/efl \
 @ECTOR_CFLAGS@ \
diff --git a/src/lib/ector/cairo/Ector_Cairo.h b/src/lib/ector/cairo/Ector_Cairo.h
new file mode 100644 (file)
index 0000000..13de627
--- /dev/null
@@ -0,0 +1,10 @@
+#ifndef ECTOR_CAIRO_H_
+# define ECTOR_CAIRO_H_
+
+#include <Ector.h>
+
+typedef Eo Ector_Cairo_Surface;
+
+#include "cairo/ector_cairo_surface.eo.h"
+
+#endif
diff --git a/src/lib/ector/cairo/ector_cairo_surface.c b/src/lib/ector/cairo/ector_cairo_surface.c
new file mode 100644 (file)
index 0000000..67a8158
--- /dev/null
@@ -0,0 +1,26 @@
+#ifdef HAVE_CONFIG_H
+# include "config.h"
+#endif
+
+#include <Eina.h>
+#include <Ector.h>
+#include <cairo/Ector_Cairo.h>
+
+#include "ector_private.h"
+
+typedef struct _Ector_Cairo_Surface_Data Ector_Cairo_Surface_Data;
+struct _Ector_Cairo_Surface_Data
+{
+};
+
+void *
+_ector_cairo_surface_symbol_get(Eo *obj, Ector_Cairo_Surface_Data *pd, char *name)
+{
+}
+
+Ector_Renderer *
+_ector_cairo_surface_ector_generic_surface_renderer_factory_new(Eo *obj, Ector_Cairo_Surface_Data *pd, const Eo_Class *type)
+{
+}
+
+#include "ector_cairo_surface.eo.c"
index 0807325..9c4e979 100644 (file)
@@ -1,6 +1,15 @@
-class Ector.cairo.Surface (Ector.Generic.Surface)
+class Ector.Cairo.Surface (Ector.Generic.Surface)
 {
    eo_prefix: ector_cairo_surface;
+   legacy_prefix: null;
+   methods {
+      symbol_get {
+         return: void * @warn_unused;
+         params {
+            @in char* name;
+         }
+      }
+   }
    implements {
       Ector.Generic.Surface.renderer_factory_new;
    }