From fcbc29f85e04fa4dba30baa4ec692ae1fcad173d Mon Sep 17 00:00:00 2001 From: Cedric BAIL Date: Fri, 3 Apr 2015 16:21:57 +0200 Subject: [PATCH] ector: move dependency around. Evas now depend on Ector. --- configure.ac | 3 ++- src/Makefile_Evas.am | 1 + src/lib/ector/Ector.h | 5 ++-- src/lib/ector/cairo/Ector_Cairo.h | 1 + src/lib/ector/cairo/ector_cairo_surface.eo | 7 +++++ .../ector_cairo_software_surface.eo | 21 +++++++++++++++ .../engines/software_generic/evas_engine.c | 26 +++++++++++++++++++ 7 files changed, 61 insertions(+), 3 deletions(-) create mode 100644 src/modules/evas/engines/software_generic/ector_cairo_software_surface.eo diff --git a/configure.ac b/configure.ac index afad51b647..e773931ce6 100644 --- a/configure.ac +++ b/configure.ac @@ -1676,6 +1676,7 @@ EFL_INTERNAL_DEPEND_PKG([EVAS], [eet]) EFL_INTERNAL_DEPEND_PKG([EVAS], [eina]) EFL_INTERNAL_DEPEND_PKG([EVAS], [efl]) EFL_INTERNAL_DEPEND_PKG([EVAS], [emile]) +EFL_INTERNAL_DEPEND_PKG([EVAS], [ector]) EFL_ADD_LIBS([EVAS], [-lm]) @@ -2113,7 +2114,7 @@ EFL_PLATFORM_DEPEND([ECTOR], [evil]) EFL_INTERNAL_DEPEND_PKG([ECTOR], [eina]) EFL_INTERNAL_DEPEND_PKG([ECTOR], [eo]) -EFL_INTERNAL_DEPEND_PKG([ECTOR], [evas]) +EFL_INTERNAL_DEPEND_PKG([ECTOR], [efl]) EFL_EVAL_PKGS([ECTOR]) diff --git a/src/Makefile_Evas.am b/src/Makefile_Evas.am index 224ffcaaa4..b5f42a52ac 100644 --- a/src/Makefile_Evas.am +++ b/src/Makefile_Evas.am @@ -519,6 +519,7 @@ lib/evas/filters/blur/blur_box_rgba_neon.c ### Engines if EVAS_STATIC_BUILD_SOFTWARE_GENERIC +evas_eolian_files += modules/evas/engines/software_generic/ector_cairo_software_surface.eo lib_evas_libevas_la_SOURCES += modules/evas/engines/software_generic/evas_engine.c modules/evas/engines/software_generic/Evas_Engine_Software_Generic.h lib_evas_libevas_la_LIBADD += else diff --git a/src/lib/ector/Ector.h b/src/lib/ector/Ector.h index a47d2f109f..fe8d13c62e 100644 --- a/src/lib/ector/Ector.h +++ b/src/lib/ector/Ector.h @@ -3,7 +3,7 @@ #include #include -#include +#include #ifdef EAPI # undef EAPI @@ -108,7 +108,8 @@ typedef Eo Ector_Renderer; * @typedef Ector_Colorspace * The definiton of colorspace. */ -typedef Evas_Colorspace Ector_Colorspace; + // FIXME: Enable that when we have merged Emile +/* typedef Evas_Colorspace Ector_Colorspace; */ /** * Raster operations at pixel level diff --git a/src/lib/ector/cairo/Ector_Cairo.h b/src/lib/ector/cairo/Ector_Cairo.h index 13de627e21..a11a53f646 100644 --- a/src/lib/ector/cairo/Ector_Cairo.h +++ b/src/lib/ector/cairo/Ector_Cairo.h @@ -4,6 +4,7 @@ #include typedef Eo Ector_Cairo_Surface; +typedef struct _cairo_t cairo_t; #include "cairo/ector_cairo_surface.eo.h" diff --git a/src/lib/ector/cairo/ector_cairo_surface.eo b/src/lib/ector/cairo/ector_cairo_surface.eo index 9c4e979714..8a3676770b 100644 --- a/src/lib/ector/cairo/ector_cairo_surface.eo +++ b/src/lib/ector/cairo/ector_cairo_surface.eo @@ -9,8 +9,15 @@ class Ector.Cairo.Surface (Ector.Generic.Surface) @in char* name; } } + context_set { + return: Eina_Bool; + params { + @in cairo_t *ctx; + } + } } implements { Ector.Generic.Surface.renderer_factory_new; + Eo.Base.finalize; } } diff --git a/src/modules/evas/engines/software_generic/ector_cairo_software_surface.eo b/src/modules/evas/engines/software_generic/ector_cairo_software_surface.eo new file mode 100644 index 0000000000..9387f3185a --- /dev/null +++ b/src/modules/evas/engines/software_generic/ector_cairo_software_surface.eo @@ -0,0 +1,21 @@ +class Ector.Cairo_Software.Surface (Ector.Cairo.Surface) +{ + eo_prefix: ector_cairo_software_surface; + legacy_prefix: null; + properties { + surface { + set { + } + get { + } + values { + void *pixels; + uint width; + uint height; + } + } + } + implements { + Eo.Base.finalize; + } +} diff --git a/src/modules/evas/engines/software_generic/evas_engine.c b/src/modules/evas/engines/software_generic/evas_engine.c index a679d5c767..a2d5a1ceeb 100644 --- a/src/modules/evas/engines/software_generic/evas_engine.c +++ b/src/modules/evas/engines/software_generic/evas_engine.c @@ -18,6 +18,10 @@ #include "Evas_Engine_Software_Generic.h" +#include "cairo/Ector_Cairo.h" + +#include "ector_cairo_software_surface.eo.h" + #ifdef EVAS_GL //----------------------------------// // OSMesa... @@ -4694,3 +4698,25 @@ EVAS_MODULE_DEFINE(EVAS_MODULE_TYPE_ENGINE, engine, software_generic); #ifndef EVAS_STATIC_BUILD_SOFTWARE_GENERIC EVAS_EINA_MODULE_DEFINE(engine, software_generic); #endif + +typedef struct _Ector_Cairo_Software_Surface_Data Ector_Cairo_Software_Surface_Data; +struct _Ector_Cairo_Software_Surface_Data +{ +}; + +void +_ector_cairo_software_surface_surface_set(Eo *obj, Ector_Cairo_Software_Surface_Data *pd, void *pixels, unsigned int width, unsigned int height) +{ +} + +void +_ector_cairo_software_surface_surface_get(Eo *obj, Ector_Cairo_Software_Surface_Data *pd, void **pixels, unsigned int *width, unsigned int *height) +{ +} + +Eo * +_ector_cairo_software_surface_eo_base_finalize(Eo *obj, Ector_Cairo_Software_Surface_Data *pd) +{ +} + +#include "ector_cairo_software_surface.eo.c"