aboutsummaryrefslogtreecommitdiffstats
path: root/src/lib/evas/canvas/evas_canvas3d_texture.c
diff options
context:
space:
mode:
authorJean-Philippe Andre <jp.andre@samsung.com>2015-09-03 17:38:48 +0900
committerJean-Philippe Andre <jp.andre@samsung.com>2015-09-04 11:11:58 +0900
commitef0ec6bed335175d74e64c99d68e07a97110c86d (patch)
tree63a1fa4784646c6a0139654f28f8f560147be28f /src/lib/evas/canvas/evas_canvas3d_texture.c
parentevas_render: print out context clip with REND_DBG (diff)
downloadefl-ef0ec6bed335175d74e64c99d68e07a97110c86d.tar.gz
evas_render: Fix some clipping issues inside proxy
Inside a proxy, clipping information might be wrong since the source object may be at a different position than within the proxy. If source_clip is not set, then we need to discard all clips that are outside the proxy context. So we just propagate the clip information inside the current draw context, and even recurse from clipper to clipper to find the final state of clipping. Map and proxies and others (who said masks?) should definitely rely more on the same model. This code is not a mess. At all. You gotta love evas_render.
Diffstat (limited to '')
-rw-r--r--src/lib/evas/canvas/evas_canvas3d_texture.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/src/lib/evas/canvas/evas_canvas3d_texture.c b/src/lib/evas/canvas/evas_canvas3d_texture.c
index 58c1e28d34..e01762d3b7 100644
--- a/src/lib/evas/canvas/evas_canvas3d_texture.c
+++ b/src/lib/evas/canvas/evas_canvas3d_texture.c
@@ -137,6 +137,7 @@ _texture_proxy_subrender(Evas_Canvas3D_Texture *obj)
.eo_proxy = NULL,
.proxy_obj = NULL,
.eo_src = pd->source,
+ .src_obj = source,
.source_clip = EINA_FALSE
};