[gnome-shell] keyboard: Use GrapheneRect in focus tracker
- From: Marge Bot <marge-bot src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gnome-shell] keyboard: Use GrapheneRect in focus tracker
- Date: Fri, 12 Mar 2021 16:00:59 +0000 (UTC)
commit 7c83cbe1355e2e722f056862a7dd649bb9d5daf0
Author: Jonas Dreßler <verdre v0yd nl>
Date: Sat Feb 27 11:26:00 2021 +0100
keyboard: Use GrapheneRect in focus tracker
This will be useful in the next commit.
Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1728>
js/ui/keyboard.js | 33 +++++++++++++++++++--------------
1 file changed, 19 insertions(+), 14 deletions(-)
---
diff --git a/js/ui/keyboard.js b/js/ui/keyboard.js
index 0f01589fdd..651a560fa1 100644
--- a/js/ui/keyboard.js
+++ b/js/ui/keyboard.js
@@ -1,7 +1,7 @@
// -*- mode: js; js-indent-level: 4; indent-tabs-mode: nil -*-
/* exported KeyboardManager */
-const { Clutter, Gio, GLib, GObject, Meta, Shell, St } = imports.gi;
+const { Clutter, Gio, GLib, GObject, Graphene, Meta, Shell, St } = imports.gi;
const ByteArray = imports.byteArray;
const Signals = imports.signals;
@@ -568,8 +568,7 @@ var FocusTracker = class {
/* Valid for wayland clients */
this._cursorLocationChangedId =
Main.inputMethod.connect('cursor-location-changed', (o, rect) => {
- let newRect = { x: rect.get_x(), y: rect.get_y(), width: rect.get_width(), height:
rect.get_height() };
- this._setCurrentRect(newRect);
+ this._setCurrentRect(rect);
});
this._ibusManager = IBusManager.getIBusManager();
@@ -579,7 +578,10 @@ var FocusTracker = class {
if (Main.inputMethod.currentFocus)
return;
- this._setCurrentRect(rect);
+ const grapheneRect = new Graphene.Rect();
+ grapheneRect.init(rect.x, rect.y, rect.width, rect.height);
+
+ this._setCurrentRect(grapheneRect);
});
this._focusInId = this._ibusManager.connect('focus-in', () => {
this.emit('focus-changed', true);
@@ -608,16 +610,15 @@ var FocusTracker = class {
_setCurrentRect(rect) {
if (this._currentWindow) {
- let frameRect = this._currentWindow.get_frame_rect();
- rect.x -= frameRect.x;
- rect.y -= frameRect.y;
+ const frameRect = this._currentWindow.get_frame_rect();
+ const grapheneFrameRect = new Graphene.Rect();
+ grapheneFrameRect.init(frameRect.x, frameRect.y,
+ frameRect.width, frameRect.height);
+
+ rect.offset(-frameRect.x, -frameRect.y);
}
- if (this._rect &&
- this._rect.x == rect.x &&
- this._rect.y == rect.y &&
- this._rect.width == rect.width &&
- this._rect.height == rect.height)
+ if (this._rect && this._rect.equal(rect))
return;
this._rect = rect;
@@ -625,8 +626,12 @@ var FocusTracker = class {
}
getCurrentRect() {
- let rect = { x: this._rect.x, y: this._rect.y,
- width: this._rect.width, height: this._rect.height };
+ const rect = {
+ x: this._rect.origin.x,
+ y: this._rect.origin.y,
+ width: this._rect.size.width,
+ height: this._rect.size.height,
+ };
if (this._currentWindow) {
let frameRect = this._currentWindow.get_frame_rect();
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]