diff options
Diffstat (limited to 'src/ui/control-manager.cpp')
| -rw-r--r-- | src/ui/control-manager.cpp | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/src/ui/control-manager.cpp b/src/ui/control-manager.cpp index 124e591a8..6bd2d6fd8 100644 --- a/src/ui/control-manager.cpp +++ b/src/ui/control-manager.cpp @@ -20,6 +20,7 @@ #include "display/sodipodi-ctrl.h" // for SP_TYPE_CTRL #include "display/sp-canvas-item.h" #include "display/sp-ctrlline.h" +#include "display/sp-ctrlcurve.h" #include "display/sp-ctrlpoint.h" #include "preferences.h" @@ -423,6 +424,19 @@ SPCtrlLine *ControlManager::createControlLine(SPCanvasGroup *parent, Geom::Point return line; } +SPCtrlCurve *ControlManager::createControlCurve(SPCanvasGroup *parent, Geom::Point const &p0, Geom::Point const &p1, Geom::Point const &p2, Geom::Point const &p3, CtrlLineType type) +{ + SPCtrlCurve *line = SP_CTRLCURVE(sp_canvas_item_new(parent, SP_TYPE_CTRLCURVE, NULL)); + if (line) { + line->ctrlType = CTRL_TYPE_LINE; + + line->setRgba32((type == CTLINE_PRIMARY) ? LINE_COLOR_PRIMARY : + (type == CTLINE_SECONDARY) ? LINE_COLOR_SECONDARY : LINE_COLOR_TERTIARY); + line->setCoords(p0, p1, p2, p3); + } + return line; +} + void ControlManager::track(SPCanvasItem *item) { _impl->track(item); |
