File indexing completed on 2024-05-12 03:50:17

0001 // SPDX-License-Identifier: LGPL-2.1-or-later
0002 // SPDX-FileCopyrightText: 2012 Mohammed Nafees <nafees.technocool@gmail.com>
0003 
0004 #ifndef GEODATASCREENOVERLAY_H
0005 #define GEODATASCREENOVERLAY_H
0006 
0007 #include "GeoDataOverlay.h"
0008 #include "GeoDataVec2.h"
0009 #include "MarbleGlobal.h"
0010 
0011 namespace Marble {
0012 
0013 class GeoDataScreenOverlayPrivate;
0014 
0015 /**
0016  */
0017 class GEODATA_EXPORT GeoDataScreenOverlay: public GeoDataOverlay
0018 {
0019 public:
0020     GeoDataScreenOverlay();
0021 
0022     GeoDataScreenOverlay( const GeoDataScreenOverlay &other );
0023 
0024     ~GeoDataScreenOverlay() override;
0025 
0026     GeoDataScreenOverlay& operator=( const GeoDataScreenOverlay &other );
0027     bool operator==( const GeoDataScreenOverlay &other ) const;
0028     bool operator!=( const GeoDataScreenOverlay &other ) const;
0029 
0030     GeoDataFeature * clone() const override;
0031 
0032     /** Provides type information for downcasting a GeoNode */
0033     const char* nodeType() const override;
0034 
0035     GeoDataVec2 overlayXY() const;
0036     void setOverlayXY( const GeoDataVec2 &vec2 );
0037     void setOverlayXY(qreal x, qreal y, GeoDataVec2::Unit xunit, GeoDataVec2::Unit yunit);
0038 
0039     GeoDataVec2 screenXY() const;
0040     void setScreenXY( const GeoDataVec2 &vec2 );
0041     void setScreenXY(qreal x, qreal y, GeoDataVec2::Unit xunit, GeoDataVec2::Unit yunit);
0042 
0043     GeoDataVec2 rotationXY() const;
0044     void setRotationXY( const GeoDataVec2 &vec2 );
0045     void setRotationXY(qreal x, qreal y, GeoDataVec2::Unit xunit, GeoDataVec2::Unit yunit);
0046 
0047     GeoDataVec2 size() const;
0048     void setSize( const GeoDataVec2 &vec2 );
0049     void setSize(qreal x, qreal y, GeoDataVec2::Unit xunit, GeoDataVec2::Unit yunit);
0050 
0051     qreal rotation() const;
0052     void setRotation( qreal rotation );
0053 
0054 private:
0055     Q_DECLARE_PRIVATE(GeoDataScreenOverlay)
0056 };
0057 
0058 }
0059 
0060 #endif