1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68
|
//
// This file is part of the Marble Virtual Globe.
//
// This program is free software licensed under the GNU LGPL. You can
// find a copy of this license in LICENSE.txt in the top directory of
// the source code.
//
// Copyright 2004-2007 Torsten Rahn <tackat@kde.org>
// Copyright 2007 Inge Wallin <ingwa@kde.org>
//
//
// The TextureColorizer maps the Elevationvalues to Legend Colors.
//
#ifndef MARBLE_TEXTURECOLORIZER_H
#define MARBLE_TEXTURECOLORIZER_H
#include "MarbleGlobal.h"
#include "GeoDataDocument.h"
#include <QString>
#include <QImage>
#include <QColor>
namespace Marble
{
class GeoPainter;
class ViewportParams;
class TextureColorizer
{
public:
TextureColorizer( const QString &seafile,
const QString &landfile );
virtual ~TextureColorizer(){}
void addSeaDocument( const GeoDataDocument *seaDocument );
void addLandDocument( const GeoDataDocument *landDocument );
void setShowRelief( bool show );
static void drawIndividualDocument( GeoPainter *painter, const GeoDataDocument *document );
void drawTextureMap( GeoPainter *painter );
void colorize( QImage *origimg, const ViewportParams *viewport, MapQuality mapQuality );
void setPixel( const QRgb *coastData, QRgb *writeData, int bump, uchar grey );
private:
QString m_seafile;
QString m_landfile;
QList<const GeoDataDocument*> m_seaDocuments;
QList<const GeoDataDocument*> m_landDocuments;
QImage m_coastImage;
uint texturepalette[16][512];
bool m_showRelief;
QRgb m_landColor;
QRgb m_seaColor;
};
}
#endif
|