summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCedric BAIL <cedric@osg.samsung.com>2015-04-03 16:21:56 +0200
committerCedric BAIL <cedric@osg.samsung.com>2015-04-03 16:21:56 +0200
commitcba397fcf1505b164d7f8b5ef4f6a0dd7cc7822d (patch)
tree34e5a62ec5024738ea4de4f6338e3dcf83b14b6a
parentb06e7706140971a8890a0efb7b4e964a5f418ea1 (diff)
ector: and here come the beginning of a Cairo backend.
The idea is that Evas engine will actually inherit from it to instanciate their own Cairo backend (Software and GL) from there.
-rw-r--r--src/Makefile_Ector.am8
-rw-r--r--src/lib/ector/cairo/Ector_Cairo.h10
-rw-r--r--src/lib/ector/cairo/ector_cairo_surface.c26
-rw-r--r--src/lib/ector/cairo/ector_cairo_surface.eo11
4 files changed, 52 insertions, 3 deletions
diff --git a/src/Makefile_Ector.am b/src/Makefile_Ector.am
index 35ded52399..2327bc6b6c 100644
--- a/src/Makefile_Ector.am
+++ b/src/Makefile_Ector.am
@@ -30,7 +30,10 @@ lib_LTLIBRARIES += lib/ector/libector.la
30 30
31installed_ectormainheadersdir = $(includedir)/ector-@VMAJ@ 31installed_ectormainheadersdir = $(includedir)/ector-@VMAJ@
32dist_installed_ectormainheaders_DATA = \ 32dist_installed_ectormainheaders_DATA = \
33lib/ector/Ector.h 33lib/ector/Ector.h \
34lib/ector/cairo/Ector_Cairo.h
35
36# And the cairo header
34 37
35lib_ector_libector_la_SOURCES = \ 38lib_ector_libector_la_SOURCES = \
36lib/ector/ector_main.c \ 39lib/ector/ector_main.c \
@@ -45,7 +48,8 @@ lib/ector/ector_renderer_gradient_linear.c
45lib_ector_libector_la_SOURCES += \ 48lib_ector_libector_la_SOURCES += \
46lib/ector/cairo/ector_renderer_cairo_gradient_linear.c \ 49lib/ector/cairo/ector_renderer_cairo_gradient_linear.c \
47lib/ector/cairo/ector_renderer_cairo_gradient_radial.c \ 50lib/ector/cairo/ector_renderer_cairo_gradient_radial.c \
48lib/ector/cairo/ector_renderer_cairo_shape.c 51lib/ector/cairo/ector_renderer_cairo_shape.c \
52lib/ector/cairo/ector_cairo_surface.c
49 53
50lib_ector_libector_la_CPPFLAGS = -I$(top_builddir)/src/lib/efl \ 54lib_ector_libector_la_CPPFLAGS = -I$(top_builddir)/src/lib/efl \
51@ECTOR_CFLAGS@ \ 55@ECTOR_CFLAGS@ \
diff --git a/src/lib/ector/cairo/Ector_Cairo.h b/src/lib/ector/cairo/Ector_Cairo.h
new file mode 100644
index 0000000000..13de627e21
--- /dev/null
+++ b/src/lib/ector/cairo/Ector_Cairo.h
@@ -0,0 +1,10 @@
1#ifndef ECTOR_CAIRO_H_
2# define ECTOR_CAIRO_H_
3
4#include <Ector.h>
5
6typedef Eo Ector_Cairo_Surface;
7
8#include "cairo/ector_cairo_surface.eo.h"
9
10#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
index 0000000000..67a8158dc8
--- /dev/null
+++ b/src/lib/ector/cairo/ector_cairo_surface.c
@@ -0,0 +1,26 @@
1#ifdef HAVE_CONFIG_H
2# include "config.h"
3#endif
4
5#include <Eina.h>
6#include <Ector.h>
7#include <cairo/Ector_Cairo.h>
8
9#include "ector_private.h"
10
11typedef struct _Ector_Cairo_Surface_Data Ector_Cairo_Surface_Data;
12struct _Ector_Cairo_Surface_Data
13{
14};
15
16void *
17_ector_cairo_surface_symbol_get(Eo *obj, Ector_Cairo_Surface_Data *pd, char *name)
18{
19}
20
21Ector_Renderer *
22_ector_cairo_surface_ector_generic_surface_renderer_factory_new(Eo *obj, Ector_Cairo_Surface_Data *pd, const Eo_Class *type)
23{
24}
25
26#include "ector_cairo_surface.eo.c"
diff --git a/src/lib/ector/cairo/ector_cairo_surface.eo b/src/lib/ector/cairo/ector_cairo_surface.eo
index 08073254a7..9c4e979714 100644
--- a/src/lib/ector/cairo/ector_cairo_surface.eo
+++ b/src/lib/ector/cairo/ector_cairo_surface.eo
@@ -1,6 +1,15 @@
1class Ector.cairo.Surface (Ector.Generic.Surface) 1class Ector.Cairo.Surface (Ector.Generic.Surface)
2{ 2{
3 eo_prefix: ector_cairo_surface; 3 eo_prefix: ector_cairo_surface;
4 legacy_prefix: null;
5 methods {
6 symbol_get {
7 return: void * @warn_unused;
8 params {
9 @in char* name;
10 }
11 }
12 }
4 implements { 13 implements {
5 Ector.Generic.Surface.renderer_factory_new; 14 Ector.Generic.Surface.renderer_factory_new;
6 } 15 }