1 /* 2 * Copyright (C) 2001-2015 Klaralvdalens Datakonsult AB. All rights reserved. 3 * 4 * This file is part of the KD Chart library. 5 * 6 * This program is free software; you can redistribute it and/or 7 * modify it under the terms of the GNU General Public License as 8 * published by the Free Software Foundation; either version 2 of 9 * the License, or (at your option) any later version. 10 * 11 * This program is distributed in the hope that it will be useful, 12 * but WITHOUT ANY WARRANTY; without even the implied warranty of 13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 14 * GNU General Public License for more details. 15 * 16 * You should have received a copy of the GNU General Public License 17 * along with this program. If not, see <https://www.gnu.org/licenses/>. 18 */ 19 20 #ifndef KCHARTTHREEDLINEATTRIBUTES_H 21 #define KCHARTTHREEDLINEATTRIBUTES_H 22 23 #include <QMetaType> 24 #include "KChartAbstractThreeDAttributes.h" 25 #include "KChartGlobal.h" 26 27 namespace KChart { 28 29 /** 30 * @brief A set of 3D line attributes 31 */ 32 class KCHART_EXPORT ThreeDLineAttributes : public AbstractThreeDAttributes 33 { 34 public: 35 ThreeDLineAttributes(); 36 ThreeDLineAttributes( const ThreeDLineAttributes& ); 37 ThreeDLineAttributes &operator= ( const ThreeDLineAttributes& ); 38 39 ~ThreeDLineAttributes(); 40 41 /* threeD lines specific */ 42 void setLineXRotation( const uint degrees ); 43 uint lineXRotation() const; 44 void setLineYRotation( const uint degrees ); 45 uint lineYRotation() const; 46 47 bool operator==( const ThreeDLineAttributes& ) const; 48 inline bool operator!=( const ThreeDLineAttributes& other ) const { return !operator==(other); } 49 50 KCHART_DECLARE_SWAP_DERIVED(ThreeDLineAttributes) 51 52 KCHART_DECLARE_PRIVATE_DERIVED(ThreeDLineAttributes) 53 54 }; // End of class ThreeDLineAttributes 55 56 } 57 58 #if !defined(QT_NO_DEBUG_STREAM) 59 KCHART_EXPORT QDebug operator<<(QDebug, const KChart::ThreeDLineAttributes& ); 60 #endif /* QT_NO_DEBUG_STREAM */ 61 62 KCHART_DECLARE_SWAP_SPECIALISATION_DERIVED( KChart::ThreeDLineAttributes ) 63 64 QT_BEGIN_NAMESPACE 65 Q_DECLARE_TYPEINFO( KChart::ThreeDLineAttributes, Q_MOVABLE_TYPE ); 66 QT_END_NAMESPACE 67 68 Q_DECLARE_METATYPE( KChart::ThreeDLineAttributes ) 69 70 #endif // KCHARTTHREEDLINEATTRIBUTES_H 71