Commit Graph

113 Commits

Author SHA1 Message Date
Mike Blumenkrantz 26b7ff074a don't use pixmap size for comp geom updates if border is shading 2013-05-07 08:49:21 +01:00
Igor Murzov d5b019b078 Fix incorrect format usage in E_CONFIGURE_OPTION_MINMAX_STEP_FMT 2013-05-02 15:49:25 +04:00
Carsten Haitzler 4df2ff56f5 let us... force zoomap always for popups and menus. let's eee if this
speeds things up?
2013-04-30 12:37:59 +09:00
Mike Blumenkrantz 85d192238e remove unnecessary comp checks for init win 2013-04-29 09:46:10 +01:00
Carsten Haitzler 8cf7e61744 protect against failure to find a container layer win in comp
it may happen that a container layer window cannot be found (someone
deleted it other than e - which is possible), and e hasn't expected
this. comp will have removed the comp win entry but containers will
not know. this is either some client being stupid, or malicious, but
protect against it, complain with an ERR and march on so we don't crash.
2013-04-26 16:31:29 +09:00
Carsten Haitzler 59c4e0f81b fix race condtion in comp caused by delayed job doing the populate.
by making a job to delay population we play a race condition game with
initting of other bits of e. this means the comp may or may not have
been filled by the container layer winds before other internal events
and actions start making comp wins and setting layers. this means that
things like e_comp_win_find() for a con->layers[n].win may fail... as
this has yet to be added... and thus.. we crash in startup. it's a
race condition.

