1
//---------------------------------------------------------------------------------------
2
// This file is part of the Lomse library.
3
// Copyright (c) 2010 Lomse project
5
// Lomse is free software; you can redistribute it and/or modify it under the
6
// terms of the GNU General Public License as published by the Free Software Foundation,
7
// either version 3 of the License, or (at your option) any later version.
9
// Lomse is distributed in the hope that it will be useful, but WITHOUT ANY
10
// WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
11
// PARTICULAR PURPOSE. See the GNU General Public License for more details.
13
// You should have received a copy of the GNU General Public License along
14
// with Lomse; if not, see <http://www.gnu.org/licenses/>.
16
// For any comment, suggestion or feature request, please contact the manager of
17
// the project at cecilios@users.sourceforge.net
19
//---------------------------------------------------------------------------------------
21
#ifndef __LOMSE_PATH_ATTRIBUTES_H__ //to avoid nested includes
22
#define __LOMSE_PATH_ATTRIBUTES_H__
24
#include "lomse_agg_types.h"
31
// PathAttributes: struct to contain attributes for a path
32
//---------------------------------------------------------------------------------------
41
line_join_e line_join;
45
TransAffine transform;
50
, fill_color(rgba(0,0,0))
51
, stroke_color(rgba(0,0,0))
54
, even_odd_flag(false)
55
, line_join(miter_join)
64
PathAttributes(const PathAttributes& attr)
66
, fill_color(attr.fill_color)
67
, stroke_color(attr.stroke_color)
68
, fill_flag(attr.fill_flag)
69
, stroke_flag(attr.stroke_flag)
70
, even_odd_flag(attr.even_odd_flag)
71
, line_join(attr.line_join)
72
, line_cap(attr.line_cap)
73
, miter_limit(attr.miter_limit)
74
, stroke_width(attr.stroke_width)
75
, transform(attr.transform)
79
// Copy constructor with new index value
80
PathAttributes(const PathAttributes& attr, unsigned idx)
82
, fill_color(attr.fill_color)
83
, stroke_color(attr.stroke_color)
84
, fill_flag(attr.fill_flag)
85
, stroke_flag(attr.stroke_flag)
86
, even_odd_flag(attr.even_odd_flag)
87
, line_join(attr.line_join)
88
, line_cap(attr.line_cap)
89
, miter_limit(attr.miter_limit)
90
, stroke_width(attr.stroke_width)
91
, transform(attr.transform)
97
typedef pod_bvector<PathAttributes> AttrStorage;
103
#endif // __LOMSE_PATH_ATTRIBUTES_H__