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.
This commit is contained in:
Cedric BAIL 2015-04-03 16:21:56 +02:00
parent b06e770614
commit cba397fcf1
4 changed files with 52 additions and 3 deletions

View 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@ \

View File

@ -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

View File

@ -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"

View 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;
}