diff options
author | Alexander Larsson <alexl@redhat.com> | 2010-03-03 15:08:58 +0100 |
---|---|---|
committer | Alexander Larsson <alexl@redhat.com> | 2010-03-08 19:45:28 +0100 |
commit | f8217d8b96f35fd297c74df1da6428b56b01149a (patch) | |
tree | ba51569d697f284b0048337202c74539a8f6a193 /common/gdi_canvas.h | |
parent | 05697e502d709974f9b94feca5d9bdde20b993be (diff) | |
download | spice-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 'common/gdi_canvas.h')
-rw-r--r-- | common/gdi_canvas.h | 36 |
1 files changed, 4 insertions, 32 deletions
diff --git a/common/gdi_canvas.h b/common/gdi_canvas.h index 12082d83..b3dc6057 100644 --- a/common/gdi_canvas.h +++ b/common/gdi_canvas.h @@ -26,8 +26,6 @@ #include "canvas_base.h" #include "region.h" -typedef struct GdiCanvas GdiCanvas; - typedef struct { int width; int height; @@ -35,36 +33,10 @@ typedef struct { uint8_t *pixels; } GdiImage; -void gdi_canvas_draw_fill(GdiCanvas *canvas, SpiceRect *bbox, SpiceClip *clip, SpiceFill *fill); -void gdi_canvas_draw_copy(GdiCanvas *canvas, SpiceRect *bbox, SpiceClip *clip, SpiceCopy *copy); -void gdi_canvas_draw_opaque(GdiCanvas *canvas, SpiceRect *bbox, SpiceClip *clip, SpiceOpaque *opaque); -void gdi_canvas_copy_bits(GdiCanvas *canvas, SpiceRect *bbox, SpiceClip *clip, SpicePoint *src_pos); -void gdi_canvas_draw_text(GdiCanvas *canvas, SpiceRect *bbox, SpiceClip *clip, SpiceText *text); -void gdi_canvas_draw_stroke(GdiCanvas *canvas, SpiceRect *bbox, SpiceClip *clip, SpiceStroke *stroke); -void gdi_canvas_draw_rop3(GdiCanvas *canvas, SpiceRect *bbox, SpiceClip *clip, SpiceRop3 *rop3); -void gdi_canvas_draw_blend(GdiCanvas *canvas, SpiceRect *bbox, SpiceClip *clip, SpiceBlend *blend); -void gdi_canvas_draw_blackness(GdiCanvas *canvas, SpiceRect *bbox, SpiceClip *clip, SpiceBlackness *blackness); -void gdi_canvas_draw_whiteness(GdiCanvas *canvas, SpiceRect *bbox, SpiceClip *clip, SpiceWhiteness *whiteness); -void gdi_canvas_draw_invers(GdiCanvas *canvas, SpiceRect *bbox, SpiceClip *clip, SpiceInvers *invers); -void gdi_canvas_draw_transparent(GdiCanvas *canvas, SpiceRect *bbox, SpiceClip *clip, - SpiceTransparent* transparent); -void gdi_canvas_draw_alpha_blend(GdiCanvas *canvas, SpiceRect *bbox, SpiceClip *clip, SpiceAlphaBlnd* alpha_blend); -void gdi_canvas_put_image(GdiCanvas *canvas, HDC dc, const SpiceRect *dest, const uint8_t *src_data, - uint32_t src_width, uint32_t src_height, int src_stride, - const QRegion *clip); -void gdi_canvas_clear(GdiCanvas *canvas); - -#ifdef CAIRO_CANVAS_ACCESS_TEST -void gdi_canvas_set_access_params(GdiCanvas *canvas, unsigned long base, unsigned long max); -#endif - - -GdiCanvas *gdi_canvas_create(HDC dc, class Mutex *lock, int bits, - SpiceImageCache *bits_cache, - SpicePaletteCache *palette_cache, - SpiceGlzDecoder *glz_decoder); - -void gdi_canvas_destroy(GdiCanvas *canvas); +SpiceCanvas *gdi_canvas_create(HDC dc, class Mutex *lock, int bits, + SpiceImageCache *bits_cache, + SpicePaletteCache *palette_cache, + SpiceGlzDecoder *glz_decoder); void gdi_canvas_init(); |