[gtk+] [broadway] Report right root coors in toplevel mode
- From: Alexander Larsson <alexl src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gtk+] [broadway] Report right root coors in toplevel mode
- Date: Thu, 7 Apr 2011 19:20:46 +0000 (UTC)
commit 06fc6e007e350a55d54b7a3423e81e6d4cf453ea
Author: Alexander Larsson <alexl redhat com>
Date: Wed Apr 6 16:51:31 2011 +0200
[broadway] Report right root coors in toplevel mode
gdk/broadway/broadway.js | 31 ++++++++++++-------------------
1 files changed, 12 insertions(+), 19 deletions(-)
---
diff --git a/gdk/broadway/broadway.js b/gdk/broadway/broadway.js
index 94d9b2e..0ce4b11 100644
--- a/gdk/broadway/broadway.js
+++ b/gdk/broadway/broadway.js
@@ -673,21 +673,6 @@ function sendInput(cmd, args)
}
}
-function getDocumentCoordinates(element)
-{
- var res = new Object();
- res.x = element.offsetLeft;
- res.y = element.offsetTop;
-
- var offsetParent = element.offsetParent;
- while (offsetParent != null) {
- res.x += offsetParent.offsetLeft;
- res.y += offsetParent.offsetTop;
- offsetParent = offsetParent.offsetParent;
- }
- return res;
-}
-
function getPositionsFromAbsCoord(absX, absY, relativeId) {
var res = Object();
@@ -696,16 +681,24 @@ function getPositionsFromAbsCoord(absX, absY, relativeId) {
res.winX = absX;
res.winY = absY;
if (relativeId != 0) {
- var pos = getDocumentCoordinates(surfaces[relativeId].canvas);
- res.winX = res.winX - pos.x;
- res.winY = res.winY - pos.y;
+ var surface = surfaces[relativeId];
+ res.winX = res.winX - surface.x;
+ res.winY = res.winY - surface.y;
}
return res;
}
function getPositionsFromEvent(ev, relativeId) {
- var res = getPositionsFromAbsCoord(ev.pageX, ev.pageY, relativeId);
+ var absX, absY;
+ if (useToplevelWindows) {
+ absX = ev.screenX;
+ absY = ev.screenY;
+ } else {
+ absX = ev.pageX;
+ absY = ev.pageY;
+ }
+ var res = getPositionsFromAbsCoord(absX, absY, relativeId);
lastX = res.rootX;
lastY = res.rootY;
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]