diff options
author | Larsson@.(none) <Larsson@.(none)> | 2010-02-26 08:58:07 +0100 |
---|---|---|
committer | unknown <Alexander Larsson@.(none)> | 2010-03-01 15:12:35 +0100 |
commit | c28169976a9050a9a05cbb3dd4543edd34d3c82e (patch) | |
tree | 5295409e75f9cca7e483eda81cf2603e37be869c /client/red_gdi_canvas.cpp | |
parent | 98f7d96336d2e05f770918f8977f5909f2fac44a (diff) | |
download | spice-c28169976a9050a9a05cbb3dd4543edd34d3c82e.tar.gz spice-c28169976a9050a9a05cbb3dd4543edd34d3c82e.tar.xz spice-c28169976a9050a9a05cbb3dd4543edd34d3c82e.zip |
Make gdi canvas build in the new pixman world
Diffstat (limited to 'client/red_gdi_canvas.cpp')
-rw-r--r-- | client/red_gdi_canvas.cpp | 15 |
1 files changed, 12 insertions, 3 deletions
diff --git a/client/red_gdi_canvas.cpp b/client/red_gdi_canvas.cpp index e30845e8..671fe82f 100644 --- a/client/red_gdi_canvas.cpp +++ b/client/red_gdi_canvas.cpp @@ -64,9 +64,18 @@ void GDICanvas::create_pixmap(int width, int height) void GDICanvas::copy_pixels(const QRegion& region, RedDrawable& dest_dc) { - for (int i = 0; i < (int)region.num_rects; i++) { - SpiceRect* r = ®ion.rects[i]; - dest_dc.copy_pixels(*_pixmap, r->left, r->top, *r); + pixman_box32_t *rects; + int num_rects; + + rects = pixman_region32_rectangles((pixman_region32_t *)®ion, &num_rects); + for (int i = 0; i < num_rects; i++) { + SpiceRect r; + + r.left = rects[i].x1; + r.top = rects[i].y1; + r.right = rects[i].x2; + r.bottom = rects[i].y2; + dest_dc.copy_pixels(*_pixmap, r.left, r.top, r); } } |