Inkscape
Vector Graphics Editor
Loading...
Searching...
No Matches
shape-record.h
Go to the documentation of this file.
1// SPDX-License-Identifier: GPL-2.0-or-later
6/* Authors:
7 * Krzysztof KosiƄski <tweenk.pl@gmail.com>
8 *
9 * Copyright (C) 2009 Authors
10 * Released under GNU GPL v2+, read the file 'COPYING' for more information.
11 */
12
13#ifndef INKSCAPE_UI_TOOL_SHAPE_RECORD_H
14#define INKSCAPE_UI_TOOL_SHAPE_RECORD_H
15
16#include <glibmm/ustring.h>
17#include <boost/operators.hpp>
18#include <2geom/affine.h>
19
20class SPItem;
21class SPObject;
22namespace Inkscape {
23namespace UI {
24
30 SHAPE_ROLE_LPE_PARAM // implies edit_original set to true in ShapeRecord
31};
32
33struct ShapeRecord : public boost::totally_ordered<ShapeRecord>
34{
35 SPObject *object; // SP node for the edited shape could be a lpeoject invisible so we use a spobject
37 Glib::ustring lpe_key; // name of LPE shape param being edited
38
39 Geom::Affine edit_transform; // how to transform controls - used for clipping paths, masks, and markers
40 double edit_rotation; // how to transform controls - used for markers
41
42 inline bool operator==(ShapeRecord const &o) const {
43 return object == o.object && lpe_key == o.lpe_key;
44 }
45 inline bool operator<(ShapeRecord const &o) const {
46 return object == o.object ? (lpe_key < o.lpe_key) : (object < o.object);
47 }
48};
49
50} // namespace UI
51} // namespace Inkscape
52
53#endif // INKSCAPE_UI_TOOL_SHAPE_RECORD_H
54
55/*
56 Local Variables:
57 mode:c++
58 c-file-style:"stroustrup"
59 c-file-offsets:((innamespace . 0)(inline-open . 0)(case-label . +))
60 indent-tabs-mode:nil
61 fill-column:99
62 End:
63*/
64// vim: filetype=cpp:expandtab:shiftwidth=4:tabstop=8:softtabstop=4:fileencoding=utf-8:textwidth=99 :
3x3 affine transformation matrix.
3x3 matrix representing an affine transformation.
Definition affine.h:70
Base class for visual SVG elements.
Definition sp-item.h:109
SPObject is an abstract base class of all of the document nodes at the SVG document level.
Definition sp-object.h:160
ShapeRole
Role of the shape in the drawing - affects outline display and color.
@ SHAPE_ROLE_CLIPPING_PATH
Helper class to stream background task notifications as a series of messages.
bool operator<(ShapeRecord const &o) const
bool operator==(ShapeRecord const &o) const