File indexing completed on 2025-10-12 03:56:55

0001 /*
0002  * SPDX-FileCopyrightText: 2001-2015 Klaralvdalens Datakonsult AB. All rights reserved.
0003  *
0004  * This file is part of the KD Chart library.
0005  *
0006  * SPDX-License-Identifier: GPL-2.0-or-later
0007  */
0008 
0009 #ifndef KCHARTTHREEDLINEATTRIBUTES_H
0010 #define KCHARTTHREEDLINEATTRIBUTES_H
0011 
0012 #include <QMetaType>
0013 #include "KChartAbstractThreeDAttributes.h"
0014 #include "KChartGlobal.h"
0015 
0016 namespace KChart {
0017 
0018   /**
0019     * @brief A set of 3D line attributes
0020     */
0021   class KCHART_EXPORT ThreeDLineAttributes : public AbstractThreeDAttributes
0022   {
0023   public:
0024     ThreeDLineAttributes();
0025     ThreeDLineAttributes( const ThreeDLineAttributes& );
0026     ThreeDLineAttributes &operator= ( const ThreeDLineAttributes& );
0027 
0028     ~ThreeDLineAttributes() override;
0029 
0030     /* threeD lines specific */
0031     void setLineXRotation( const uint degrees );
0032     uint lineXRotation() const;
0033     void setLineYRotation( const uint degrees );
0034     uint lineYRotation() const;
0035 
0036     bool operator==( const ThreeDLineAttributes& ) const;
0037     inline bool operator!=( const ThreeDLineAttributes& other ) const { return !operator==(other); }
0038 
0039     KCHART_DECLARE_SWAP_DERIVED(ThreeDLineAttributes)
0040 
0041     KCHART_DECLARE_PRIVATE_DERIVED(ThreeDLineAttributes)
0042 
0043   }; // End of class ThreeDLineAttributes
0044 
0045 }
0046 
0047 #if !defined(QT_NO_DEBUG_STREAM)
0048 KCHART_EXPORT QDebug operator<<(QDebug, const KChart::ThreeDLineAttributes& );
0049 #endif /* QT_NO_DEBUG_STREAM */
0050 
0051 KCHART_DECLARE_SWAP_SPECIALISATION_DERIVED( KChart::ThreeDLineAttributes )
0052 
0053 QT_BEGIN_NAMESPACE
0054 Q_DECLARE_TYPEINFO( KChart::ThreeDLineAttributes, Q_MOVABLE_TYPE );
0055 QT_END_NAMESPACE
0056 
0057 Q_DECLARE_METATYPE( KChart::ThreeDLineAttributes )
0058 
0059 #endif // KCHARTTHREEDLINEATTRIBUTES_H