⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 qwt_scldraw.h

📁 软件无线电的平台
💻 H
字号:
/* -*- 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_SCLDRAW_H#define QWT_SCLDRAW_H#include <qstring.h>#include <qfont.h>#include <qrect.h>#include <qcolor.h>#include "qwt_global.h"#include "qwt_dimap.h"#include "qwt_scldiv.h"class QPainter;/*!  \brief A class for drawing scales  QwtScaleDraw can be used to draw linear or logarithmic scales.  A scale has an origin,  an orientation and a length, which all can be specified with  QwtScaleDraw::setGeometry(). The labels can be rotated and aligned  to the ticks using QwtScaleDraw::setLabelRotation(),   QwtScaleDraw::setLabelAlignment().  After a scale division has been specified as a QwtScaleDiv object  using QwtScaleDraw::setScale(const QwtScaleDiv &s),  or determined internally using QwtScaleDraw::setScale(double vmin, double vmax, int maxMajIntv, int maxMinIntv, double step = 0.0, int logarithmic = 0),  the scale can be drawn with the QwtScaleDraw::draw() member.*/class QWT_EXPORT QwtScaleDraw: public QwtDiMap{public:    /*!         Orientation/Position of the scale draw        \sa QwtScaleDraw::setGeometry     */    enum Orientation { Bottom, Top, Left, Right, Round };    enum Option { None = 0, Backbone = 1 };     QwtScaleDraw();    virtual ~QwtScaleDraw();        void setScale(const QwtScaleDiv &s);    void setScale(double vmin, double vmax, int maxMajIntv, int maxMinIntv,                  double step = 0.0, int logarithmic = 0);    void setOptions(int opt);    int options() const;    void setGeometry(int xorigin, int yorigin, int length, Orientation o);    int x() const;    int y() const;    int length() const;    Orientation orientation() const;    void setAngleRange(double angle1, double angle2);    void setLabelFormat(char f, int prec, int fieldwidth = 0);    void setLabelAlignment(int align);    void setLabelRotation(double rotation);    void setTickLength(unsigned int minLen,         unsigned int medLen, unsigned int majLen);    void setMargin(uint hMargin, uint vMargin);    /*! \return scale division */    const QwtScaleDiv& scaleDiv() const { return d_scldiv; }    int maxWidth(const QPen &pen, const QFontMetrics &fm) const;    int maxHeight(const QPen &pen, const QFontMetrics &fm) const;    void minBorderDist(const QFontMetrics &fm, int &start, int &end) const;    int minLabelDist(const QFontMetrics &fm) const;    int minHeight(const QPen &pen, const QFontMetrics &fm) const;     int minWidth(const QPen &pen, const QFontMetrics &fm) const;     void labelFormat(char &f, int &prec, int &fieldwidth) const;    int labelAlignment() const;    double labelRotation() const;    void tickLength(unsigned int &minLen,         unsigned int &medLen, unsigned int &majLen) const;    unsigned int majTickLength() const;            virtual void draw(QPainter *p) const;    virtual QString label(double) const;protected:    virtual void labelPlacement( const QFontMetrics &, double val,        QPoint &pos, int &alignment, double &rotation) const;    virtual int maxLabelHeight(const QFontMetrics &) const;    virtual int maxLabelWidth(const QFontMetrics &) const;    QRect labelBoundingRect(        const QFontMetrics &, double val) const;    void drawTick(QPainter *p, double val, int len) const;    void drawBackbone(QPainter *p) const;    void drawLabel(QPainter *p, double val) const;    QWMatrix labelWorldMatrix(const QFontMetrics &,        const QPoint &, int alignment, double rotation,         const QString &) const;        private:    int d_options;    QwtScaleDiv d_scldiv;    Orientation d_orient;            int d_xorg;    int d_yorg;    int d_len;            unsigned int d_hpad;    unsigned int d_vpad;            unsigned int d_medLen;    unsigned int d_majLen;    unsigned int d_minLen;    int d_minAngle;    int d_maxAngle;    double d_xCenter;    double d_yCenter;    double d_radius;    char d_fmt;    int d_prec;    int d_fieldwidth;    int d_labelAlignment;    double d_labelRotation;};#endif

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -