Only setup input object callbacks once.
Use input object for mouse_in/out detection.
NB: This is needed for wayland clients to properly function with
regard to E's border pointer focus.
Signed-off-by: Chris Michael <cp.michael@samsung.com>
* border->fx REMOVED, related border api REMOVED
* comp edc has new class of groups: e/comp/effects[/auto]
** these are effects which can be applied to any compositor object through the e_comp_win_effect* api and are written in embryo
*** two types - base and auto - base = manual, for use with animators; auto are "trigger and forget", for use as actual effects
* desk flip transition animations moved to comp effects and FIXED(ish)
* "zoom" effect renamed to "diagonal" for slightly less misleading name since it never did any zooming
* actual "zoom" effect added
* border hierarchy now as follows: cw->effect_obj swallows cw->shobj, cw->shobj swallows cw->bd->bg_object ?: cw->obj, if (cw->bd->bg_object) cw->bd->bg_object swallows cw->obj
** cw->effect_obj now used for all positioning and comp logic
** cw->effect_obj ONLY used for object transformation effects (moving, zooming, fading, etc)
** cw->shobj ONLY for comp visual/non-movement effects (focus effect, unfocus opacity, legacy shadows); this is a candidate for removal/rewrite in E19
* even more comp shape rewrites
* desk flip animation time now controlled by theme since edje doesn't support setting transition time in C; related config value removed
* desk flip transitions (in e_desk.c) rewritten
* various modules (evry/illume2) updated to use comp effects instead of fx offset
* desk flip configuration BROKEN(ish)
* border frame/object now drawn directly on compositor canvas
* border shadows now in border theme with edje hint, non-updated themes still receive comp object shadows FOR NOW
* e_border MOVE/RESIZE pointer mode defines are now e_pointer.h enums
* added BD_CHANGED() util macro for setting bd->changed and printing a debug line to assist in finding places where this all-important flag is wrongly set
* bd->bg_win removed entirely
* bd->pointer objects moved to compositor object; now only one pointer object exists for each compositor
* resizing windows now shows a new and totally-intended scaling effect for window contents
* some additional retooling of border deletion/free callbacks
* fixed lurking potential bug where window could recieve focus from autoraise timer after border had been deleted
* more comp shape improvements/rewrites
* desk transitions are now BROKEN(ish)
* various modules updated to not be totally broken with these changes
* warping to a window which is covered by another window containing the current pointer coordinates
* focus changes no longer break sometimes when winlist warping very quickly
SVN revision: 84046
* remove xwin for container canvas: now drawn directly on the compositor canvas
* added SHAPE_DEBUG define for bored developers
* bindings now use new e struct for mouse/wheel events
* container+zone now get mouse events from smart callbacks instead of x events
* rename comp api namespace
* change comp underlay theme to have a swallow for the wallpaper
* add names to all zone/container/comp objects to make debugging much easier
* some minor related updates to go along with this
SVN revision: 83752
exploring this change led to the discovery of a default theme bug: maximizing a window blocks events to resize hotspots on the bottom part of the window regardless of config settings
SVN revision: 82813
In order to move composite inside the core we need to kill the
use_composite option. However in some places it is being used to switch
between ARGB and shaped windows. It doesn't make much sense to keep the
advanced/engine dialog to let the user toggle this options if we have
composite always enabledm, but lets allow the user to shoot
himself on the foot (for now).
Next step will be to move the comp module files to core so user can't
unload it anymore.
SVN revision: 82433
here is a patch.
1. free() already null-checks the passed argument, so it is not
necessary to do 'if(x) free(x)'.
2. Moved some '{free(x); x = NULL}' to E_FREE.
3. In e_start_main.c, 'buf' is allocated with the size of the
two arguments + '=', so we don't need to check for lenght;
we should use sprintf().
thanks
Maxime Villard
SVN revision: 81364