Commit Graph

181 Commits

Author SHA1 Message Date
Chris Michael 7d190c4918 Backport: 57a3a62 :: When we try to re-enable a monitor, check the Crtc Mode (not the smart object Current mode) to determine if it is already disabled.
Signed-off-by: Chris Michael <cp.michael@samsung.com>
Signed-off-by: Deon Thomas <PrinceAMD.Elive@gmail.com>
2013-08-19 05:34:27 -04:00
Chris Michael be9e1d24b5 Backport: a39246c :: Remove return value in function returning void.
Signed-off-by: Chris Michael <cp.michael@samsung.com>
Signed-off-by: Deon Thomas <PrinceAMD.Elive@gmail.com>
2013-08-02 10:45:05 -04:00
Chris Michael e998dc38cf Backport: 9046a6b :: Add function to allow disable/enable of the indicator toggle.
Signed-off-by: Chris Michael <cp.michael@samsung.com>
Signed-off-by: Deon Thomas <PrinceAMD.Elive@gmail.com>
2013-08-02 10:43:46 -04:00
Chris Michael bfc9f1e7b1 Backport: 3f2e850 :: Big giant Monitor Snapping Fix when we resize or move !! ;)
- Add previous monitor geometry to smart data structure.
- When we set the crtc, also set the monitor current geometry.
- Add function to return the previous monitor geometry.
- On a mouse up, check for monitor location difference versus previous
geometry, if nothing changed then we have no 'move' to do.
- When we start a resize, record the previous geometry and raise the
monitor.
- When a monitor is moved/resized we call the position_update function
which already loops all monitors, so no need to loop them twice.
- Fix position_update function to allow some Snapping Fuzziness so
that on a move/resize any adjoining monitors (within tolerance) will
more reliably snap to each other.

Signed-off-by: Chris Michael <cp.michael@samsung.com>
Signed-off-by: Deon Thomas <PrinceAMD.Elive@gmail.com>
2013-08-01 11:49:23 -04:00
Chris Michael 4b5defdd2c Backport: 5fecc20 :: When we are re-enabling a monitor, do not free the mode info from the smart data's list of modes. This will get freed when the dialog closes.
Fix some formatting for 80 columns.

NB: Should fix etrunko crash ;)

Signed-off-by: Chris Michael <devilhorns@comcast.net>
Signed-off-by: Deon Thomas <PrinceAMD.Elive@gmail.com>
2013-07-29 18:00:33 -04:00
Chris Michael ee44bcda90 Backport: 0537494 :: Fix issue of incorrect x/y position being displayed on a monitor after snapping.
Signed-off-by: Chris Michael <cp.michael@samsung.com>
Signed-off-by: Deon Thomas <PrinceAMD.Elive@gmail.com>
2013-06-28 11:24:51 -04:00
Deon Thomas e5164aa076 removed requirment for EFL 1.8 since randr code is backparted to ecore 1.7.7+ 2013-06-28 03:28:53 -04:00
Chris Michael 1482c7e7e8 Backport: b4f277a :: When we free outputs, set the variable to NULL.
Signed-off-by: Chris Michael <cp.michael@samsung.com>
Signed-off-by: Deon Thomas <PrinceAMD.Elive@gmail.com>
2013-06-28 03:28:53 -04:00
Chris Michael a3990e5108 Backport: bba201a :: If a monitor is disabled by the user, then we need to set number of outputs to zero, and free any allocated outputs before trying to apply settings.
Also, check for valid mode (not 0) before trying to fetch mode_info.

