File indexing completed on 2025-01-05 03:59:00
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 DIGIKAM_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