[gtk+/broadway: 41/71] [broadway] Fix up scrolling
- From: Alexander Larsson <alexl src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gtk+/broadway: 41/71] [broadway] Fix up scrolling
- Date: Thu, 25 Nov 2010 21:18:42 +0000 (UTC)
commit d0e403c54d0bfced06e868f54af425906b98d588
Author: Alexander Larsson <alexl redhat com>
Date: Sun Nov 21 22:12:39 2010 +0100
[broadway] Fix up scrolling
gdk/broadway/broadway.js | 24 +++++++++++++++++++++++-
1 files changed, 23 insertions(+), 1 deletions(-)
---
diff --git a/gdk/broadway/broadway.js b/gdk/broadway/broadway.js
index 7941c13..4e5fbee 100644
--- a/gdk/broadway/broadway.js
+++ b/gdk/broadway/broadway.js
@@ -179,6 +179,10 @@ function handleCommands(cmd_obj)
var context = surfaces[id];
context.save();
+ var minx;
+ var miny;
+ var maxx;
+ var maxy;
for (var r = 0; r < nrects; r++) {
var x = base64_16(cmd, i);
i = i + 3;
@@ -189,6 +193,22 @@ function handleCommands(cmd_obj)
var h = base64_16(cmd, i);
i = i + 3;
context.rect(x, y, w, h);
+
+ if (r == 0) {
+ minx = x;
+ miny = y;
+ maxx = x + w;
+ maxy = y + h;
+ } else {
+ if (x < minx)
+ minx = x;
+ if (y < miny)
+ miny = y;
+ if (x + w > maxx)
+ maxx = x + w;
+ if (y + h > maxy)
+ maxy = y + h;
+ }
}
context.clip()
@@ -198,7 +218,9 @@ function handleCommands(cmd_obj)
var dy = base64_16s(cmd, i);
i = i + 3;
- context.drawImage(context.canvas, dx, dy, context.canvas.width, context.canvas.height);
+ context.drawImage(context.canvas,
+ minx - dx, miny - dy, maxx - minx, maxy - miny,
+ minx, miny, maxx - minx, maxy - miny);
context.restore();
break;
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]