qskinny/src/nodes/QskGraduationNode.h

48 lines
1.0 KiB
C
Raw Normal View History

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