Krita Source Code Documentation
Loading...
Searching...
No Matches
kis_shape_controller.h
Go to the documentation of this file.
1/*
2 * SPDX-FileCopyrightText: 2007 Boudewijn Rempt <boud@valdyas.org>
3 *
4 * SPDX-License-Identifier: GPL-2.0-or-later
5 */
6#ifndef KIS_SHAPE_CONTROLLER
7#define KIS_SHAPE_CONTROLLER
8
9#include <QMap>
10
13
14
15class KisNodeDummy;
16class KoShapeLayer;
17
18class KisCanvas2;
19class KisDocument;
20class KisNameServer;
21class KUndo2Stack;
22
29{
30
31 Q_OBJECT
32
33public:
34
35 KisShapeController(KisNameServer *nameServer, KUndo2Stack *undoStack, QObject *parent = 0);
36 ~KisShapeController() override;
37
38 bool hasDummyForNode(KisNodeSP node) const override;
39 KisNodeDummy* dummyForNode(KisNodeSP layer) const override;
40
47 KisNodeDummy* rootDummy() const override;
48 int dummiesCount() const override;
49
50 KoShapeLayer* shapeForNode(KisNodeSP layer) const;
51 void setInitialShapeForCanvas(KisCanvas2 *canvas);
52
54 void setImage(KisImageWSP image, KisNodeSP activeNode) override;
55
56
57private:
58 void addNodeImpl(KisNodeSP node, KisNodeSP parent, KisNodeSP aboveThis) override;
59 void removeNodeImpl(KisNodeSP node) override;
60
61private Q_SLOTS:
62 void slotUpdateDocumentResolution();
63 void slotUpdateDocumentSize();
64
65Q_SIGNALS:
77
78public:
79 KoShapeContainer *createParentForShapes(const QList<KoShape *> shapes, bool forceNewLayer, KUndo2Command *parentCommand) override;
80
81 QRectF documentRectInPixels() const override;
82 qreal pixelsPerInch() const override;
83
84private:
85 struct Private;
86 Private * const m_d;
87};
88
89#endif
virtual void removeNodeImpl(KisNodeSP node)=0
virtual KisNodeDummy * dummyForNode(KisNodeSP node) const =0
void setImage(KisImageWSP image)
virtual int dummiesCount() const =0
virtual bool hasDummyForNode(KisNodeSP node) const =0
virtual void addNodeImpl(KisNodeSP node, KisNodeSP parent, KisNodeSP aboveThis)=0
virtual KisNodeDummy * rootDummy() const =0
void currentLayerChanged(const KoShapeLayer *)
void selectionContentChanged()
virtual qreal pixelsPerInch() const =0
virtual KoShapeContainer * createParentForShapes(const QList< KoShape * > shapes, bool forceNewLayer, KUndo2Command *parentCommand)
virtual QRectF documentRectInPixels() const =0