File indexing completed on 2024-06-09 11:24:10

0001 /*
0002     SPDX-FileCopyrightText: 2016 Artem Fedoskin <afedoskin3@gmail.com>
0003     SPDX-License-Identifier: GPL-2.0-or-later
0004 */
0005 
0006 #pragma once
0007 
0008 #include "skynode.h"
0009 
0010 class QSGSimpleTextureNode;
0011 
0012 class ConstellationsArt;
0013 class RootNode;
0014 
0015 /**
0016  * @class ConstellationArtNode
0017  *
0018  * @short A SkyNode derived class that represents ConstellationsArt object.
0019  * @author Artem Fedoskin
0020  * @version 1.0
0021  */
0022 class ConstellationArtNode : public SkyNode
0023 {
0024   public:
0025     /**
0026      * @short Constructor
0027      * @param obj - a pointer to ConstellationsArt object that is represented by this node
0028      */
0029     explicit ConstellationArtNode(ConstellationsArt *obj);
0030 
0031     /**
0032      * @short changePos change the position of this node
0033      * @param pos - new position
0034      * @param positionangle - an angle of ConstellationsArt image rotation
0035      */
0036     void changePos(QPointF pos, double positionangle);
0037 
0038     virtual void update() override;
0039     virtual void hide() override;
0040 
0041   private:
0042     ConstellationsArt *m_art { nullptr };
0043     QSGSimpleTextureNode *m_texture { nullptr };
0044 };