so this removed the delay job and makes population of the comp
explicit. it puts the population into the hnds of the e_main init
after a manager has been created and after a container is created, and
thus laer wins created, so it can walk the x window stack correctly,
but before anything else is done. this means that we will be properly
inited at this point without a race condition.
2013-04-26 16:31:29 +09:00
Mike Blumenkrantz 7777b5d738 fix stacking list order of comp objects under the layout 2013-04-25 11:21:18 +01:00
Mike Blumenkrantz 275000dcbf only apply solid zoomap for menus 2013-04-23 17:10:20 +01:00
Mike Blumenkrantz 2ae8713130 fix comp pixmap fetching to refetch when X is slow 2013-04-23 15:53:54 +01:00
Mike Blumenkrantz fb4d8b9f35 set force flag when hiding comp wins on desk switch 2013-04-23 09:07:58 +01:00
Mike Blumenkrantz 6d27a48f58 add comp win zoomaps back with an #ifdef for debugging 2013-04-23 08:58:56 +01:00
Mike Blumenkrantz 9d6e2ecc97 update comp win geometry on border events 2013-04-23 08:58:56 +01:00
Mike Blumenkrantz 5c49e7c981 remove border checking for comp win add...this is bad I guess 2013-04-23 08:58:56 +01:00
Mike Blumenkrantz b04d2dfc4b add e_comp_win_effect_unclip() to unclip an effect object after a transition 2013-04-22 13:58:01 +01:00
Mike Blumenkrantz 1ff1b21563 check for border when adding comp wins without border object; temporary until e19 2013-04-22 13:58:01 +01:00
Mike Blumenkrantz 17e7ea400c improve comp mirror safety check again 2013-04-19 16:47:06 +01:00
Mike Blumenkrantz bd0ca79320 unset comp effect clip after effect ends 2013-04-19 16:23:56 +01:00
Mike Blumenkrantz 26a3a75e8c e_comp_get() supports e_desk 2013-04-19 15:18:28 +01:00
Mike Blumenkrantz f5965d533c add new event for comp win stacking 2013-04-19 13:49:34 +01:00
Mike Blumenkrantz f9f81ee6e1 send right comp source events 2013-04-19 13:44:52 +01:00
Mike Blumenkrantz cfe46c2c40 make comp mirror safety check useful 2013-04-19 10:03:42 +01:00
Mike Blumenkrantz 5654d4ea4b simplify comp mirror creation, update related fixme 2013-04-19 10:00:54 +01:00
Cedric Bail a7ba24df70 e_comp: don't rely on undefined callback call order. 2013-04-19 11:23:13 +09:00
Mike Blumenkrantz ded0db707f use zoomap as image source for object mirrors, for all the good it will do 2013-04-18 13:42:23 +01:00
Mike Blumenkrantz e922fcd32e ensure we use edje util zoomap function only on known edje objects 2013-04-18 13:42:00 +01:00
Mike Blumenkrantz b4b8e69bfe try actually updating on border resize event for slightly more accurate resizes when doing shade animations rapidly 2013-04-18 12:57:37 +01:00
Mike Blumenkrantz f9a45e14ec comp win geometry updates with updates pending now queue another render job 2013-04-18 12:56:46 +01:00
Mike Blumenkrantz 9aa32ad327 render queue and flag geometry update on border resize event to catch shading animations 2013-04-18 12:53:13 +01:00
Mike Blumenkrantz 1071bd9020 fix comp win geometry updates for shaded windows 2013-04-18 12:44:19 +01:00
Mike Blumenkrantz 06dd5703a3 fix comp win geometry updates to always use pixmap size when available 2013-04-18 10:21:31 +01:00
Mike Blumenkrantz c883ec1c25 simplify comp win geom update check to only look at flag 2013-04-18 10:21:12 +01:00
Mike Blumenkrantz c32fbb3ab4 comp win reshadow now sets geom update flag instead of updating geom 2013-04-18 10:20:21 +01:00
Mike Blumenkrantz 22b95a70b1 set comp win geometry update flag for pixmap update during initial show 2013-04-18 10:08:07 +01:00
Mike Blumenkrantz dd3f309b32 remove zoomap usage for window/surface objects until a related bug is fixed 2013-04-17 13:34:59 +01:00
Mike Blumenkrantz c84797ec9a set comp win zoomap smooth based on comp smooth scale setting 2013-04-17 13:34:59 +01:00
Mike Blumenkrantz 0315c91008 set the magic "always" zoomap flag to fix window input and disable shadows...for now 2013-04-17 09:43:40 +01:00
Mike Blumenkrantz 256d1386c1 update comp win geometry correctly for override (non-pixmap) windows 2013-04-17 08:46:36 +01:00
Mike Blumenkrantz b702eddfd1 use new zoomap function to set solidness on comp win reshadow 2013-04-17 08:07:11 +01:00
Mike Blumenkrantz a4d13328e9 put zoomap shaped/solid edc stuff back for menus, let comp wins use it more generally 2013-04-17 06:32:49 +01:00
Mike Blumenkrantz efa7f67893 fix input shapes for frames of shaped windows 2013-04-17 06:12:37 +01:00
Carsten Haitzler f2b31aa7a3 if comp init fails - dont use dialogs to show it now its in core.. and
on failure.. exit instead of segving. :)
2013-04-17 09:12:03 +09:00
Mike Blumenkrantz dde99c089a flag comp win geometry updates and call only as necessary 2013-04-16 15:05:11 +01:00
Mike Blumenkrantz ed7b29d50f all comp wins now have zoomaps, zooming effect lovers rejoice 2013-04-16 13:51:50 +01:00
Mike Blumenkrantz 6e33f33c59 rename comp border edje groups from e/comp/* to e/comp/border/* 2013-04-15 08:39:16 +01:00
Mike Blumenkrantz 718dfef61d giant comp rejiggering commit #6:
* 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)
2013-04-15 08:39:16 +01:00
Mike Blumenkrantz 505cec1d91 giant comp rejiggering commit #5:
* 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
2013-04-15 08:39:16 +01:00
discomfitor 0d16ba68cd giant comp rejiggering commit #3
* e menus are now drawn directly onto the compositor canvas

* menu theme now requires at least one part which allows mouse events in every menu group (YOUR MENUS WILL NOT WORK IF YOU ARE USING A THEME WHICH LACKS THIS!!!!!!!)

* menus now also report dangling/zombie menus with slightly more accuracy now
2013-03-11 05:20:52 +00:00
Mike Blumenkrantz e186c026bb freeze evas and edje when destroying comp canvas to prevent io event flushes from crashing during shutdown 2013-03-04 09:06:23 +00:00
Mike Blumenkrantz 1f34e88860 fix comp injected object stacking
previously this was done in such a way that if the "owner" stacking object of an injected object was restacked, the injected object would remain at its original stacking level since it was not tethered to anything and did not have X managing stacking. now comp will anchor injected objects to the stacking container window and adjust stacking as needed for them

fixes shelf stacking in some cases
2013-02-26 08:39:10 +00:00
Mike Blumenkrantz c73a9e58c0 some comp WIP on setting object color classes to handle opacity for windows...doesn't work right still because of focus clip 2013-02-25 10:02:57 +00:00