qwt_scale_draw.h
/******************************************************************************
* 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_DRAW_H
#define QWT_SCALE_DRAW_H
#include "qwt_global.h"
#include "qwt_abstract_scale_draw.h"
#include <qpoint.h>
class QTransform;
class QSizeF;
class QRectF;
class QRect;
class QWT_EXPORT QwtScaleDraw : public QwtAbstractScaleDraw
{
public:
enum Alignment
{
BottomScale,
TopScale,
LeftScale,
RightScale
};
QwtScaleDraw();
virtual ~QwtScaleDraw();
void getBorderDistHint( const QFont&, int& start, int& end ) const;
int minLabelDist( const QFont& ) const;
int minLength( const QFont& ) const;
virtual double extent( const QFont& ) const QWT_OVERRIDE;
void move( double x, double y );
void move( const QPointF& );
void setLength( double length );
Alignment alignment() const;
void setAlignment( Alignment );
Qt::Orientation orientation() const;
QPointF pos() const;
double length() const;
void setLabelAlignment( Qt::Alignment );
Qt::Alignment labelAlignment() const;
void setLabelRotation( double rotation );
double labelRotation() const;
int maxLabelHeight( const QFont& ) const;
int maxLabelWidth( const QFont& ) const;
QPointF labelPosition( double value ) const;
QRectF labelRect( const QFont&, double value ) const;
QSizeF labelSize( const QFont&, double value ) const;
QRect boundingLabelRect( const QFont&, double value ) const;
protected:
QTransform labelTransformation( const QPointF&, const QSizeF& ) const;
virtual void drawTick( QPainter*,
double value, double len ) const QWT_OVERRIDE;
virtual void drawBackbone( QPainter* ) const QWT_OVERRIDE;
virtual void drawLabel( QPainter*, double value ) const QWT_OVERRIDE;
private:
void updateMap();
class PrivateData;
PrivateData* m_data;
};
inline void QwtScaleDraw::move( double x, double y )
{
move( QPointF( x, y ) );
}
#endif
QwtAbstractScaleDraw
A abstract base class for drawing scales.
Definition: qwt_abstract_scale_draw.h:32
QwtAbstractScaleDraw::drawBackbone
virtual void drawBackbone(QPainter *painter) const =0
QwtAbstractScaleDraw::drawTick
virtual void drawTick(QPainter *painter, double value, double len) const =0
QwtAbstractScaleDraw::extent
virtual double extent(const QFont &font) const =0
QwtAbstractScaleDraw::drawLabel
virtual void drawLabel(QPainter *painter, double value) const =0
QwtScaleDraw
A class for drawing scales.
Definition: qwt_scale_draw.h:36
QwtScaleDraw::move
void move(double x, double y)
Definition: qwt_scale_draw.h:118
QwtScaleDraw::Alignment
Alignment
Definition: qwt_scale_draw.h:43
QwtScaleDraw::BottomScale
@ BottomScale
The scale is below.
Definition: qwt_scale_draw.h:45
QwtScaleDraw::TopScale
@ TopScale
The scale is above.
Definition: qwt_scale_draw.h:48
QwtScaleDraw::LeftScale
@ LeftScale
The scale is left.
Definition: qwt_scale_draw.h:51