File indexing completed on 2024-05-12 15:56:48

0001 /* This file is part of the KDE project
0002    SPDX-FileCopyrightText: 2006-2007 Jan Hambrecht <jaham@gmx.net>
0003 
0004    SPDX-License-Identifier: LGPL-2.0-or-later
0005 */
0006 
0007 #ifndef __KOSHAPELAYER_H__
0008 #define __KOSHAPELAYER_H__
0009 
0010 #include "KoShapeContainer.h"
0011 #include "kritaflake_export.h"
0012 
0013 /**
0014  * Provides arranging shapes into layers.
0015  * This makes it possible to have a higher key of a number of objects
0016  * in a document.
0017  * A layer is always invisible and unselectable.
0018  */
0019 class KRITAFLAKE_EXPORT KoShapeLayer : public KoShapeContainer
0020 {
0021 public:
0022     /// The default constructor
0023     KoShapeLayer();
0024     /**
0025      * Constructor with custom model
0026      * @param model the custom modem
0027      */
0028     explicit KoShapeLayer(KoShapeContainerModel *model);
0029 
0030     /**
0031      * Empty implementation, as the layer itself is not visible
0032      */
0033     void paintComponent(QPainter &painter) const override;
0034     bool hitTest(const QPointF &position) const override;
0035     QRectF boundingRect() const override;
0036 };
0037 
0038 #endif // __KOSHAPELAYER_H__
0039