diff options
| author | Jon A. Cruz <jon@joncruz.org> | 2012-05-17 09:10:15 +0000 |
|---|---|---|
| committer | Jon A. Cruz <jon@joncruz.org> | 2012-05-17 09:10:15 +0000 |
| commit | b6ea2239ffc053e66238eb8484bbc5c1ba8700ac (patch) | |
| tree | aa69d18959e71ca3a5d268acdc24b85e24663e29 /src/ui/tool/control-point.cpp | |
| parent | Fix for 997888 : Merge into Document Properties (diff) | |
| download | inkscape-b6ea2239ffc053e66238eb8484bbc5c1ba8700ac.tar.gz inkscape-b6ea2239ffc053e66238eb8484bbc5c1ba8700ac.zip | |
Extended resizing to node handles.
(bzr r11375)
Diffstat (limited to 'src/ui/tool/control-point.cpp')
| -rw-r--r-- | src/ui/tool/control-point.cpp | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/src/ui/tool/control-point.cpp b/src/ui/tool/control-point.cpp index a10db03c7..9c559be03 100644 --- a/src/ui/tool/control-point.cpp +++ b/src/ui/tool/control-point.cpp @@ -19,6 +19,7 @@ #include "preferences.h" #include "snap-preferences.h" #include "sp-namedview.h" +#include "ui/control-manager.h" #include "ui/tool/control-point.h" #include "ui/tool/event-utils.h" #include "ui/tool/transform-handle-set.h" @@ -105,6 +106,25 @@ ControlPoint::ControlPoint(SPDesktop *d, Geom::Point const &initial_pos, SPAncho _commonInit(); } +ControlPoint::ControlPoint(SPDesktop *d, Geom::Point const &initial_pos, SPAnchorType anchor, + ControlType type, + ColorSet const &cset, SPCanvasGroup *group) : + _desktop(d), + _canvas_item(NULL), + _cset(cset), + _state(STATE_NORMAL), + _position(initial_pos), + _lurking(false) +{ + _canvas_item = ControlManager::getManager().createControl(group ? group : sp_desktop_controls(_desktop), type); + g_object_set(_canvas_item, + "anchor", anchor, + "filled", TRUE, "fill_color", _cset.normal.fill, + "stroked", TRUE, "stroke_color", _cset.normal.stroke, + "mode", SP_CTRL_MODE_XOR, NULL); + _commonInit(); +} + ControlPoint::~ControlPoint() { // avoid storing invalid points in mouseovered_point @@ -528,6 +548,13 @@ void ControlPoint::_setState(State state) _state = state; } +void ControlPoint::_handleControlStyling() +{ + if (_canvas_item->ctrlType != CTRL_TYPE_UNKNOWN) { + ControlManager::getManager().updateItem(_canvas_item); + } +} + void ControlPoint::_setColors(ColorEntry colors) { g_object_set(_canvas_item, "fill_color", colors.fill, "stroke_color", colors.stroke, NULL); |
