summaryrefslogtreecommitdiffstats
path: root/client/red_gdi_canvas.h
diff options
context:
space:
mode:
authorAlexander Larsson <alexl@redhat.com>2010-03-03 15:08:58 +0100
committerAlexander Larsson <alexl@redhat.com>2010-03-08 19:45:28 +0100
commitf8217d8b96f35fd297c74df1da6428b56b01149a (patch)
treeba51569d697f284b0048337202c74539a8f6a193 /client/red_gdi_canvas.h
parent05697e502d709974f9b94feca5d9bdde20b993be (diff)
downloadspice-f8217d8b96f35fd297c74df1da6428b56b01149a.tar.gz
spice-f8217d8b96f35fd297c74df1da6428b56b01149a.tar.xz
spice-f8217d8b96f35fd297c74df1da6428b56b01149a.zip
Move virtualization of canvas drawing into common/canvas_base
Instead of having two virtualizations of the canvas we push the virtualization into the canvas code itself. This not only avoids the duplication of this code, it also makes the exposed API for the canvas much smaller (in terms of exported API). It also lets us use the virtualization to implement basic support for operations in canvas_base which is then overridden by each canvas implementation.
Diffstat (limited to 'client/red_gdi_canvas.h')
-rw-r--r--client/red_gdi_canvas.h20
1 files changed, 0 insertions, 20 deletions
diff --git a/client/red_gdi_canvas.h b/client/red_gdi_canvas.h
index 6f494340..83fc1205 100644
--- a/client/red_gdi_canvas.h
+++ b/client/red_gdi_canvas.h
@@ -32,39 +32,19 @@ public:
virtual ~GDICanvas();
virtual void set_mode(int x, int y, int bits);
- virtual void clear();
virtual void thread_touch() {}
virtual void copy_pixels(const QRegion& region, RedDrawable* dc,
const PixmapHeader* pixmap);
virtual void copy_pixels(const QRegion& region, RedDrawable& dc);
- virtual void put_image(HDC dc, const PixmapHeader& image, const SpiceRect& dest,
- const QRegion* clip);
virtual CanvasType get_pixmap_type();
-protected:
- virtual void set_access_params(unsigned long base, unsigned long max);
- virtual void draw_fill(SpiceRect *bbox, SpiceClip *clip, SpiceFill *fill);
- virtual void draw_copy(SpiceRect *bbox, SpiceClip *clip, SpiceCopy *copy);
- virtual void draw_opaque(SpiceRect *bbox, SpiceClip *clip, SpiceOpaque *opaque);
- virtual void copy_bits(SpiceRect *bbox, SpiceClip *clip, SpicePoint *src_pos);
- virtual void draw_text(SpiceRect *bbox, SpiceClip *clip, SpiceText *text);
- virtual void draw_stroke(SpiceRect *bbox, SpiceClip *clip, SpiceStroke *stroke);
- virtual void draw_rop3(SpiceRect *bbox, SpiceClip *clip, SpiceRop3 *rop3);
- virtual void draw_blend(SpiceRect *bbox, SpiceClip *clip, SpiceBlend *blend);
- virtual void draw_blackness(SpiceRect *bbox, SpiceClip *clip, SpiceBlackness *blackness);
- virtual void draw_whiteness(SpiceRect *bbox, SpiceClip *clip, SpiceWhiteness *whiteness);
- virtual void draw_invers(SpiceRect *bbox, SpiceClip *clip, SpiceInvers *invers);
- virtual void draw_transparent(SpiceRect *bbox, SpiceClip *clip, SpiceTransparent* transparent);
- virtual void draw_alpha_blend(SpiceRect *bbox, SpiceClip *clip, SpiceAlphaBlnd* alpha_blend);
-
private:
void create_pixmap(int width, int height);
void destroy_pixmap();
void destroy();
private:
- GdiCanvas* _canvas;
RedPixmapGdi *_pixmap;
RedPixmapGdi *_helper_pixmap;
HDC _dc;