|
Krita Source Code Documentation
|
#include <kis_shape_controller.h>
Inheritance diagram for KisShapeController:Classes | |
| struct | Private |
Signals | |
| void | currentLayerChanged (const KoShapeLayer *) |
| void | selectionChanged () |
| void | selectionContentChanged () |
Signals inherited from KisDummiesFacadeBase | |
| void | sigActivateNode (KisNodeSP node) |
| void | sigBeginInsertDummy (KisNodeDummy *parent, int index, const QString &metaObjectType) |
| void | sigBeginRemoveDummy (KisNodeDummy *dummy) |
| void | sigDummyChanged (KisNodeDummy *dummy) |
| void | sigEndInsertDummy (KisNodeDummy *dummy) |
| void | sigEndRemoveDummy () |
Private Slots | |
| void | slotUpdateDocumentResolution () |
| void | slotUpdateDocumentSize () |
Private Member Functions | |
| void | addNodeImpl (KisNodeSP node, KisNodeSP parent, KisNodeSP aboveThis) override |
| void | removeNodeImpl (KisNodeSP node) override |
Private Attributes | |
| Private *const | m_d |
Additional Inherited Members | |
Protected Member Functions inherited from KisDummiesFacadeBase | |
| KisImageWSP | image () const |
KisShapeController keeps track of new layers, shapes, masks and selections – everything that needs to be wrapped as a shape for the tools to work on.
Definition at line 28 of file kis_shape_controller.h.
| KisShapeController::KisShapeController | ( | KisNameServer * | nameServer, |
| KUndo2Stack * | undoStack, | ||
| QObject * | parent = 0 ) |
Definition at line 60 of file kis_shape_controller.cpp.
References m_d, KisShapeController::Private::nameServer, KoShapeControllerBase::resourceManager(), and KoDocumentResourceManager::setUndoStack().
|
override |
Definition at line 69 of file kis_shape_controller.cpp.
References m_d, KisNodeDummy::node(), KisNodeShapesGraph::removeNode(), KisNodeShapesGraph::rootDummy(), and KisShapeController::Private::shapesGraph.
|
overrideprivatevirtual |
Forward signals for global shape manager
Implements KisDummiesFacadeBase.
Definition at line 98 of file kis_shape_controller.cpp.
References KisNodeShapesGraph::addNode(), connect(), currentLayerChanged(), KisSharedPtr< T >::data(), m_d, selectionChanged(), selectionContentChanged(), KisShapeLayer::shapeManager(), and KisShapeController::Private::shapesGraph.
|
overridevirtual |
When shapes are dropped to the canvas, the document should decide, where to which parent to put them. In some cases the document should even create a special layer for the new shapes.
shapes | parentCommand | the command, which should be executed before the proposed parent will be added to the document (if new layer should be created) |
Reimplemented from KoShapeControllerBase.
Definition at line 153 of file kis_shape_controller.cpp.
References KoToolManager::activeCanvasController(), KoSelection::activeLayer(), KisCommandUtils::CompositeCommand::addCommand(), belongsToShapeSelection(), KoCanvasController::canvas(), KisSelection::convertToVectorSelection(), KisDummiesFacadeBase::image(), KoToolManager::instance(), KIS_SAFE_ASSERT_RECOVER_BREAK, KIS_SAFE_ASSERT_RECOVER_RETURN_VALUE, m_d, KisShapeController::Private::nameServer, KisNameServer::number(), OPACITY_OPAQUE_U8, KoShape::parent(), KisCanvas2::selectedShapesProxy, KisViewManager::selection(), KisSelectedShapesProxy::selection(), KisSelection::shapeSelection, and KisCanvas2::viewManager().
|
signal |
|
overridevirtual |
The size of the document measured in rasterized pixels. This information is needed for loading SVG documents that use 'px' as the default unit.
Implements KoShapeControllerBase.
Definition at line 212 of file kis_shape_controller.cpp.
References KisImage::bounds(), and KisDummiesFacadeBase::image().
|
overridevirtual |
Implements KisDummiesFacadeBase.
Definition at line 145 of file kis_shape_controller.cpp.
References m_d, KisNodeShapesGraph::shapesCount(), and KisShapeController::Private::shapesGraph.
|
overridevirtual |
Implements KisDummiesFacadeBase.
Definition at line 135 of file kis_shape_controller.cpp.
References m_d, KisNodeShapesGraph::nodeToDummy(), and KisShapeController::Private::shapesGraph.
|
overridevirtual |
Implements KisDummiesFacadeBase.
Definition at line 130 of file kis_shape_controller.cpp.
References KisNodeShapesGraph::containsNode(), m_d, and KisShapeController::Private::shapesGraph.
|
overridevirtual |
Resolution of the rasterized representation of the document. Used to load SVG documents correctly.
Implements KoShapeControllerBase.
Definition at line 218 of file kis_shape_controller.cpp.
References KisDummiesFacadeBase::image(), and KisImage::xRes().
Implements KisDummiesFacadeBase.
Definition at line 120 of file kis_shape_controller.cpp.
References KisSharedPtr< T >::data(), m_d, KisNodeShapesGraph::removeNode(), and KisShapeController::Private::shapesGraph.
|
overridevirtual |
Return the root dummy of the graph. Since the call to KisDummiesFacadeBase::setImage() causes and asynchronous update of the dummies graph, it may cause rootDummy() to be null at some moments, which is a valid state.
Implements KisDummiesFacadeBase.
Definition at line 140 of file kis_shape_controller.cpp.
References m_d, KisNodeShapesGraph::rootDummy(), and KisShapeController::Private::shapesGraph.
|
signal |
These three signals are forwarded from the local shape manager of KisShapeLayer. This is done because we switch KoShapeManager and therefore KoSelection in KisCanvas2, so we need to connect local managers to the UI as well.
|
signal |
| void KisDummiesFacadeBase::setImage | ( | KisImageWSP | image | ) |
Definition at line 34 of file kis_dummies_facade_base.cpp.
|
virtual |
Reimplemented from KisDummiesFacadeBase.
Definition at line 35 of file kis_dummies_facade_base.cpp.
|
overridevirtual |
Reimplemented from KisDummiesFacadeBase.
Definition at line 241 of file kis_shape_controller.cpp.
References KisSignalAutoConnectionsStore::addConnection(), KisSignalAutoConnectionsStore::clear(), KisDummiesFacadeBase::image(), KisShapeController::Private::imageConnections, m_d, KisDummiesFacadeBase::setImage(), slotUpdateDocumentResolution(), and slotUpdateDocumentSize().
| void KisShapeController::setInitialShapeForCanvas | ( | KisCanvas2 * | canvas | ) |
Definition at line 224 of file kis_shape_controller.cpp.
References KisNodeShapesGraph::containsNode(), KisDummiesFacadeBase::image(), KoToolManager::instance(), m_d, KisNodeShapesGraph::nodeToShape(), KisNodeFacade::root, KoSelection::select(), KoSelection::selectedShapes(), KoShapeManager::selection, KisCanvas2::shapeManager, KisShapeController::Private::shapesGraph, and KoToolManager::switchToolRequested().
| KoShapeLayer * KisShapeController::shapeForNode | ( | KisNodeSP | layer | ) | const |
Definition at line 256 of file kis_shape_controller.cpp.
References m_d, KisNodeShapesGraph::nodeToShape(), and KisShapeController::Private::shapesGraph.
|
privateslot |
Definition at line 79 of file kis_shape_controller.cpp.
References KoDocumentResourceManager::DocumentResolution, KisDummiesFacadeBase::image(), pixelsPerInch(), KoShapeControllerBase::resourceManager(), KoDocumentResourceManager::setResource(), and KisImage::xRes().
|
privateslot |
Definition at line 89 of file kis_shape_controller.cpp.
References KisImage::bounds(), KoDocumentResourceManager::DocumentRectInPixels, KisDummiesFacadeBase::image(), KoShapeControllerBase::resourceManager(), and KoDocumentResourceManager::setResource().
|
private |
Definition at line 86 of file kis_shape_controller.h.