Mercator
AreaShader.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_AREASHADER_H
00006 #define MERCATOR_AREASHADER_H
00007 
00008 #include <Mercator/Shader.h>
00009 
00010 namespace Mercator
00011 {
00012 
00013 class Area;
00014 
00016 class AreaShader : public Shader
00017 {
00018 public:
00022     AreaShader(int layer);
00023     
00024     virtual void shade(Surface &s) const;
00025     
00026     virtual bool checkIntersect(const Segment &) const;
00027 private:
00029     void shadeArea(Surface& s, const Area* const ar) const;
00030     
00032     int m_layer;
00033 };
00034 
00035 }
00036 
00037 #endif // of MERCATOR_AREASHADER_H