TileShader.h

00001 // This file may be redistributed and modified only under the terms of
00002 // the GNU General Public License (See COPYING for details).
00003 // Copyright (C) 2005 Alistair Riddoch
00004 
00005 #ifndef MERCATOR_TILE_SHADER_H
00006 #define MERCATOR_TILE_SHADER_H
00007 
00008 #include <Mercator/Shader.h>
00009 
00010 #include <map>
00011 
00012 namespace Mercator {
00013 
00014 class TileShader : public Shader {
00015   public:
00017     typedef std::map<int, Shader *> Shaderstore;
00018   private:
00019     Shaderstore m_subShaders;
00020   public:
00021     explicit TileShader();
00022     virtual ~TileShader();
00023 
00024     void addShader(Shader * t, int id) {
00025         m_subShaders[id] = t;
00026     }
00027 
00028     virtual bool checkIntersect(const Segment &) const;
00029     virtual void shade(Surface &) const;
00030 };
00031 
00032 } // namespace Mercator
00033 
00034 #endif // MERCATOR_TILE_SHADER_H

Generated on Sun Aug 27 21:43:56 2006 for Mercator by  doxygen 1.4.7