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

📄 qwt_double_rect.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_DOUBLE_RECT_H#define QWT_DOUBLE_RECT_H 1#include <qpoint.h>#include <qsize.h>#include <qrect.h>#include "qwt_global.h"/*!  The QwtDoublePoint class defines a point in double coordinates*/class QWT_EXPORT QwtDoublePoint{public:    QwtDoublePoint();    QwtDoublePoint(double x, double y);    QwtDoublePoint(const QPoint &);    inline bool isNull()    const;    inline double x() const;    inline double y() const;    inline void setX(double x);    inline void setY(double y);    inline double &rx();    inline double &ry();    bool operator==(const QwtDoublePoint &) const;    bool operator!=(const QwtDoublePoint &) const;    const QwtDoublePoint operator-() const;    const QwtDoublePoint operator+(const QwtDoublePoint &) const;    const QwtDoublePoint operator-(const QwtDoublePoint &) const;    const QwtDoublePoint operator*(double) const;    const QwtDoublePoint operator/(double) const;    QwtDoublePoint &operator+=(const QwtDoublePoint &);    QwtDoublePoint &operator-=(const QwtDoublePoint &);    QwtDoublePoint &operator*=(double);    QwtDoublePoint &operator/=(double);private:    double d_x;    double d_y;};/*!  The QwtDoubleSize class defines a size in double coordinates*/class QWT_EXPORT QwtDoubleSize{public:    QwtDoubleSize();    QwtDoubleSize(double width, double height);    QwtDoubleSize(const QSize &);    inline bool isNull() const;    inline bool isEmpty() const;    inline bool isValid() const;    inline double width() const;    inline double height() const;    inline void setWidth( double w );    inline void setHeight( double h );    void transpose();    QwtDoubleSize expandedTo(const QwtDoubleSize &) const;    QwtDoubleSize boundedTo(const QwtDoubleSize &) const;    inline double &rwidth();    inline double &rheight();    bool operator==(const QwtDoubleSize &) const;    bool operator!=(const QwtDoubleSize &) const;    const QwtDoubleSize operator-() const;    const QwtDoubleSize operator+(const QwtDoubleSize &) const;    const QwtDoubleSize operator-(const QwtDoubleSize &) const;    const QwtDoubleSize operator*(double) const;    const QwtDoubleSize operator/(double) const;    QwtDoubleSize &operator+=(const QwtDoubleSize &);    QwtDoubleSize &operator-=(const QwtDoubleSize &);    QwtDoubleSize &operator*=(double c);    QwtDoubleSize &operator/=(double c);private:    double d_width;    double d_height;};/*!  The QwtDoubleRect class defines a size in double coordinates.*/class QWT_EXPORT QwtDoubleRect  {public:    QwtDoubleRect();    QwtDoubleRect(double x1, double x2, double y1, double y2);    QwtDoubleRect(double x, double y, const QwtDoubleSize &);    inline bool isNull()    const;    inline bool isEmpty()   const;    inline bool isValid()   const;    QwtDoubleRect normalize() const;    inline double x1()  const;    inline double x2()  const;    inline double y1()  const;    inline double y2()  const;    inline double &rx1();    inline double &rx2();    inline double &ry1();    inline double &ry2();    inline void setX1(double);    inline void setX2(double);    inline void setY1(double);    inline void setY2(double);    QwtDoublePoint center()  const;    void moveX(double x);    void moveY(double y );    void move(double x, double y);    void moveBy(double dx, double dy);    void moveCenter(const QwtDoublePoint &);    void moveCenter(double dx, double dy);    void setRect(double x1, double x2, double y1, double y2);    inline double width()   const;    inline double height()  const;    inline QwtDoubleSize size() const;    inline void setWidth(double w );    inline void setHeight(double h );    void setSize(const QwtDoubleSize &);    QwtDoubleRect  operator|(const QwtDoubleRect &r) const;    QwtDoubleRect  operator&(const QwtDoubleRect &r) const;    QwtDoubleRect &operator|=(const QwtDoubleRect &r);    QwtDoubleRect &operator&=(const QwtDoubleRect &r);    bool operator==( const QwtDoubleRect &) const;    bool operator!=( const QwtDoubleRect &) const;    bool contains(const QwtDoublePoint &p, bool proper = FALSE) const;    bool contains(double x, double y, bool proper = FALSE) const;     bool contains(const QwtDoubleRect &r, bool proper=FALSE) const;    QwtDoubleRect unite(const QwtDoubleRect &) const;    QwtDoubleRect intersect(const QwtDoubleRect &) const;    bool intersects(const QwtDoubleRect &) const;private:    double d_x1;    double d_x2;    double d_y1;    double d_y2;};/*!   Returns TRUE if both the x value and the y value are 0;   otherwise returns FALSE. */inline bool QwtDoublePoint::isNull() const{     return d_x == 0.0 && d_y == 0.0; }//! Returns the x coordinate of the point. inline double QwtDoublePoint::x() const{     return d_x; }//! Returns the y coordinate of the point. inline double QwtDoublePoint::y() const{       return d_y; }//! Sets the x coordinate of the point to x. inline void QwtDoublePoint::setX(double x){     d_x = x; }//! Sets the y coordinate of the point to x. inline void QwtDoublePoint::setY(double y){     d_y = y; }//! Returns a reference to the x coordinate of the point. inline double &QwtDoublePoint::rx(){     return d_x; }//! Returns a reference to the y coordinate of the point. inline double &QwtDoublePoint::ry(){     return d_y; }/*!  Returns TRUE if the width is 0 and the height is 0;   otherwise returns FALSE.*/inline bool QwtDoubleSize::isNull() const{     return d_width == 0.0 && d_height == 0.0; }/*!   Returns TRUE if the width is <= 0 or the height is <= 0,   otherwise FALSE. */inline bool QwtDoubleSize::isEmpty() const{     return d_width <= 0.0 || d_height <= 0.0; }/*  Returns TRUE if the width is equal to or greater than 0 and the height   is equal to or greater than 0; otherwise returns FALSE.*/inline bool QwtDoubleSize::isValid() const{     return d_width >= 0.0 && d_height >= 0.0; }//! Returns the width. inline double QwtDoubleSize::width() const{     return d_width; }//! Returns the height. inline double QwtDoubleSize::height() const{     return d_height; }//! Sets the width to width. inline void QwtDoubleSize::setWidth(double width){     d_width = width; }//! Sets the height to height. inline void QwtDoubleSize::setHeight(double height){     d_height = height; }//! Returns a reference to the width. inline double &QwtDoubleSize::rwidth(){     return d_width; }//! Returns a reference to the height. inline double &QwtDoubleSize::rheight(){       return d_height; }/*!  Returns TRUE if the rectangle is a null rectangle;   otherwise returns FALSE.   A rect is null when x1() == x2() && y1() == y2().*/inline bool QwtDoubleRect::isNull() const{     return d_x2 == d_x1 && d_y2 == d_y1;}/*!  Returns TRUE if the rectangle is a empty rectangle;   otherwise returns FALSE.   A rect is null when x1() >= x2() && y1() >= y2().*/inline bool QwtDoubleRect::isEmpty() const{     return d_x1 >= d_x2 || d_y1 >= d_y2; }/*!  Returns TRUE if the rectangle is a valid rectangle;   otherwise returns FALSE.   A rect is valid when x1() <= x2() && y1() <= y2().*/inline bool QwtDoubleRect::isValid() const{     return d_x1 <= d_x2 && d_y1 <= d_y2; }//! Returns x1inline double QwtDoubleRect::x1() const{     return d_x1; }//! Returns x2inline double QwtDoubleRect::x2() const{     return d_x2; }//! Returns y1inline double QwtDoubleRect::y1() const{     return d_y1; }//! Returns y2inline double QwtDoubleRect::y2() const{     return d_y2; }//! Returns a reference to x1inline double &QwtDoubleRect::rx1(){     return d_x1; }//! Returns a reference to x2inline double &QwtDoubleRect::rx2(){     return d_x2; }//! Returns a reference to y1inline double &QwtDoubleRect::ry1(){     return d_y1; }//! Returns a reference to y2inline double &QwtDoubleRect::ry2(){     return d_y2; }//! Set x1  inline void QwtDoubleRect::setX1(double x1){     d_x1 = x1;}//! Set x2  inline void QwtDoubleRect::setX2(double x2){     d_x2 = x2;}//! Set y1  inline void QwtDoubleRect::setY1(double y1){     d_y1 = y1;}//! Set y2  inline void QwtDoubleRect::setY2(double y2){     d_y2 = y2;}//! Returns the widthinline double QwtDoubleRect::width() const{     return  d_x2 - d_x1; }//! Returns the heightinline double QwtDoubleRect::height() const{     return  d_y2 - d_y1; }//! Returns the sizeinline QwtDoubleSize QwtDoubleRect::size() const{     return QwtDoubleSize(width(), height());}//! Set the width, by x2 = x1 + w;inline void QwtDoubleRect::setWidth(double w){    d_x2 = d_x1 + w;}//! Set the height, by y2 = y1 + h;inline void QwtDoubleRect::setHeight(double h){    d_y2 = d_y1 + h;}#endif // QWT_DOUBLE_RECT_H

⌨️ 快捷键说明

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