Signed-off-by: Chris Michael <cp.michael@samsung.com>
Signed-off-by: Deon Thomas <PrinceAMD.Elive@gmail.com>
2013-06-28 03:28:53 -04:00
Mike Blumenkrantz 9170ac74dc Backport: 0dd2efa :: ensure randr dialog clears its pointer stack
Signed-off-by: Deon Thomas <PrinceAMD.Elive@gmail.com>
2013-06-28 03:28:53 -04:00
Chris Michael e2dc213609 Backport: ee715e2 :: Fix possible memory leak reported by klockwork.
Signed-off-by: Chris Michael <cp.michael@samsung.com>
Signed-off-by: Deon Thomas <PrinceAMD.Elive@gmail.com>
2013-06-28 03:28:53 -04:00
Chris Michael c45ebc84c9 Backport: 1b76632 :: Add suport for setting the Primary Output in the randr dialog....for my German friend ;)
Signed-off-by: Chris Michael <devilhorns@comcast.net>
Signed-off-by: Deon Thomas <PrinceAMD.Elive@gmail.com>
2013-06-28 03:28:53 -04:00
Chris Michael 5c49020e46 Backport: d6a392d :: Preliminary support for Primary Output of XRandR
NB: If you have more than one output, XRandR has the option/support to
set a specific monitor as the primary output. These changes allow some
distinction in the dialog between which output is primary (a faint
glow around the monitor). This is just the "display" portion of
Primary Output support ... next is a method to Change that.

Signed-off-by: Chris Michael <devilhorns@comcast.net>
Signed-off-by: Deon Thomas <PrinceAMD.Elive@gmail.com>
2013-06-28 03:28:53 -04:00
Chris Michael 162c86ce55 Backport: 10acf59 :: Fix potential memleaks reported by klockwork.
Signed-off-by: Chris Michael <cp.michael@samsung.com>
Signed-off-by: Deon Thomas <PrinceAMD.Elive@gmail.com>
2013-06-28 03:28:53 -04:00
Chris Michael 83063049cf Backport: 37498d7 :: Add function to find a valid crtc for this monitor if none is set. 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>
Signed-off-by: Deon Thomas <PrinceAMD.Elive@gmail.com>
2013-06-28 03:28:52 -04:00
Chris Michael eaf0a927e4 Backport: 31d34db :: Initialize 'orients' variable to rotation 0.
Signed-off-by: Chris Michael <devilhorns@comcast.net>
Signed-off-by: Deon Thomas <PrinceAMD.Elive@gmail.com>
2013-06-28 03:28:52 -04:00
Chris Michael 8559262f63 Backport: 1197cc4 :: Minor formatting fix.
Signed-off-by: Chris Michael <devilhorns@comcast.net>
Signed-off-by: Deon Thomas <PrinceAMD.Elive@gmail.com>
2013-06-28 03:28:52 -04:00
Christopher Michael 14a8acad61 Backport: eca3475 :: Fix incorrect monitor position text on some startup cases.
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>
Signed-off-by: Deon Thomas <PrinceAMD.Elive@gmail.com>
2013-06-28 03:28:52 -04:00
Christopher Michael fb124fe454 Backport: dce3e8f7 :: Skip refresh rate checks during resize.
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>
Signed-off-by: Deon Thomas <PrinceAMD.Elive@gmail.com>
2013-06-28 03:28:52 -04:00
Christopher Michael 0bcf3180f6 Backport: c3736db :: Add a monitor_resized callback so positions of other monitors can be updated.
Signed-off-by: Christopher Michael <cp.michael@samsung.com>

SVN revision: 84233
Signed-off-by: Deon Thomas <PrinceAMD.Elive@gmail.com>
2013-06-28 03:28:52 -04:00
Christopher Michael a2f1bc7d0d Backport: 8109e62 :: When we do a current_geometry set, repack the monitor to the updated 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
Signed-off-by: Deon Thomas <PrinceAMD.Elive@gmail.com>
2013-06-28 03:28:52 -04:00
Christopher Michael d96738b2ed Backport: 686ff23 :: Add some comments.
Signed-off-by: Christopher Michael <cp.michael@samsung.com>

SVN revision: 84219
Signed-off-by: Deon Thomas <PrinceAMD.Elive@gmail.com>
2013-06-28 03:28:52 -04:00
Christopher Michael 6809a193b8 Backport: 0ac5ed72 :: Handle apply of monitor changes to X. 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
Signed-off-by: Deon Thomas <PrinceAMD.Elive@gmail.com>
2013-06-28 03:28:52 -04:00
Christopher Michael 08d80f1c7d Backport: 994586d :: Add code to handle when cloning monitors so that the size, mode and 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
Signed-off-by: Deon Thomas <PrinceAMD.Elive@gmail.com>
2013-06-28 03:28:51 -04:00
Christopher Michael 7c298cf1df Backport: 6739bcf :: Add the clone object as a smart member for monitor. 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
Signed-off-by: Deon Thomas <PrinceAMD.Elive@gmail.com>
2013-06-28 03:28:51 -04:00
Christopher Michael 305c2119cd Backport: fee5a89 :: Add cloning support for monitor. 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
Signed-off-by: Deon Thomas <PrinceAMD.Elive@gmail.com>
2013-06-28 03:28:51 -04:00
Christopher Michael f85e50b90e Backport: 5f68828 :: Simplify the monitor rotation code and make sure new positions are within grid virtual space.
Signed-off-by: Christopher Michael <cp.michael@samsung.com>

