Marble

MercatorScanlineTextureMapper.h
1 // SPDX-License-Identifier: LGPL-2.1-or-later
2 //
3 // SPDX-FileCopyrightText: 2007 Carlos Licea <carlos [email protected]>
4 // SPDX-FileCopyrightText: 2008 Inge Wallin <[email protected]>
5 // SPDX-FileCopyrightText: 2011 Bernhard Beschow <[email protected]>
6 //
7 
8 #ifndef MARBLE_MERCATORSCANLINETEXTUREMAPPER_H
9 #define MARBLE_MERCATORSCANLINETEXTUREMAPPER_H
10 
11 
12 #include "TextureMapperInterface.h"
13 
14 #include "MarbleGlobal.h"
15 
16 #include <QThreadPool>
17 #include <QImage>
18 
19 
20 namespace Marble
21 {
22 
23 class StackedTileLoader;
24 
25 class MercatorScanlineTextureMapper : public TextureMapperInterface
26 {
27  public:
28  explicit MercatorScanlineTextureMapper( StackedTileLoader *tileLoader );
29 
30  void mapTexture( GeoPainter *painter,
31  const ViewportParams *viewport,
32  int tileZoomLevel,
33  const QRect &dirtyRect,
34  TextureColorizer *texColorizer ) override;
35 
36  private:
37  void mapTexture( const ViewportParams *viewport, int tileZoomLevel, MapQuality mapQuality );
38 
39  private:
40  class RenderJob;
41 
42  StackedTileLoader *const m_tileLoader;
43  int m_radius;
44  QImage m_canvasImage;
45  int m_oldYPaintedTop;
46  QThreadPool m_threadPool;
47 };
48 
49 }
50 
51 #endif
MapQuality
This enum is used to choose the map quality shown in the view.
Definition: MarbleGlobal.h:74
Binds a QML item to a specific geodetic location in screen coordinates.
This file is part of the KDE documentation.
Documentation copyright © 1996-2023 The KDE developers.
Generated on Mon Oct 2 2023 03:52:09 by doxygen 1.8.17 written by Dimitri van Heesch, © 1997-2006

KDE's Doxygen guidelines are available online.