Mercator
|
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) 2003 Alistair Riddoch 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 // Do we need an accessor presenting the array in colour form? 00033 }; 00034 00035 } // namespace Mercator 00036 00037 #endif // MERCATOR_SURFACE_H