Add function to get a monitor's preferred mode size.
Add function to find any clones of a monitor.
Add function to find a valid crtc for an output
NB: Raster, this should fix your reported problem ;)
Signed-off-by: Chris Michael <devilhorns@comcast.net>
If a monitor gets re-enabled and no current mode is set (which is
typically the case), then find a mode based on size.
Signed-off-by: Chris Michael <devilhorns@comcast.net>
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>
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
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
Call function of randr widget to get the min required size, and set
the list widget to that size.
Tell the dialog to show centered on the screen.
Signed-off-by: Christopher Michael <cp.michael@samsung.com>
SVN revision: 84146
When we set the output, fill in the modes list
Add code to sort modes list.
Signed-off-by: Christopher Michael <cp.michael@samsung.com>
SVN revision: 84133
- Create monitor smart object
- Set crtc and output config for monitor.
Signed-off-by: Christopher Michael <cp.michael@samsung.com>
SVN revision: 84131
Fix some comments.
When the monitor object gets moved, update the position text.
NB: Hopefully this helps a little for people having monitor "black
out" issues after moving things around. At least now you can See what
the position will be.
Signed-off-by: Christopher Michael <cp.michael@samsung.com>
SVN revision: 82887
refresh_rate checks (allows resize events which keep the current rate).
Signed-off-by: Christopher Michael <cp.michael@samsung.com>
SVN revision: 82884
- Don't bother trapping mouse movements outside of the monitor.
- Simplier test for resizing above/below max/min resolution.
Signed-off-by: Christopher Michael <cp.michael@samsung.com>
SVN revision: 82883
actual canvas geometry when doing collision detection.
Port the previous "JackDanielz" fix (using frame geometry vs using
object geometry) to the actual move function also.
Signed-off-by: Christopher Michael <cp.michael@samsung.com>
SVN revision: 82868
determine collision/intersection for cloning reasons (needed due to
monitor object itself having some padding around the frame which was
causing erroneous intersection calculations).
NB: Calling this one the JackDanielZ fix ;)
Signed-off-by: Christopher Michael <cp.michael@samsung.com>
SVN revision: 82867
properly.
When we start a rotate event, record the starting rotation.
When we stop rotating, mung in the starting rotation value.
Just fetch geometry once when we stop rotating.
Update the current orientation After we are done removing the map (on
rotate stop).
Signed-off-by: Christopher Michael <cp.michael@samsung.com>
SVN revision: 82862
is where the rotation event actually happens), instead of the geometry
of the whole monitor object.
Signed-off-by: Christopher Michael <cp.michael@samsung.com>
SVN revision: 82861
position, not size for comparison.
When we create monitors, assign the proper crtc to the monitor.
Signed-off-by: Christopher Michael <cp.michael@samsung.com>
SVN revision: 82330
Do not set enabled until after a current mode is set.
Update original size after we set current mode.
Add an original cloned value we can track.
Add code to apply just cloning changes.
Signed-off-by: Christopher Michael <cp.michael@samsung.com>
SVN revision: 82329
Subject: [E-devel] [e][PATCH] Optimizations v2
Date: Fri, 21 Dec 2012 22:17:32 +0100
Hi,
same patch as before: removed useless nullchecks and
switched some free()'s to E_FREE().
SVN revision: 81592
NB: According to a conversation with T_UNIX, we actually do use the
ecore_x randr functions to apply the config.
Signed-off-by: Christopher Michael <cp.michael@samsung.com>
SVN revision: 81377
If we are trying to add a disabled monitor, check for possible outputs.
Signed-off-by: Christopher Michael <cp.michael@samsung.com>
SVN revision: 81368
crtc.
If the monitor's crtc does not have a current_mode (because it was
previously disabled), then grab the last available mode (typically the
largest) and set the crtc current_mode to that.
Add some debugging for Enable/Disable.
Remove code which was trying to use ecore_x calls to re-enable a
monitor.
Use the randr function for trying to enable an output (if previously
disabled).
NB: Enable/Disable Does work, HOWEVER in my testing I have found that
when you re-enable a monitor, you will need to completely back out of
X and restart it in order for the Monitor to show output again. Unsure
if this is an X bug or something in e_randr or someother weirdness....
Signed-off-by: Christopher Michael <cp.michael@samsung.com>
SVN revision: 81367
If during the process of monitor creation, we reach one that is
cloned into a parent monitor, but the parent monitor has not been
created yet, then add it to a deferred list so we can create it (and
swallow it) into the parent monitor.
Make use of the existing e randr serialization to save/restore settings.
Signed-off-by: Christopher Michael <cp.michael@samsung.com>
SVN revision: 81255