Mercator
Surface.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) 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