SVN revision: 84203
Signed-off-by: Deon Thomas <PrinceAMD.Elive@gmail.com>
2013-06-28 03:28:51 -04:00
Christopher Michael 0658fda5a7 Backport: 1d10a38 :: Actually, allow move/resize/rotate for disabled monitors so things can be adjusted (NB: Will not actually mattery on Apply anyway).
Signed-off-by: Christopher Michael <cp.michael@samsung.com>

SVN revision: 84197
Signed-off-by: Deon Thomas <PrinceAMD.Elive@gmail.com>
2013-06-28 03:28:51 -04:00
Christopher Michael 3a3cea80b6 Backport: c5254ce :: Set current size and position text when we set current values. 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
Signed-off-by: Deon Thomas <PrinceAMD.Elive@gmail.com>
2013-06-28 03:28:51 -04:00
Christopher Michael 39ab375a64 Backport: f487724 :: Fix move_stop to use current geometry.
Signed-off-by: Christopher Michael <cp.michael@samsung.com>

SVN revision: 84194
Signed-off-by: Deon Thomas <PrinceAMD.Elive@gmail.com>
2013-06-28 03:28:51 -04:00
Christopher Michael f30acdc4ee Backport: 2819733 :: Handle setting monitor to enabled/disabled based on crtc mode.
Signed-off-by: Christopher Michael <cp.michael@samsung.com>

SVN revision: 84193
Signed-off-by: Deon Thomas <PrinceAMD.Elive@gmail.com>
2013-06-28 03:28:50 -04:00
Christopher Michael 9ab072cd4e Backport: 2acdd3f :: Add 'current' field values so we can use these durring apply for 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
Signed-off-by: Deon Thomas <PrinceAMD.Elive@gmail.com>
2013-06-28 03:28:50 -04:00
Christopher Michael 88110ca30a Backport: aee6393 :: Add code to handle manual monitor movement. 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
Signed-off-by: Deon Thomas <PrinceAMD.Elive@gmail.com>
2013-06-28 03:28:50 -04:00
Christopher Michael 138323d6b1 Backport: b33401f :: Add in refresh_rate code for filling refresh rate list and listening 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
Signed-off-by: Deon Thomas <PrinceAMD.Elive@gmail.com>
2013-06-28 03:28:50 -04:00
Christopher Michael c1a6c1c6aa Backport: 39bc25b :: Use ecore_x_randr_crtc_info_free function to free returned crtc_info. When comparing refresh rates for mode searches, cast to int.
Signed-off-by: Christopher Michael <cp.michael@samsung.com>

SVN revision: 84187
Signed-off-by: Deon Thomas <PrinceAMD.Elive@gmail.com>
2013-06-28 03:28:50 -04:00
Christopher Michael bda7510577 Backport: 2e0f4e7 :: Reduce variable usage
Signed-off-by: Christopher Michael <cp.michael@samsung.com>

SVN revision: 84186
Signed-off-by: Deon Thomas <PrinceAMD.Elive@gmail.com>
2013-06-28 03:28:50 -04:00
Christopher Michael 4c512aa526 Backport: e02c9fc :: Fix comment. Remove orientation comparison.
Signed-off-by: Christopher Michael <cp.michael@samsung.com>

