shape-record.h revision c635a682d950f1421ca59bdb63e2bf83db697ad3
1N/A/** @file
1N/A * Structures that store data needed for shape editing which are not contained
1N/A * directly in the XML node
1N/A */
1N/A/* Authors:
1N/A * Krzysztof KosiƄski <tweenk.pl@gmail.com>
1N/A *
1N/A * Copyright (C) 2009 Authors
1N/A * Released under GNU GPL, read the file 'COPYING' for more information
1N/A */
1N/A
1N/A#ifndef SEEN_UI_TOOL_SHAPE_RECORD_H
1N/A#define SEEN_UI_TOOL_SHAPE_RECORD_H
1N/A
1N/A#include <boost/operators.hpp>
1N/A#include <2geom/matrix.h>
1N/A
1N/Aclass SPItem;
1N/Anamespace Inkscape {
1N/Anamespace UI {
1N/A
1N/A/** Role of the shape in the drawing - affects outline display and color */
1N/Aenum ShapeRole {
1N/A SHAPE_ROLE_NORMAL,
1N/A SHAPE_ROLE_CLIPPING_PATH,
1N/A SHAPE_ROLE_MASK,
1N/A SHAPE_ROLE_LPE_PARAM // implies edit_original set to true in ShapeRecord
1N/A};
1N/A
1N/Astruct ShapeRecord :
1N/A public boost::totally_ordered<ShapeRecord>
1N/A{
1N/A SPItem *item; // SP node for the edited shape
1N/A Geom::Matrix edit_transform; // how to transform controls - used for clipping paths and masks
1N/A ShapeRole role;
1N/A bool edit_original; // whether to use original-d instead of d for editing
1N/A
1N/A inline bool operator==(ShapeRecord const &o) const { return item == o.item; }
1N/A inline bool operator<(ShapeRecord const &o) const { return item < o.item; }
1N/A};
1N/A
1N/A} // namespace UI
1N/A} // namespace Inkscape
1N/A
1N/A#endif
1N/A
1N/A/*
1N/A Local Variables:
1N/A mode:c++
1N/A c-file-style:"stroustrup"
1N/A c-file-offsets:((innamespace . 0)(inline-open . 0)(case-label . +))
1N/A indent-tabs-mode:nil
1N/A fill-column:99
1N/A End:
1N/A*/
1N/A// vim: filetype=cpp:expandtab:shiftwidth=4:tabstop=8:softtabstop=4:encoding=utf-8:textwidth=99 :
1N/A