index 514ecb2e3df13d6eb1940f16ae39def34cde88e2..0e5acf6c5cc84e05151f5f8de19915117a02f20a 100644 (file)
/** @file
- * Node selection - stores a set of nodes and applies transformations
+ * Control point selection - stores a set of control points and applies transformations
* to them
*/
/* Authors:
* Released under GNU GPL, read the file 'COPYING' for more information
*/
-#ifndef SEEN_UI_TOOL_NODE_SELECTION_H
-#define SEEN_UI_TOOL_NODE_SELECTION_H
+#ifndef SEEN_UI_TOOL_CONTROL_POINT_SELECTION_H
+#define SEEN_UI_TOOL_CONTROL_POINT_SELECTION_H
#include <memory>
#include <boost/optional.hpp>
#include <2geom/forward.h>
#include <2geom/point.h>
#include <2geom/rect.h>
-#include "display/display-forward.h"
#include "util/accumulators.h"
#include "util/unordered-containers.h"
#include "ui/tool/commit-events.h"
#include "ui/tool/manipulator.h"
+#include "snap-candidate.h"
class SPDesktop;
+struct SPCanvasGroup;
namespace Inkscape {
namespace UI {
sigc::signal<void> signal_update;
sigc::signal<void, SelectableControlPoint *, bool> signal_point_changed;
sigc::signal<void, CommitEvent> signal_commit;
+
+ std::vector<Inkscape::SnapCandidatePoint> getOriginalPoints();
+ void setOriginalPoints();
+
private:
// The functions below are invoked from SelectableControlPoint.
// Previously they were connected to handlers when selecting, but this
set_type _points;
set_type _all_points;
INK_UNORDERED_MAP<SelectableControlPoint *, Geom::Point> _original_positions;
+ INK_UNORDERED_MAP<SelectableControlPoint *, Geom::Matrix> _last_trans;
boost::optional<double> _rot_radius;
boost::optional<double> _mouseover_rot_radius;
Geom::OptRect _bounds;
fill-column:99
End:
*/
-// vim: filetype=cpp:expandtab:shiftwidth=4:tabstop=8:softtabstop=4:encoding=utf-8:textwidth=99 :
+// vim: filetype=cpp:expandtab:shiftwidth=4:tabstop=8:softtabstop=4:fileencoding=utf-8:textwidth=99 :