SVN revision: 84185
Signed-off-by: Deon Thomas <PrinceAMD.Elive@gmail.com>
2013-06-28 03:28:50 -04:00
Christopher Michael ae9cbd4e9f Backport: af59660 :: Add ROTATE_FUZZ amount. 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
Signed-off-by: Deon Thomas <PrinceAMD.Elive@gmail.com>
2013-06-28 03:28:50 -04:00
Christopher Michael 63163546d8 Backport: c2b2be5 :: Add current rotation to smart_data structure. 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
Signed-off-by: Deon Thomas <PrinceAMD.Elive@gmail.com>
2013-06-28 03:28:50 -04:00
Christopher Michael ab05ef5335 Backport: 3585513 :: Add inline function to return the degree of rotation based on orientation.
Signed-off-by: Christopher Michael <cp.michael@samsung.com>

SVN revision: 84182
Signed-off-by: Deon Thomas <PrinceAMD.Elive@gmail.com>
2013-06-28 03:28:50 -04:00
Christopher Michael 85d7ef2fbe Backport: 87daec4 :: Remove Big Fat Fixme warning as it's fixed now :)
Signed-off-by: Christopher Michael <cp.michael@samsung.com>

SVN revision: 84181
Signed-off-by: Deon Thomas <PrinceAMD.Elive@gmail.com>
2013-06-28 03:28:50 -04:00
Christopher Michael 853de9c660 Backport: ed84b96 :: Add code to check EFL version. 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
Signed-off-by: Deon Thomas <PrinceAMD.Elive@gmail.com>
2013-06-28 03:28:50 -04:00
Christopher Michael 4772dd90e8 Backport: 93ad1fa :: Add current mode and refresh rate to crtc field. 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
Signed-off-by: Deon Thomas <PrinceAMD.Elive@gmail.com>
2013-06-28 03:28:50 -04:00
Christopher Michael 48308853d3 Backport: 1ec01f9 :: Add function to get the amount of rotation from a mouse event. Simplify mouse movement check in resize_event and add some better comments.
Signed-off-by: Christopher Michael <cp.michael@samsung.com>

SVN revision: 84178
Signed-off-by: Deon Thomas <PrinceAMD.Elive@gmail.com>
2013-06-28 03:28:50 -04:00
Christopher Michael d44ba20579 Backport: 3526741c :: Turn 'crtc' field into a structure (mainly for making code easier to read/maintain).
Signed-off-by: Christopher Michael <cp.michael@samsung.com>

SVN revision: 84177
Signed-off-by: Deon Thomas <PrinceAMD.Elive@gmail.com>
2013-06-28 03:28:50 -04:00
Christopher Michael f53cc4a5f2 Backport: 5b47415 :: Add code to check if rotations for a given crtc are possible, and disable the rotation in edje if not.
Signed-off-by: Christopher Michael <cp.michael@samsung.com>

SVN revision: 84176
Signed-off-by: Deon Thomas <PrinceAMD.Elive@gmail.com>
2013-06-28 03:28:50 -04:00
Christopher Michael ddc4c39e43 Backport: 9edea3c :: Only get edid (an expensive process) if getting the output name previously has failed.
Signed-off-by: Christopher Michael <cp.michael@samsung.com>

SVN revision: 84175
Signed-off-by: Deon Thomas <PrinceAMD.Elive@gmail.com>
2013-06-28 03:28:49 -04:00
Christopher Michael d94e796050 Backport: 7abc8a7 :: Add flag for rotating to structure. Add & delete callbacks for rotation start & stop. Add functions for rotate start & stop. Add start of rotate event code.
Signed-off-by: Christopher Michael <cp.michael@samsung.com>

SVN revision: 84174
Signed-off-by: Deon Thomas <PrinceAMD.Elive@gmail.com>
2013-06-28 03:28:49 -04:00
Christopher Michael b2c3ccd676 Backport: 2edc7cf :: Add some comments.
Signed-off-by: Christopher Michael <cp.michael@samsung.com>

SVN revision: 84173
Signed-off-by: Deon Thomas <PrinceAMD.Elive@gmail.com>
2013-06-28 03:28:49 -04:00
Christopher Michael 4a4b5c98f5 Backport: 480170d :: Remove all code which tried to maintain aspect ratio of the frame (resize snapping to mode dimensions will handle this anyway).
Signed-off-by: Christopher Michael <cp.michael@samsung.com>

SVN revision: 84172
Signed-off-by: Deon Thomas <PrinceAMD.Elive@gmail.com>
2013-06-28 03:28:49 -04:00