[gnome-shell/wip/carlosg/magnifier-improvements: 37/44] magnifier: Clip all crosshair lines at even distances



commit bda18888c054ec83ccf7a7f7121b9691e0b9bb97
Author: Carlos Garnacho <carlosg gnome org>
Date:   Thu Feb 6 10:38:50 2020 +0100

    magnifier: Clip all crosshair lines at even distances
    
    If the crosshair is clipped so it doesn't cover the pointer cursor,
    the clip rectangle is skewed towards the bottom/right. This was
    made so to accomodate the default pointer, but the unevenness stays
    on other pointer cursors, and it makes the crosshair look odd on
    short crosshair length.
    
    Make all lines clip to an even distance from the center instead.
    
    https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/984

 js/ui/magnifier.js | 10 ++++------
 1 file changed, 4 insertions(+), 6 deletions(-)
---
diff --git a/js/ui/magnifier.js b/js/ui/magnifier.js
index 8d2bf34a61..7250ce530b 100644
--- a/js/ui/magnifier.js
+++ b/js/ui/magnifier.js
@@ -1809,12 +1809,10 @@ class Crosshairs extends Clutter.Actor {
         let clipWidth = this._clipSize[0];
         let clipHeight = this._clipSize[1];
 
-        // Note that clip, if present, is not centred on the cross hair
-        // intersection, but biased towards the top left.
-        let left = groupWidth / 2 - clipWidth * 0.25 - leftLength;
-        let right = groupWidth / 2 + clipWidth * 0.75;
-        let top = groupHeight / 2 - clipHeight * 0.25 - topLength - thickness / 2;
-        let bottom = groupHeight / 2 + clipHeight * 0.75 + thickness / 2;
+        let left = groupWidth / 2 - clipWidth / 2 - leftLength - thickness / 2;
+        let right = groupWidth / 2 + clipWidth / 2 + thickness / 2;
+        let top = groupHeight / 2 - clipHeight / 2 - topLength - thickness / 2;
+        let bottom = groupHeight / 2 + clipHeight / 2 + thickness / 2;
         this._horizLeftHair.set_position(left, (groupHeight - thickness) / 2);
         this._horizRightHair.set_position(right, (groupHeight - thickness) / 2);
         this._vertTopHair.set_position((groupWidth - thickness) / 2, top);


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]