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
This commit is contained in:
parent
c150fe95b9
commit
bda18888c0
@ -1809,12 +1809,10 @@ class Crosshairs extends Clutter.Actor {
|
|||||||
let clipWidth = this._clipSize[0];
|
let clipWidth = this._clipSize[0];
|
||||||
let clipHeight = this._clipSize[1];
|
let clipHeight = this._clipSize[1];
|
||||||
|
|
||||||
// Note that clip, if present, is not centred on the cross hair
|
let left = groupWidth / 2 - clipWidth / 2 - leftLength - thickness / 2;
|
||||||
// intersection, but biased towards the top left.
|
let right = groupWidth / 2 + clipWidth / 2 + thickness / 2;
|
||||||
let left = groupWidth / 2 - clipWidth * 0.25 - leftLength;
|
let top = groupHeight / 2 - clipHeight / 2 - topLength - thickness / 2;
|
||||||
let right = groupWidth / 2 + clipWidth * 0.75;
|
let bottom = groupHeight / 2 + clipHeight / 2 + thickness / 2;
|
||||||
let top = groupHeight / 2 - clipHeight * 0.25 - topLength - thickness / 2;
|
|
||||||
let bottom = groupHeight / 2 + clipHeight * 0.75 + thickness / 2;
|
|
||||||
this._horizLeftHair.set_position(left, (groupHeight - thickness) / 2);
|
this._horizLeftHair.set_position(left, (groupHeight - thickness) / 2);
|
||||||
this._horizRightHair.set_position(right, (groupHeight - thickness) / 2);
|
this._horizRightHair.set_position(right, (groupHeight - thickness) / 2);
|
||||||
this._vertTopHair.set_position((groupWidth - thickness) / 2, top);
|
this._vertTopHair.set_position((groupWidth - thickness) / 2, top);
|
||||||
|
Loading…
Reference in New Issue
Block a user