PieDock 1.6.0

src/ArgbSurfaceSizeMap.h

00001 /*
00002  *   O         ,-
00003  *  ° o    . -´  '     ,-
00004  *   °  .´        ` . ´,´
00005  *     ( °   ))     . (
00006  *      `-;_    . -´ `.`.
00007  *          `._'       ´
00008  *
00009  * Copyright (c) 2007-2010 Markus Fisch <mf@markusfisch.de>
00010  *
00011  * Licensed under the MIT license:
00012  * http://www.opensource.org/licenses/mit-license.php
00013  */
00014 #ifndef _PieDock_ArgbSurfaceSizeMap_
00015 #define _PieDock_ArgbSurfaceSizeMap_
00016 
00017 #include "ArgbSurface.h"
00018 
00019 #include <string>
00020 #include <map>
00021 
00022 namespace PieDock
00023 {
00029     class ArgbSurfaceSizeMap
00030     {
00031         public:
00032             ArgbSurfaceSizeMap( const ArgbSurface * );
00033             virtual ~ArgbSurfaceSizeMap();
00034             inline const ArgbSurface &getSurface() const {
00035                 return surface; }
00036             virtual const ArgbSurface *getSurface( int, int );
00037             virtual void setSurface( ArgbSurface * );
00038 
00039         protected:
00040             virtual void clear();
00041 
00042         private:
00043             typedef std::map<int, ArgbSurface *> SurfaceMap;
00044 
00045             ArgbSurface surface;
00046             SurfaceMap surfaceMap;
00047     };
00048 }
00049 
00050 #endif