efl/src/lib
Jean-Philippe Andre 2bed30b398 evas: "fix" masks of masks inside a proxy
Here's the situation:

1. A container (genlist) has a mask, M0.
2. An item I0 inside this container uses a proxy P0 as render object
   rather than the item directly (eg. for zooming in/out).
3. An element E0 inside this item has another mask, M1.

Theory:
1. The proxy surface for P0 is rendered, and M1 is applied to
   the element E0.
2. The proxy P0 is rendered on the canvas, with M0 applied.

Practice:
1. The element E0 is prepared for rendering, this triggers
   a mask subrender for M1.
2. M1 is rendered with M0 as a prev mask, then kept in cache and
   not redrawn (no geometry change, etc...)
3. When P0's surface is rendered, M1's surface is the result of M1+M0.
4. When P0 is drawn on screen, we can see the effect of M1+M0 as
   P0's geometry might be different from the item's I0.

Solution:
Discard prev masks and force a mask redraw when we're inside a
proxy. Ideally we should detect if the prev mask belongs to the
insides of the proxy or not.

Problems:
_mask_apply_inside_proxy() is definitely not correct, but it's
not easy to test it. Anyway I believe that in order to properly
implement all of this, we need to rethink evas_render and
the draw context. Non-primary render surfaces (maps, proxies,
masks, filters, ...) should be rendered with a clean context
and clipping, masking, etc should be computed appropriately.
2016-12-16 11:29:47 +09:00
..
ecore eolian: unary expr eval for floats and add a signed number mask 2016-12-14 18:23:16 +01:00
ecore_audio docs: ecore_adio: finish up eo docs for ecore_audio 2016-11-11 09:26:22 +01:00
ecore_avahi
ecore_buffer
ecore_cocoa ecore_cocoa: fix handling of some keys 2016-10-30 16:46:30 +01:00
ecore_con ecore_con: reduce amount of warning related to clobbered variable. 2016-12-15 10:31:56 -08:00
ecore_drm
ecore_drm2 ecore_drm2: Make ecore_drm2_fb_release return status 2016-12-07 11:30:03 -06:00
ecore_evas Ecore Evas: Add multi seat support for mouse in/out. 2016-11-28 13:57:55 -02:00
ecore_fb ecore fb: Add the following sixteen known keys to the list. 2016-11-18 17:51:16 +01:00
ecore_file Revert "ecore_file: use win api for delete folder" 2016-11-30 14:03:00 +02:00
ecore_imf elm_entry: Add voice input panel layout 2016-10-31 19:10:53 +09:00
ecore_imf_evas
ecore_input Ecore_Input: Add Efl_Input_Device in Ecore_Events structs. 2016-09-26 22:06:59 -03:00
ecore_input_evas Ecore Input Evas: Add ecore_event_evas_seat_modifier_lock_update(). 2016-12-02 09:57:50 -02:00
ecore_ipc add missing includes for BSD. 2016-12-12 12:17:11 -02:00
ecore_psl1ght
ecore_sdl
ecore_wayland ecore_wayland: fix over writing file descriptor bug for reading 2016-11-18 19:53:15 +09:00
ecore_win32 Fix generate ecore key events on windows. 2016-12-14 15:50:55 +02:00
ecore_wl2 ecore-wl2: restore previous session recovery behavior on hide 2016-12-14 11:44:13 -05:00
ecore_x ecore-x: fix Mode_switch key mapping 2016-12-15 11:35:41 -05:00
ector efl interface: introduce efl_gfx_path mixin. 2016-11-23 17:36:57 +09:00
edje edje_calc: remove redundant checking 2016-12-14 17:59:40 +09:00
eet Eet: add EINA_ARG_NONNULL for eet_data_text_undump* @fix 2016-12-01 11:05:50 +09:00
eeze eeze: remove trailing whitespaces 2016-09-07 09:48:39 +05:30
efl efl_io_buffer: callbacks may close the buffer. 2016-12-09 13:47:04 -02:00
efreet efreet: make mime type evaluation way faster by using mmap. 2016-11-14 15:17:12 -08:00
eina eina: add free cb to eina_iterator_filter_new 2016-12-09 10:16:08 +01:00
eio eio - have a smaller mempool as i can see 270k of stuff hanging about 2016-12-03 18:01:53 +09:00
eldbus eldbus: change to idle_enterer from idler 2016-12-06 12:02:32 +09:00
elementary elementary: slider uses max value when atspi tries to set value. 2016-12-14 20:21:50 +09:00
elocation
elput elput: Properly check return values from libinput config functions 2016-12-14 09:18:14 -05:00
elua elua: load modules from local dirs first 2016-08-08 14:38:39 +01:00
embryo
emile emile: refactor color convertion/copy logic in jpeg data decoder. 2016-12-15 16:45:10 -08:00
emotion docs: emotion: add last missing docs for emotion eo file 2016-11-10 15:14:42 +01:00
eo Eo: remove unreachable code in isa. 2016-12-15 11:36:51 +00:00
eolian eolian: silence clobbered variable warning. 2016-12-15 10:44:22 -08:00
eolian_cxx eolian-cxx: Remove EOLIAN_TYPE_POINTER enumeration 2016-11-10 15:20:36 -02:00
ephysics
escape
ethumb ethumb: fix resource leak introduced in file path sanitization rework 2016-12-12 16:44:02 +01:00
ethumb_client
evas evas: "fix" masks of masks inside a proxy 2016-12-16 11:29:47 +09:00
evil
.gitignore