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
|
//
// 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 2007 Carlos Licea <carlos _licea@hotmail.com>
// Copyright 2008 Inge Wallin <inge@lysator.liu.se>
// Copyright 2011 Bernhard Beschow <bbeschow@cs.tu-berlin.de>
//
#ifndef MARBLE_MERCATORSCANLINETEXTUREMAPPER_H
#define MARBLE_MERCATORSCANLINETEXTUREMAPPER_H
#include "TextureMapperInterface.h"
#include "MarbleGlobal.h"
#include <QThreadPool>
#include <QImage>
namespace Marble
{
class StackedTileLoader;
class MercatorScanlineTextureMapper : public TextureMapperInterface
{
public:
explicit MercatorScanlineTextureMapper( StackedTileLoader *tileLoader );
void mapTexture( GeoPainter *painter,
const ViewportParams *viewport,
int tileZoomLevel,
const QRect &dirtyRect,
TextureColorizer *texColorizer ) override;
private:
void mapTexture( const ViewportParams *viewport, int tileZoomLevel, MapQuality mapQuality );
private:
class RenderJob;
StackedTileLoader *const m_tileLoader;
int m_radius;
QImage m_canvasImage;
int m_oldYPaintedTop;
QThreadPool m_threadPool;
};
}
#endif
|