diff options
Diffstat (limited to 'client/red_sw_canvas.h')
-rw-r--r-- | client/red_sw_canvas.h | 49 |
1 files changed, 49 insertions, 0 deletions
diff --git a/client/red_sw_canvas.h b/client/red_sw_canvas.h new file mode 100644 index 00000000..ebac7109 --- /dev/null +++ b/client/red_sw_canvas.h @@ -0,0 +1,49 @@ +/* -*- Mode: C; c-basic-offset: 4; indent-tabs-mode: nil -*- */ +/* + Copyright (C) 2009 Red Hat, Inc. + + This library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + This library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with this library; if not, see <http://www.gnu.org/licenses/>. +*/ + +#ifndef _H_CCANVAS +#define _H_CCANVAS + +#include "canvas.h" +#include "sw_canvas.h" + +class RedPixmap; + +class SCanvas: public Canvas { +public: + SCanvas(bool onscreen, + int width, int height, uint32_t format, RedWindow *win, + PixmapCache& pixmap_cache, PaletteCache& palette_cache, + GlzDecoderWindow &glz_decoder_window, CSurfaces &csurfaces); + virtual ~SCanvas(); + + 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 CanvasType get_pixmap_type(); + +private: + RedPixmap *_pixmap; + unsigned long _base; + unsigned long _max; +}; + +#endif + |