From c4b25604c740d5ac05fc86b2a9a0ebd520608005 Mon Sep 17 00:00:00 2001 From: Jean-Philippe Andre Date: Thu, 7 Jan 2016 15:08:33 +0900 Subject: [PATCH] Evas: Document Evas.Render_Op 1. MASK is not used for masking 2. only BLEND and COPY actually work Should we merge Efl.Gfx.Render_Op and Evas.Render_Op? (this would mean Efl.Gfx.Render_Op.copy = 2 instead of 1) --- src/lib/evas/canvas/evas_object.eo | 19 +++++++++++++++++-- src/lib/evas/canvas/evas_types.eot | 24 ++++++++++++------------ 2 files changed, 29 insertions(+), 14 deletions(-) diff --git a/src/lib/evas/canvas/evas_object.eo b/src/lib/evas/canvas/evas_object.eo index af5b853..8baa965 100644 --- a/src/lib/evas/canvas/evas_object.eo +++ b/src/lib/evas/canvas/evas_object.eo @@ -175,7 +175,20 @@ abstract Evas.Object (Eo.Base, Evas.Common_Interface, Efl.Gfx.Base, Efl.Gfx.Stac } @property render_op { set { - [[Sets the render_op to be used for rendering the Evas object.]] + [[Sets the render mode to be used for compositing the Evas object. + + Note that only copy and blend modes are actually supported: + - @Evas.Render_Op.blend means the object will be merged on top of + objects below it using simple alpha compositing. + - @Evas.Render_Op.copy means this object's pixels will replace + everything that is below, making this object opaque. + + Please do not assume that @Evas.Render_Op.copy mode can be used + to "poke" holes in a window (to see through it), as only the + compositor can ensure that. Copy mode should only be used with + otherwise opaque widgets, or inside non-window surfaces (eg. a + transparent background inside an Ecore.Evas.Buffer). + ]] } get { [[Retrieves the current value of the operation used for @@ -183,7 +196,9 @@ abstract Evas.Object (Eo.Base, Evas.Common_Interface, Efl.Gfx.Base, Efl.Gfx.Stac ]] } values { - render_op: Evas.Render_Op; [[One of the Evas_Render_Op values.]] + render_op: Evas.Render_Op; [[One of the Evas_Render_Op values. + Only blend (default) and copy modes + are supported.]] } } @property freeze_events { diff --git a/src/lib/evas/canvas/evas_types.eot b/src/lib/evas/canvas/evas_types.eot index 2b41d4e..9f7075f 100644 --- a/src/lib/evas/canvas/evas_types.eot +++ b/src/lib/evas/canvas/evas_types.eot @@ -18,18 +18,18 @@ enum Evas.Render_Op { [[How the object should be rendered to output.]] legacy: Evas_Render; - blend = 0, [[default op: d = d*(1-sa) + s]] - blend_rel = 1, [[d = d*(1 - sa) + s*da]] - copy = 2, [[d = s]] - copy_rel = 3, [[d = s*da]] - add = 4, [[d = d + s]] - add_rel = 5, [[d = d + s*da]] - sub = 6, [[d = d - s]] - sub_rel = 7, [[d = d - s*da]] - tint = 8, [[d = d*s + d*(1 - sa) + s*(1 - da)]] - tint_rel = 9, [[d = d*(1 - sa + s)]] - mask = 10, [[d = d*sa]] - mul = 11 [[d = d*s]] + blend = 0, [[Default render operation: d = d*(1-sa) + s. The object will be merged onto the bottom objects using simple alpha compositing (a over b).]] + blend_rel = 1, [[DEPRECATED. d = d*(1 - sa) + s*da]] + copy = 2, [[Copy mode, d = s. The object's pixels will replace everything that was below, effectively hiding them.]] + copy_rel = 3, [[DEPRECATED. d = s*da]] + add = 4, [[DEPRECATED. d = d + s]] + add_rel = 5, [[DEPRECATED. d = d + s*da]] + sub = 6, [[DEPRECATED. d = d - s]] + sub_rel = 7, [[DEPRECATED. d = d - s*da]] + tint = 8, [[DEPRECATED. d = d*s + d*(1 - sa) + s*(1 - da)]] + tint_rel = 9, [[DEPRECATED. d = d*(1 - sa + s)]] + mask = 10, [[DEPRECATED. d = d*sa. For masking support, please use Evas.Object.clip_set or EDC "clip_to" instead.]] + mul = 11 [[DEPRECATED. d = d*s]] } enum Evas.Object_Pointer_Mode { -- 2.7.4