Main Page
Namespaces
Classes
Files
File List
File Members
VSDStencils.h
Go to the documentation of this file.
1
/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
2
/*
3
* This file is part of the libvisio project.
4
*
5
* This Source Code Form is subject to the terms of the Mozilla Public
6
* License, v. 2.0. If a copy of the MPL was not distributed with this
7
* file, You can obtain one at http://mozilla.org/MPL/2.0/.
8
*/
9
10
#ifndef __VSDSTENCILS_H__
11
#define __VSDSTENCILS_H__
12
13
#include <map>
14
#include <vector>
15
#include "
VSDStyles.h
"
16
#include "
VSDGeometryList.h
"
17
#include "
VSDFieldList.h
"
18
#include "
VSDTypes.h
"
19
#include "
VSDParagraphList.h
"
20
#include "
VSDCharacterList.h
"
21
#include "
VSDShapeList.h
"
22
23
namespace
libvisio
24
{
25
26
class
VSDShape
27
{
28
public
:
29
VSDShape
();
30
VSDShape
(
const
VSDShape
&shape);
31
~VSDShape
();
32
VSDShape
&
operator=
(
const
VSDShape
&shape);
33
void
clear
();
34
35
std::map<unsigned, VSDGeometryList>
m_geometries
;
36
VSDShapeList
m_shapeList
;
37
VSDFieldList
m_fields
;
38
ForeignData
*
m_foreign
;
39
unsigned
m_parent
,
m_masterPage
,
m_masterShape
,
m_shapeId
;
40
unsigned
m_lineStyleId
,
m_fillStyleId
,
m_textStyleId
;
41
VSDOptionalLineStyle
m_lineStyle
;
42
VSDOptionalFillStyle
m_fillStyle
;
43
VSDOptionalTextBlockStyle
m_textBlockStyle
;
44
VSDOptionalCharStyle
m_charStyle
;
45
VSDOptionalThemeReference
m_themeRef
;
46
VSDCharacterList
m_charList
;
47
VSDOptionalParaStyle
m_paraStyle
;
48
VSDParagraphList
m_paraList
;
49
librevenge::RVNGBinaryData
m_text
;
50
std::map< unsigned, VSDName >
m_names
;
51
TextFormat
m_textFormat
;
52
std::map<unsigned, NURBSData>
m_nurbsData
;
53
std::map<unsigned, PolylineData>
m_polylineData
;
54
XForm
m_xform
;
55
XForm
*
m_txtxform
;
56
VSDMisc
m_misc
;
57
};
58
59
class
VSDStencil
60
{
61
public
:
62
VSDStencil
();
63
VSDStencil
(
const
VSDStencil
&stencil);
64
~VSDStencil
();
65
VSDStencil
&
operator=
(
const
VSDStencil
&stencil);
66
void
addStencilShape
(
unsigned
id
,
const
VSDShape
&shape);
67
void
setFirstShape
(
unsigned
id
);
68
const
VSDShape
*
getStencilShape
(
unsigned
id
)
const
;
69
std::map<unsigned, VSDShape>
m_shapes
;
70
double
m_shadowOffsetX
;
71
double
m_shadowOffsetY
;
72
unsigned
m_firstShapeId
;
73
};
74
75
class
VSDStencils
76
{
77
public
:
78
VSDStencils
();
79
~VSDStencils
();
80
void
addStencil
(
unsigned
idx,
const
VSDStencil
&stencil);
81
const
VSDStencil
*
getStencil
(
unsigned
idx)
const
;
82
const
VSDShape
*
getStencilShape
(
unsigned
pageId,
unsigned
shapeId)
const
;
83
unsigned
count
()
const
84
{
85
return
m_stencils
.size();
86
}
87
private
:
88
std::map<unsigned, VSDStencil>
m_stencils
;
89
};
90
91
92
}
// namespace libvisio
93
94
#endif // __VSDSTENCILS_H__
95
/* vim:set shiftwidth=2 softtabstop=2 expandtab: */
Generated for libvisio by
doxygen
1.8.4