libosmscout
1.1.1
Toggle main menu visibility
Loading...
Searching...
No Matches
libosmscout-map-cairo
include
osmscoutmapcairo
SymbolRendererCairo.h
Go to the documentation of this file.
1
#ifndef OSMSCOUT_MAP_CAIRO_SYMBOLRENDERERCAIRO_H
2
#define OSMSCOUT_MAP_CAIRO_SYMBOLRENDERERCAIRO_H
3
4
/*
5
This source is part of the libosmscout-map library
6
Copyright (C) 2010 Tim Teulings
7
Copyright (C) 2022 Lukas Karas
8
Copyright (C) 2022 Tim Teulings
9
10
This library is free software; you can redistribute it and/or
11
modify it under the terms of the GNU Lesser General Public
12
License as published by the Free Software Foundation; either
13
version 2.1 of the License, or (at your option) any later version.
14
15
This library is distributed in the hope that it will be useful,
16
but WITHOUT ANY WARRANTY; without even the implied warranty of
17
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
18
Lesser General Public License for more details.
19
20
You should have received a copy of the GNU Lesser General Public
21
License along with this library; if not, write to the Free Software
22
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
23
*/
24
25
#if defined(__WIN32__) || defined(WIN32)
26
#include <cairo.h>
27
#else
28
#include <cairo/cairo.h>
29
#endif
30
31
#include <
osmscoutmapcairo/MapCairoImportExport.h
>
32
33
#include <
osmscoutmap/SymbolRenderer.h
>
34
35
#include <
osmscoutmap/Styles.h
>
36
37
38
namespace
osmscout
{
39
43
class
OSMSCOUT_MAP_CAIRO_API
SymbolRendererCairo
:
public
SymbolRenderer
{
44
private
:
45
cairo_t *draw;
46
FillStyleRef
fillStyle;
47
BorderStyleRef
borderStyle;
48
double
screenMmInPixel;
49
50
public
:
51
explicit
SymbolRendererCairo
(cairo_t *draw);
52
SymbolRendererCairo
(
const
SymbolRendererCairo
&) =
default
;
53
SymbolRendererCairo
(
SymbolRendererCairo
&&) =
default
;
54
55
~SymbolRendererCairo
()
override
=
default
;
56
57
SymbolRendererCairo
&
operator=
(
const
SymbolRendererCairo
&) =
default
;
58
SymbolRendererCairo
&
operator=
(
SymbolRendererCairo
&&) =
default
;
59
60
protected
:
61
void
BeginPrimitive
()
override
;
62
void
SetFill
(
const
FillStyleRef
&fillStyle)
override
;
63
void
SetBorder
(
const
BorderStyleRef
&borderStyle,
double
screenMmInPixel)
override
;
64
void
DrawPolygon
(
const
std::vector<Vertex2D> &polygonPixels)
override
;
65
void
DrawRect
(
double
x,
double
y,
double
w,
double
h)
override
;
66
void
DrawCircle
(
double
x,
double
y,
double
radius)
override
;
67
void
EndPrimitive
()
override
;
68
};
69
}
70
71
#endif
// OSMSCOUT_MAP_CAIRO_SYMBOLRENDERERCAIRO_H
MapCairoImportExport.h
OSMSCOUT_MAP_CAIRO_API
#define OSMSCOUT_MAP_CAIRO_API
Definition
MapCairoImportExport.h:45
Styles.h
SymbolRenderer.h
osmscout::SymbolRendererCairo::EndPrimitive
void EndPrimitive() override
osmscout::SymbolRendererCairo::SymbolRendererCairo
SymbolRendererCairo(const SymbolRendererCairo &)=default
osmscout::SymbolRendererCairo::~SymbolRendererCairo
~SymbolRendererCairo() override=default
osmscout::SymbolRendererCairo::SetFill
void SetFill(const FillStyleRef &fillStyle) override
osmscout::SymbolRendererCairo::operator=
SymbolRendererCairo & operator=(SymbolRendererCairo &&)=default
osmscout::SymbolRendererCairo::DrawRect
void DrawRect(double x, double y, double w, double h) override
osmscout::SymbolRendererCairo::operator=
SymbolRendererCairo & operator=(const SymbolRendererCairo &)=default
osmscout::SymbolRendererCairo::SymbolRendererCairo
SymbolRendererCairo(cairo_t *draw)
osmscout::SymbolRendererCairo::DrawCircle
void DrawCircle(double x, double y, double radius) override
osmscout::SymbolRendererCairo::SetBorder
void SetBorder(const BorderStyleRef &borderStyle, double screenMmInPixel) override
osmscout::SymbolRendererCairo::BeginPrimitive
void BeginPrimitive() override
osmscout::SymbolRendererCairo::SymbolRendererCairo
SymbolRendererCairo(SymbolRendererCairo &&)=default
osmscout::SymbolRendererCairo::DrawPolygon
void DrawPolygon(const std::vector< Vertex2D > &polygonPixels) override
osmscout::SymbolRenderer
Definition
SymbolRenderer.h:34
osmscout
Definition
Area.h:39
osmscout::BorderStyleRef
std::shared_ptr< BorderStyle > BorderStyleRef
Definition
Styles.h:464
osmscout::FillStyleRef
std::shared_ptr< FillStyle > FillStyleRef
Definition
Styles.h:356
Generated by
1.17.0