From f8217d8b96f35fd297c74df1da6428b56b01149a Mon Sep 17 00:00:00 2001 From: Alexander Larsson Date: Wed, 3 Mar 2010 15:08:58 +0100 Subject: 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. --- client/red_gdi_canvas.h | 20 -------------------- 1 file changed, 20 deletions(-) (limited to 'client/red_gdi_canvas.h') 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; -- cgit