QGIS/external/qwt-6.3.0/qwt_scale_div.h
Juergen E. Fischer 33fc476d89 * replace external qwtpolar with qwt 6.3
* require qwt >=6.2 (and fallback to internal 6.3 if system's qwt doesn't suffice)
* debian doesn't have qwt for Qt6 and won't have it for trixie
2025-07-23 07:11:51 +10:00

108 lines
2.7 KiB
C++

/******************************************************************************
* Qwt Widget Library
* Copyright (C) 1997 Josef Wilgen
* Copyright (C) 2002 Uwe Rathmann
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the Qwt License, Version 1.0
*****************************************************************************/
#ifndef QWT_SCALE_DIV_H
#define QWT_SCALE_DIV_H
#include "qwt_global.h"
#include <qlist.h>
class QwtInterval;
/*!
\brief A class representing a scale division
A Qwt scale is defined by its boundaries and 3 list
for the positions of the major, medium and minor ticks.
The upperBound() might be smaller than the lowerBound()
to indicate inverted scales.
Scale divisions can be calculated from a QwtScaleEngine.
\sa QwtScaleEngine::divideScale(), QwtPlot::setAxisScaleDiv(),
QwtAbstractSlider::setScaleDiv()
*/
class QWT_EXPORT QwtScaleDiv
{
public:
//! Scale tick types
enum TickType
{
//! No ticks
NoTick = -1,
//! Minor ticks
MinorTick,
//! Medium ticks
MediumTick,
//! Major ticks
MajorTick,
//! Number of valid tick types
NTickTypes
};
explicit QwtScaleDiv( double lowerBound = 0.0,
double upperBound = 0.0 );
explicit QwtScaleDiv( const QwtInterval&, QList< double >[NTickTypes] );
explicit QwtScaleDiv( double lowerBound, double upperBound,
QList< double >[NTickTypes] );
explicit QwtScaleDiv( double lowerBound, double upperBound,
const QList< double >& minorTicks, const QList< double >& mediumTicks,
const QList< double >& majorTicks );
bool operator==( const QwtScaleDiv& ) const;
bool operator!=( const QwtScaleDiv& ) const;
void setInterval( double lowerBound, double upperBound );
void setInterval( const QwtInterval& );
QwtInterval interval() const;
void setLowerBound( double );
double lowerBound() const;
void setUpperBound( double );
double upperBound() const;
double range() const;
bool contains( double value ) const;
void setTicks( int tickType, const QList< double >& );
QList< double > ticks( int tickType ) const;
bool isEmpty() const;
bool isIncreasing() const;
void invert();
QwtScaleDiv inverted() const;
QwtScaleDiv bounded( double lowerBound, double upperBound ) const;
private:
double m_lowerBound;
double m_upperBound;
QList< double > m_ticks[NTickTypes];
};
Q_DECLARE_TYPEINFO( QwtScaleDiv, Q_MOVABLE_TYPE );
#ifndef QT_NO_DEBUG_STREAM
QWT_EXPORT QDebug operator<<( QDebug, const QwtScaleDiv& );
#endif
#endif