qskinny/src/nodes/QskGraduationNode.h

48 lines
1.0 KiB
C
Raw Normal View History

2023-11-28 13:36:47 +01:00
/******************************************************************************
* QSkinny - Copyright (C) 2016 Uwe Rathmann
* SPDX-License-Identifier: BSD-3-Clause
*****************************************************************************/
2023-11-28 14:35:28 +01:00
#ifndef QSK_GRADUATION_NODE_H
#define QSK_GRADUATION_NODE_H
2023-11-28 13:36:47 +01:00
#include "QskGlobal.h"
#include "QskBasicLinesNode.h"
#include <qnamespace.h>
class QRectF;
class QskIntervalF;
class QskTickmarks;
2023-11-28 14:35:28 +01:00
class QskGraduationMetrics;
2023-11-28 13:36:47 +01:00
2023-11-28 14:35:28 +01:00
class QSK_EXPORT QskGraduationNode : public QskBasicLinesNode
2023-11-28 13:36:47 +01:00
{
using Inherited = QskBasicLinesNode;
public:
enum Alignment
{
Leading,
Centered,
Trailing
};
2023-11-28 14:35:28 +01:00
QskGraduationNode();
~QskGraduationNode() override;
2023-11-28 13:36:47 +01:00
2023-11-28 14:35:28 +01:00
#if 1
// finding better names
2023-11-28 13:36:47 +01:00
void setAxis( Qt::Orientation, qreal pos, const QTransform& );
void setTickMetrics( Alignment, const QskGraduationMetrics& );
2023-11-28 14:35:28 +01:00
#endif
2023-11-28 13:36:47 +01:00
void update( const QskTickmarks&, const QskIntervalF& );
private:
class PrivateData;
std::unique_ptr< PrivateData > m_data;
};
#endif