summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--configure.ac3
-rw-r--r--src/Makefile_Evas.am1
-rw-r--r--src/lib/ector/Ector.h5
-rw-r--r--src/lib/ector/cairo/Ector_Cairo.h1
-rw-r--r--src/lib/ector/cairo/ector_cairo_surface.eo7
-rw-r--r--src/modules/evas/engines/software_generic/ector_cairo_software_surface.eo21
-rw-r--r--src/modules/evas/engines/software_generic/evas_engine.c26
7 files changed, 61 insertions, 3 deletions
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 <Eina.h>
#include <Eo.h>
-#include <Evas.h>
+#include <Efl.h>
#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 <Ector.h>
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"