PieDock 1.6.0

src/Icon.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_Icon_
00015 #define _PieDock_Icon_
00016 
00017 #include "ArgbSurfaceSizeMap.h"
00018 
00019 namespace PieDock
00020 {
00026     class Icon : public ArgbSurfaceSizeMap
00027     {
00028         public:
00029             enum Type
00030             {
00031                 Missing,
00032                 Filler,
00033                 File,
00034                 Window
00035             };
00036 
00037             Icon( const ArgbSurface *s, Type t = File ) :
00038                 ArgbSurfaceSizeMap( s ),
00039                 type( t ) {}
00040             virtual ~Icon() {}
00041             inline const Type &getType() const { return type; }
00042             inline void setType( Type t ) { type = t; }
00043 
00044         private:
00045             Type type;
00046     };
00047 }
00048 
00049 #endif