Marble

EquirectScanlineTextureMapper.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_EQUIRECTSCANLINETEXTUREMAPPER_H
9 #define MARBLE_EQUIRECTSCANLINETEXTUREMAPPER_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 class StackedTileLoader;
23 
24 class EquirectScanlineTextureMapper : public TextureMapperInterface
25 {
26  public:
27  explicit EquirectScanlineTextureMapper( StackedTileLoader *tileLoader );
28 
29  void mapTexture( GeoPainter *painter,
30  const ViewportParams *viewport,
31  int tileZoomLevel,
32  const QRect &dirtyRect,
33  TextureColorizer *texColorizer ) override;
34 
35  private:
36  void mapTexture( const ViewportParams *viewport, int tileZoomLevel, MapQuality mapQuality );
37 
38  private:
39  class RenderJob;
40 
41  StackedTileLoader *const m_tileLoader;
42  int m_radius;
43  QImage m_canvasImage;
44  int m_oldYPaintedTop;
45  QThreadPool m_threadPool;
46 };
47 
48 }
49 
50 #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 Thu Sep 21 2023 04:12:26 by doxygen 1.8.17 written by Dimitri van Heesch, © 1997-2006

KDE's Doxygen guidelines are available online.