Add code to handle null input areas (wrt pass_events on the image).
Add mouse movement callbacks (in, out, move).
Place the input rectangle below the image object.
Signed-off-by: Chris Michael <cp.michael@samsung.com>
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>
Add code to handle surface attach requests.
Add code to handle surface commit requests:
- Use the surface smart object to handle input and image updates.
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
- uses autoclose_popup->key_data as autoclose_popup->key_cb data
key_data is provided at cb registration through e_popup_autoclose(…)
- re-enable _mixer_popup_key_down_cb
azy will never become part of efl, and things like being able to do
http get/posts etc. should be part of efl itself as a core feature,
then we forever will have to choose ecore_con_url or some efl
mechanism OR azy.. or go implement both always, and implementing both
is just stupid. imlementing azy only means we add more dependencies
outside of efl and we repeat the mistakes of the past with the split
tree, or we implement the efl method only (ecore-con-url), so i'm
choosing the one with the least dependencies. call me if this position
on azy outside of efl changes.
If you just want to silence your warning remove all -W from your CFLAGS and
take your revenge back to your compiler. Introducing bugs to just silent warning
is not gona help any one.
The borker,
Cedric
This use a custom implementation of l2ping to ping known device and do
proper action when they go away. I don't recommend to use the auto unlonck,
but it is there if someone need it.
In a proper systemd user session setup, enlightenment_start will be
gone. That is still not doable today and as I plan to roll more feature
in EFL regarding systemd, we need to prevent enlightenment to believe
it is the process started by systemd.
* 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
This force the command to be run with exec and prevent them
for staying alive after startup or restart.
Signed-off-by: Cedric BAIL <cedric.bail@free.fr>
_populate_channel_editor:
use app->sys_card_name instead of
e_mod_mixer_card_name_get _populate_channels:
select default channel or first one
_create_cards:
do not reselect card and channel
e_mixer_app_dialog_select:
cleanup, remove unused _find_card_by_name and _find_channel_by_name
_mixer_popup_cb_mixer:
do not modifiy current selection on popup
capabilities is a bitmap with the following defined bits:
E_MIXER_CHANNEL_CAN_MUTE 0x01
E_MIXER_CHANNEL_IS_MONO 0x02
E_MIXER_CHANNEL_HAS_CAPTURE 0x04
E_MIXER_CHANNEL_HAS_PLAYBACK 0x08
E_Mixer_Channel is only used within audio subsystems
e_mod_mixer_channel_info_get_by_name returns a E_Mixer_Channel_Info
use e_mod_mixer_channel_info_free to free a single channel_info
When we call "grid_set" (as a result of the grid object moving or
resizing), we should update the monitor position text.
Signed-off-by: Christopher Michael <cp.michael@samsung.com>
Some people have reported that resizing is difficult, or that they
could not get to the max resolution of their monitor(s). Skipping the
refresh rate check during resolution finding fixes that ... With a big
fat Gotcha !!! because now after changing resolutions, the refresh
rate May not match what was previously selected....
So, as a word of CAUTION: After you set a resolution you should now
Verify your Refresh Rate before Applying, else you may be getting an
undesirable rate :/
Signed-off-by: Christopher Michael <cp.michael@samsung.com>
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
* dnd canvas removed, dnd objects now drawn directly on compositor canvas
* dnd now correctly picks the top-most dnd-receiver location as its drop target instead of just using the first one in the list
* various other small changes to go along with this
this change prevents erroneous calls to the comp injected object show handler in some cases, which would cause unnecessary recalcs and strange object movements
SVN revision: 84281
if this function is called, the object is in the process of being deleted and its refcount is already 0. trying to access it later will guarantee a crash, so ignore whever refs we may have on it
SVN revision: 84278
geometry.
Add a geometry_get function for monitor.
Fix up cloning code to work properly with different size
parents/children.
Add a monitor_clone_parent_get function.
When applying changes, also use crtc_clone_set function.
Add smart callback for monitor_moved to tell randr widget it may need
to shuffle things around.
Use output mouse position, not canvas position.
Signed-off-by: Christopher Michael <cp.michael@samsung.com>
SVN revision: 84228
etc).
Add exists field for crtc and output.
Fix output clones and connection status get to use the correct output.
Add some notes and printfs.
Signed-off-by: Christopher Michael <cp.michael@samsung.com>
SVN revision: 84227
Reduce position text set calls and just do it on smart_move.
Add a changes_apply function.
Add code to record changes to a monitor.
Signed-off-by: Christopher Michael <cp.michael@samsung.com>
SVN revision: 84217
Add function to apply changes.
Add callback hook for monitor(s) changed.
Signed-off-by: Christopher Michael <cp.michael@samsung.com>
SVN revision: 84216
orient of each will match (NB: This is required by XRandR in order for
cloning to be successful).
Signed-off-by: Christopher Michael <cp.michael@samsung.com>
SVN revision: 84212
Add code to create any clones on initial startup.
Add function to find a monitor object based on crtc.
Signed-off-by: Christopher Michael <cp.michael@samsung.com>
SVN revision: 84211
Add some comments.
Update position and resolution text when we unclone.
Repack the monitor into the grid when we unclone.
Set virtual thumb size correctly.
Emit disabled signal (if needed) when we unclone.
Also record x/y coordinates when doing move/resize/rotate.
Signed-off-by: Christopher Michael <cp.michael@samsung.com>
SVN revision: 84210
Tie in code for indicator toggle (enable/disable).
Add function to return a monitor's crtc id (used in randr widget).
Signed-off-by: Christopher Michael <cp.michael@samsung.com>
SVN revision: 84207
When we are creating the monitors, account for 'possible' outputs also.
Signed-off-by: Christopher Michael <cp.michael@samsung.com>
SVN revision: 84198
Add function for setting current geometry.
If a monitor is disabled, do not allow rotate, resize, move events.
Fix resize start/stop functions to use current geometry.
Signed-off-by: Christopher Michael <cp.michael@samsung.com>
SVN revision: 84196
comparison to old values.
Fix move, resize, rotate code to use "current" values.
Signed-off-by: Christopher Michael <cp.michael@samsung.com>
SVN revision: 84191
Fix up coordinate functions to not need doubles.
Update monitor position text when moving.
Fix up rotation code to allow rotating when mouse is outside the frame
(thank you Daniel) ;)
Signed-off-by: Christopher Michael <cp.michael@samsung.com>
SVN revision: 84190
for changes.
Break map_apply function into frame_map_apply and thumb_map_apply for
rotating just the wallpaper.
Fix resize code to work with a rotated monitor.
Signed-off-by: Christopher Michael <cp.michael@samsung.com>
SVN revision: 84188
Add inline function to get orientation based on rotation amount.
Add function to apply an evas_map for rotation.
If we are rotating, we don't need to set livethumb size.
When we start rotating, set initial rotation amount to 0.
When rotation stops, update the map and monitor position where needed.
Apply map during rotation.
NB: This commit also adds a debugging red rectangle behind the
monitor. This will be removed when debugging is complete
Signed-off-by: Christopher Michael <cp.michael@samsung.com>
SVN revision: 84184
Fill in current rotation on crtc set.
Update current rotation when we get a rotation event.
Signed-off-by: Christopher Michael <cp.michael@samsung.com>
SVN revision: 84183
If we are using a newer version, then we can use the new
ecore_x_randr_crtc_info_get() function which will save us a lot of X
round-trips.
Signed-off-by: Christopher Michael <cp.michael@samsung.com>
SVN revision: 84180
Add function prototype for getting a mode refresh rate.
Add Big Fat FIXME for crtc_set function.
Get the crtc current mode & refresh rate when crtc is set.
Simplify monitor_mode_find function.
Add function for getting a mode refresh rate.
Start on rotation event code.
Signed-off-by: Christopher Michael <cp.michael@samsung.com>
SVN revision: 84179
Simplify mouse movement check in resize_event and add some better
comments.
Signed-off-by: Christopher Michael <cp.michael@samsung.com>
SVN revision: 84178
Add grid object to structure.
Add callbacks to handle when grid gets moved or resized so we can
update the monitor's copy of the grid geometry.
Update calls to monitor_grid_set to pass in geometry now.
Add monitor_virtual_size_set call.
Add code to deal with grid getting moved & resized.
Signed-off-by: Christopher Michael <cp.michael@samsung.com>
SVN revision: 84171
Change grid_set function to accept grid geometry.
Add monitor_virtual_size_set function.
Only update livethumb preview size if we are not manually resizing.
Don't need to set the resolution text during smart_resize.
Add functions to convert coordinates to/from virtual to canvas.
Add function to find the closest randr mode to a given size.
Add function to handle user manual resizing.
Signed-off-by: Christopher Michael <cp.michael@samsung.com>
SVN revision: 84170
Add mouse_move callback on frame.
Delete mouse_move callback when we delete the frame.
Add code in frame moouse_move function to call appropriate event based
on current action.
Start of actual resize event code.
Signed-off-by: Christopher Michael <cp.michael@samsung.com>
SVN revision: 84168
Add start of resize coordinates to structure.
If we are manually resizing the object, update the text.
When resize starts, record the current mouse position and size.
Signed-off-by: Christopher Michael <cp.michael@samsung.com>
SVN revision: 84167
Add code to delete edje callbacks from frame when object is deleted.
Add start of code for resize_start & resize_stop frame events.
Signed-off-by: Christopher Michael <cp.michael@samsung.com>
SVN revision: 84166
Add code to set pointer indication when mouse moves inside the
thumbnail.
Add code to set pointer indication when mouse is down on the thumbnail.
Signed-off-by: Christopher Michael <cp.michael@samsung.com>
SVN revision: 84162
(this saves us a round-trip function call to ecore_x_randr as we
already have the coordinates from the randr widget).
Signed-off-by: Christopher Michael <cp.michael@samsung.com>
SVN revision: 84159
Add code to handle setting of background preview when user changes the
bg.
Signed-off-by: Christopher Michael <cp.michael@samsung.com>
SVN revision: 84153
Use ecore_x_randr functions to get crtcs & outputs (Fixes problem of
running Screen Setup dialog in Xephyr)
Add code for min_size_get function.
Remove code which used e_layout widget.
Add code to create new randr widget based on evas_object_grid.
Signed-off-by: Christopher Michael <cp.michael@samsung.com>
SVN revision: 84150
Add Frame & Stand to monitor structure.
Add code to create/show/move/resize/hide the frame & stand.
Change the code to use ecore_x_randr functions so that when running in
Xephyr we get monitors that make sense.
Change output_set and crtc_set functions to take the Ecore_X_Randr
types.
Set an aspect ratio on the frame (so it maintains during resize)
Add function for telling monitor what the virtual size is.
Add function for telling monitor what grid object it belongs to.
Signed-off-by: Christopher Michael <cp.michael@samsung.com>
SVN revision: 84147