File indexing completed on 2024-05-12 15:59:05

0001 /*
0002  *  SPDX-FileCopyrightText: 2017 Wolthera van Hövell tot Westerflier <griffinvalley@gmail.com>
0003  *
0004  *  SPDX-License-Identifier: LGPL-2.0-or-later
0005  */
0006 #ifndef LIBKIS_GROUPSHAPE_H
0007 #define LIBKIS_GROUPSHAPE_H
0008 
0009 #include "kritalibkis_export.h"
0010 #include "libkis.h"
0011 #include "Shape.h"
0012 #include <kis_types.h>
0013 #include <KoShapeGroup.h>
0014 
0015 /**
0016  * @brief The GroupShape class
0017  * A group shape is a vector object with child shapes.
0018  */
0019 
0020 class KRITALIBKIS_EXPORT GroupShape : public Shape
0021 {
0022     Q_OBJECT
0023 
0024 public:
0025     explicit GroupShape(QObject *parent = 0);
0026     GroupShape(KoShapeGroup *shape, QObject *parent = 0);
0027     ~GroupShape();
0028 public Q_SLOTS:
0029 
0030     /**
0031      * @brief type returns the type.
0032      * @return "groupshape"
0033      */
0034     QString type() const override;
0035 
0036     /**
0037      * @brief children
0038      * @return the child shapes of this group shape.
0039      */
0040     QList<Shape*> children();
0041 };
0042 
0043 #endif // LIBKIS_GROUPSHAPE_H