Main Page
Namespaces
Classes
Files
File List
File Members
VSDXStencils.h
Go to the documentation of this file.
1
/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
2
/* libvisio
3
* Version: MPL 1.1 / GPLv2+ / LGPLv2+
4
*
5
* The contents of this file are subject to the Mozilla Public License Version
6
* 1.1 (the "License"); you may not use this file except in compliance with
7
* the License or as specified alternatively below. You may obtain a copy of
8
* the License at http://www.mozilla.org/MPL/
9
*
10
* Software distributed under the License is distributed on an "AS IS" basis,
11
* WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
12
* for the specific language governing rights and limitations under the
13
* License.
14
*
15
* Major Contributor(s):
16
* Copyright (C) 2011 Fridrich Strba <fridrich.strba@bluewin.ch>
17
* Copyright (C) 2011 Eilidh McAdam <tibbylickle@gmail.com>
18
*
19
*
20
* All Rights Reserved.
21
*
22
* For minor contributions see the git repository.
23
*
24
* Alternatively, the contents of this file may be used under the terms of
25
* either the GNU General Public License Version 2 or later (the "GPLv2+"), or
26
* the GNU Lesser General Public License Version 2 or later (the "LGPLv2+"),
27
* in which case the provisions of the GPLv2+ or the LGPLv2+ are applicable
28
* instead of those above.
29
*/
30
31
#ifndef __VSDXSTENCILS_H__
32
#define __VSDXSTENCILS_H__
33
34
#include <map>
35
#include <vector>
36
#include "
VSDXStyles.h
"
37
#include "
VSDXGeometryList.h
"
38
#include "
VSDXFieldList.h
"
39
#include "
VSDXTypes.h
"
40
41
namespace
libvisio
42
{
43
44
class
VSDXStencilShape
45
{
46
public
:
47
VSDXStencilShape
();
48
VSDXStencilShape
(
const
VSDXStencilShape
&shape);
49
~VSDXStencilShape
();
50
VSDXStencilShape
&
operator=
(
const
VSDXStencilShape
&shape);
51
52
std::vector<VSDXGeometryList>
m_geometries
;
53
VSDXFieldList
m_fields
;
54
ForeignData
*
m_foreign
;
55
unsigned
m_lineStyleId
,
m_fillStyleId
,
m_textStyleId
;
56
VSDXLineStyle
*
m_lineStyle
;
57
VSDXFillStyle
*
m_fillStyle
;
58
VSDXTextBlockStyle
*
m_textBlockStyle
;
59
VSDXCharStyle
*
m_charStyle
;
60
VSDXParaStyle
*
m_paraStyle
;
61
WPXBinaryData
m_text
;
62
std::map< unsigned, VSDXName >
m_names
;
63
TextFormat
m_textFormat
;
64
std::map<unsigned, NURBSData>
m_nurbsData
;
65
std::map<unsigned, PolylineData>
m_polylineData
;
66
};
67
68
class
VSDXStencil
69
{
70
public
:
71
VSDXStencil
();
72
VSDXStencil
(
const
VSDXStencil
&stencil);
73
~VSDXStencil
();
74
VSDXStencil
&
operator=
(
const
VSDXStencil
&stencil);
75
void
addStencilShape
(
unsigned
id
,
const
VSDXStencilShape
&shape);
76
const
VSDXStencilShape
*
getStencilShape
(
unsigned
id
)
const
;
77
std::map<unsigned, VSDXStencilShape>
m_shapes
;
78
double
m_shadowOffsetX
;
79
double
m_shadowOffsetY
;
80
};
81
82
class
VSDXStencils
83
{
84
public
:
85
VSDXStencils
();
86
~VSDXStencils
();
87
void
addStencil
(
unsigned
idx,
const
VSDXStencil
&stencil);
88
const
VSDXStencil
*
getStencil
(
unsigned
idx)
const
;
89
unsigned
count
()
const
90
{
91
return
m_stencils
.size();
92
}
93
private
:
94
std::map<unsigned, VSDXStencil>
m_stencils
;
95
};
96
97
98
}
// namespace libvisio
99
100
#endif // __VSDXSTENCILS_H__
101
/* vim:set shiftwidth=2 softtabstop=2 expandtab: */
Generated for libvisio by
doxygen
1.8.1