00001
00002
00003
00004
00005 #ifndef MERCATOR_SURFACE_H
00006 #define MERCATOR_SURFACE_H
00007
00008 #include <Mercator/Buffer.h>
00009
00010 #include <climits>
00011
00012 namespace Mercator {
00013
00014 class Shader;
00015
00016 typedef unsigned char ColorT;
00017
00018 static const ColorT colorMax = UCHAR_MAX;
00019 static const ColorT colorMin = 0;
00020
00022 class Surface : public Buffer<ColorT> {
00023 public:
00025 const Shader & m_shader;
00026
00027 explicit Surface(const Segment & segment, const Shader & shader,
00028 bool colors = true, bool alpha = true);
00029 virtual ~Surface();
00030
00031 void populate();
00032
00033 };
00034
00035 }
00036
00037 #endif // MERCATOR_SURFACE_H