Mercator
AreaShader.h
1 // This file may be redistributed and modified only under the terms of
2 // the GNU General Public License (See COPYING for details).
3 // Copyright (C) 2005 Alistair Riddoch
4 
5 #ifndef MERCATOR_AREASHADER_H
6 #define MERCATOR_AREASHADER_H
7 
8 #include <Mercator/Shader.h>
9 
10 namespace Mercator
11 {
12 
13 class Area;
14 
16 class AreaShader : public Shader
17 {
18 public:
22  AreaShader(int layer);
23 
24  virtual void shade(Surface &s) const;
25 
26  virtual bool checkIntersect(const Segment &) const;
27 private:
29  void shadeArea(Surface& s, const Area* const ar) const;
30 
32  int m_layer;
33 };
34 
35 }
36 
37 #endif // of MERCATOR_AREASHADER_H