/usr/include/qwt-qt4/qwt_abstract_scale_draw.h is in libqwt5-qt4-dev 5.2.3-1.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 | /* -*- mode: C++ ; c-file-style: "stroustrup" -*- *****************************
* 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_ABSTRACT_SCALE_DRAW_H
#define QWT_ABSTRACT_SCALE_DRAW_H
#include "qwt_global.h"
#include "qwt_scale_div.h"
#include "qwt_text.h"
#if QT_VERSION < 0x040000
class QColorGroup;
#else
class QPalette;
#endif
class QPainter;
class QFont;
class QwtScaleTransformation;
class QwtScaleMap;
/*!
\brief A abstract base class for drawing scales
QwtAbstractScaleDraw can be used to draw linear or logarithmic scales.
After a scale division has been specified as a QwtScaleDiv object
using QwtAbstractScaleDraw::setScaleDiv(const QwtScaleDiv &s),
the scale can be drawn with the QwtAbstractScaleDraw::draw() member.
*/
class QWT_EXPORT QwtAbstractScaleDraw
{
public:
/*!
Components of a scale
- Backbone
- Ticks
- Labels
\sa enableComponent(), hasComponent
*/
enum ScaleComponent
{
Backbone = 1,
Ticks = 2,
Labels = 4
};
QwtAbstractScaleDraw();
QwtAbstractScaleDraw( const QwtAbstractScaleDraw & );
virtual ~QwtAbstractScaleDraw();
QwtAbstractScaleDraw &operator=(const QwtAbstractScaleDraw &);
void setScaleDiv(const QwtScaleDiv &s);
const QwtScaleDiv& scaleDiv() const;
void setTransformation(QwtScaleTransformation *);
const QwtScaleMap &map() const;
void enableComponent(ScaleComponent, bool enable = true);
bool hasComponent(ScaleComponent) const;
void setTickLength(QwtScaleDiv::TickType, int length);
int tickLength(QwtScaleDiv::TickType) const;
int majTickLength() const;
void setSpacing(int margin);
int spacing() const;
#if QT_VERSION < 0x040000
virtual void draw(QPainter *, const QColorGroup &) const;
#else
virtual void draw(QPainter *, const QPalette &) const;
#endif
virtual QwtText label(double) const;
/*!
Calculate the extent
The extent is the distcance from the baseline to the outermost
pixel of the scale draw in opposite to its orientation.
It is at least minimumExtent() pixels.
\sa setMinimumExtent(), minimumExtent()
*/
virtual int extent(const QPen &, const QFont &) const = 0;
void setMinimumExtent(int);
int minimumExtent() const;
QwtScaleMap &scaleMap();
protected:
/*!
Draw a tick
\param painter Painter
\param value Value of the tick
\param len Lenght of the tick
\sa drawBackbone(), drawLabel()
*/
virtual void drawTick(QPainter *painter, double value, int len) const = 0;
/*!
Draws the baseline of the scale
\param painter Painter
\sa drawTick(), drawLabel()
*/
virtual void drawBackbone(QPainter *painter) const = 0;
/*!
Draws the label for a major scale tick
\param painter Painter
\param value Value
\sa drawTick, drawBackbone
*/
virtual void drawLabel(QPainter *painter, double value) const = 0;
void invalidateCache();
const QwtText &tickLabel(const QFont &, double value) const;
private:
int operator==(const QwtAbstractScaleDraw &) const;
int operator!=(const QwtAbstractScaleDraw &) const;
class PrivateData;
PrivateData *d_data;
};
#endif
|