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

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

#include "path_renderer.hpp"
#include "../geometry/rect2d.hpp"
#include "../geometry/any_rect2d.hpp"

namespace graphics
{
  class ShapeRenderer : public PathRenderer
  {
  private:
    typedef PathRenderer base_t;
  public:

    ShapeRenderer(base_t::Params const & params);

    void drawConvexPolygon(m2::PointF const * points,
                           size_t pointsCount,
                           Color const & color,
                           double depth);

    static void approximateArc(m2::PointD const & center,
                               double startA,
                               double endA,
                               double r,
                               vector<m2::PointD> & pts);

    void drawArc(m2::PointD const & center,
                 double startA,
                 double endA,
                 double r,
                 Color const & c,
                 double depth);

    void drawSector(m2::PointD const & center,
                    double startA,
                    double endA,
                    double r,
                    Color const & c,
                    double depth);

    void fillSector(m2::PointD const & center,
                    double startA,
                    double endA,
                    double r,
                    Color const & c,
                    double depth);

    void drawRectangle(m2::AnyRectD const & r,
                       Color const & c,
                       double depth);

    void drawRectangle(m2::RectD const & r,
                       Color const & c,
                       double depth);

    void drawRoundedRectangle(m2::RectD const & r,
                              double rad,
                              Color const & c,
                              double depth);
  };
}