summaryrefslogtreecommitdiffstats
path: root/client/display_channel.h
diff options
context:
space:
mode:
authorYonit Halperin <yhalperi@redhat.com>2011-09-18 14:52:04 +0300
committerYonit Halperin <yhalperi@redhat.com>2011-11-02 11:30:21 +0200
commitf22caf9aee2aa64313468b04efa615e2e1c7f8b3 (patch)
treef34d73c8f99b8eef51c43378617411fd5def8353 /client/display_channel.h
parent76966571748efa32a706d21830349ab2431aa4e6 (diff)
downloadspice-f22caf9aee2aa64313468b04efa615e2e1c7f8b3.tar.gz
spice-f22caf9aee2aa64313468b04efa615e2e1c7f8b3.tar.xz
spice-f22caf9aee2aa64313468b04efa615e2e1c7f8b3.zip
client: rewrite surfaces cache
use std::map instead of a specific template (CHash). There is no need for special template. Moreover, using std::map will allow easy iteration over the surfaces. (cherry picked from commit fcb3b4ce5231218bcf949da4270bd85a2cfb3535 branch 0.8) Conflicts: client/display_channel.cpp
Diffstat (limited to 'client/display_channel.h')
-rw-r--r--client/display_channel.h18
1 files changed, 2 insertions, 16 deletions
diff --git a/client/display_channel.h b/client/display_channel.h
index 647fb660..f30311db 100644
--- a/client/display_channel.h
+++ b/client/display_channel.h
@@ -80,21 +80,6 @@ private:
DisplayChannel& _channel;
};
-class DisplaySurfacesManger {
-public:
- void add_surface(int surface_id, SpiceCanvas *surface);
- void del_surface(int surface_id);
- void add_canvas(int surface_id, Canvas *canvas);
- void del_canvas(int surface_id);
-
- CSurfaces& get_surfaces();
- bool is_present_canvas(int surface_id);
- Canvas* get_canvas(int surface_id);
-private:
- CSurfaces surfaces;
- CCanvases canvases;
-};
-
class DisplayChannel: public RedChannel, public ScreenLayer {
public:
DisplayChannel(RedClient& client, uint32_t id,
@@ -191,8 +176,9 @@ private:
void reset_screen();
static void set_clip_rects(const SpiceClip& clip, uint32_t& num_clip_rects, SpiceRect*& clip_rects);
+
private:
- DisplaySurfacesManger surfaces_mngr;
+ SurfacesCache _surfaces_cache;
PixmapCache& _pixmap_cache;
PaletteCache _palette_cache;
GlzDecoderWindow& _glz_window;