From cba397fcf1505b164d7f8b5ef4f6a0dd7cc7822d Mon Sep 17 00:00:00 2001 From: Cedric BAIL Date: Fri, 3 Apr 2015 16:21:56 +0200 Subject: [PATCH] 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. --- src/Makefile_Ector.am | 8 ++++++-- src/lib/ector/cairo/Ector_Cairo.h | 10 ++++++++++ src/lib/ector/cairo/ector_cairo_surface.c | 26 ++++++++++++++++++++++++++ src/lib/ector/cairo/ector_cairo_surface.eo | 11 ++++++++++- 4 files changed, 52 insertions(+), 3 deletions(-) create mode 100644 src/lib/ector/cairo/Ector_Cairo.h create mode 100644 src/lib/ector/cairo/ector_cairo_surface.c diff --git a/src/Makefile_Ector.am b/src/Makefile_Ector.am index 35ded52..2327bc6 100644 --- a/src/Makefile_Ector.am +++ b/src/Makefile_Ector.am @@ -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 index 0000000..13de627 --- /dev/null +++ b/src/lib/ector/cairo/Ector_Cairo.h @@ -0,0 +1,10 @@ +#ifndef ECTOR_CAIRO_H_ +# define ECTOR_CAIRO_H_ + +#include + +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 index 0000000..67a8158 --- /dev/null +++ b/src/lib/ector/cairo/ector_cairo_surface.c @@ -0,0 +1,26 @@ +#ifdef HAVE_CONFIG_H +# include "config.h" +#endif + +#include +#include +#include + +#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" diff --git a/src/lib/ector/cairo/ector_cairo_surface.eo b/src/lib/ector/cairo/ector_cairo_surface.eo index 0807325..9c4e979 100644 --- a/src/lib/ector/cairo/ector_cairo_surface.eo +++ b/src/lib/ector/cairo/ector_cairo_surface.eo @@ -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; } -- 2.7.4