aboutsummaryrefslogtreecommitdiffstats
path: root/src/lib/evas/canvas/efl_canvas_surface.eo
diff options
context:
space:
mode:
authorJean-Philippe Andre <jp.andre@samsung.com>2016-03-09 16:21:08 +0900
committerJean-Philippe Andre <jp.andre@samsung.com>2016-03-15 11:11:59 +0900
commit0c95b694742c712ec4c66e566f216f1b6c1b7079 (patch)
tree4826c248cf1f4490c1d5f78bfb9741838efd3510 /src/lib/evas/canvas/efl_canvas_surface.eo
parentEvas engines: Add internal functions for native images (diff)
downloadefl-0c95b694742c712ec4c66e566f216f1b6c1b7079.tar.gz
Evas.Image: Move native surfaces to Efl.Canvas.Surface
X11, TBM and Wayland support are implemented for now.
Diffstat (limited to 'src/lib/evas/canvas/efl_canvas_surface.eo')
-rw-r--r--src/lib/evas/canvas/efl_canvas_surface.eo33
1 files changed, 33 insertions, 0 deletions
diff --git a/src/lib/evas/canvas/efl_canvas_surface.eo b/src/lib/evas/canvas/efl_canvas_surface.eo
new file mode 100644
index 0000000000..cc4b8d729d
--- /dev/null
+++ b/src/lib/evas/canvas/efl_canvas_surface.eo
@@ -0,0 +1,33 @@
+mixin Efl.Canvas.Surface (Evas.Image, Efl.Gfx.Buffer, Efl.Gfx.View)
+{
+ [[Native surfaces usually bound to an externally-managed buffer.
+
+ The attached @.native_buffer is entirely platform-dependent, which means
+ some of this mixin's subclasses will not work (constructor returns $null)
+ on some platforms. This class is meant to be used from native code only
+ (C or C++), with direct access to the display system or a buffer
+ allocation system.
+ ]]
+ legacy_prefix: null;
+ methods {
+ @property native_buffer {
+ [[External buffer attached to this native surface.
+
+ Set to $null to detach this surface from the external buffer.
+ ]]
+ get {}
+ set {
+ [[Set the buffer. If this fails, this function returns $false,
+ and the surface is left without any attached buffer.
+ ]]
+ return: bool @warn_unused;
+ }
+ values {
+ buffer: void*; [[The external buffer, depends on its type.]]
+ }
+ }
+ }
+ implements {
+ Eo.Base.constructor;
+ }
+}