Welcome to mirror list, hosted at ThFree Co, Russian Federation.

colored_symbol_shape.hpp « drape_frontend - github.com/mapsme/omim.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
blob: e3415fe92f90685c1803b535a0c69ea5379725c4 (plain)
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
#pragma once

#include "drape_frontend/map_shape.hpp"
#include "drape_frontend/shape_view_params.hpp"

#include "drape/constants.hpp"

namespace df
{
class ColoredSymbolShape : public MapShape
{
public:
  ColoredSymbolShape(m2::PointD const & mercatorPt, ColoredSymbolViewParams const & params,
                     TileKey const & tileKey, uint32_t textIndex, bool needOverlay = true);

  ColoredSymbolShape(m2::PointD const & mercatorPt, ColoredSymbolViewParams const & params,
                     TileKey const & tileKey, uint32_t textIndex, std::vector<m2::PointF> const & overlaySizes);

  void Draw(ref_ptr<dp::GraphicsContext> context, ref_ptr<dp::Batcher> batcher,
            ref_ptr<dp::TextureManager> textures) const override;
  MapShapeType GetType() const override { return MapShapeType::OverlayType; }

private:
  uint64_t GetOverlayPriority() const;

  m2::PointD const m_point;
  ColoredSymbolViewParams m_params;
  m2::PointI const m_tileCoords;
  uint32_t const m_textIndex;
  bool const m_needOverlay;
  std::vector<m2::PointF> m_overlaySizes;
};
}  // namespace df