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

📄 gradients.h

📁 奇趣公司比较新的qt/emd版本
💻 H
字号:
/******************************************************************************** Copyright (C) 2005-2007 Trolltech ASA. All rights reserved.**** This file is part of the demonstration applications of the Qt Toolkit.**** This file may be used under the terms of the GNU General Public** License version 2.0 as published by the Free Software Foundation** and appearing in the file LICENSE.GPL included in the packaging of** this file.  Please review the following information to ensure GNU** General Public Licensing requirements will be met:** http://trolltech.com/products/qt/licenses/licensing/opensource/**** If you are unsure which license is appropriate for your use, please** review the following information:** http://trolltech.com/products/qt/licenses/licensing/licensingoverview** or contact the sales department at sales@trolltech.com.**** In addition, as a special exception, Trolltech gives you certain** additional rights. These rights are described in the Trolltech GPL** Exception version 1.0, which can be found at** http://www.trolltech.com/products/qt/gplexception/ and in the file** GPL_EXCEPTION.txt in this package.**** In addition, as a special exception, Trolltech, as the sole copyright** holder for Qt Designer, grants users of the Qt/Eclipse Integration** plug-in the right for the Qt/Eclipse Integration to link to** functionality provided by Qt Designer and its related libraries.**** Trolltech reserves all rights not expressly granted herein.**** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.******************************************************************************/#ifndef GRADIENTS_H#define GRADIENTS_H#include "arthurwidgets.h"#include <QtGui>class HoverPoints;class ShadeWidget : public QWidget{    Q_OBJECTpublic:    enum ShadeType {        RedShade,        GreenShade,        BlueShade,        ARGBShade    };    ShadeWidget(ShadeType type, QWidget *parent);    void setGradientStops(const QGradientStops &stops);    void paintEvent(QPaintEvent *e);    QSize sizeHint() const { return QSize(150, 40); }    QPolygonF points() const;    HoverPoints *hoverPoints() const { return m_hoverPoints; }    uint colorAt(int x);signals:    void colorsChanged();private:    void generateShade();    ShadeType m_shade_type;    QImage m_shade;    HoverPoints *m_hoverPoints;    QLinearGradient m_alpha_gradient;};class GradientEditor : public QWidget{    Q_OBJECTpublic:    GradientEditor(QWidget *parent);    void setGradientStops(const QGradientStops &stops);public slots:    void pointsUpdated();signals:    void gradientStopsChanged(const QGradientStops &stops);private:    ShadeWidget *m_red_shade;    ShadeWidget *m_green_shade;    ShadeWidget *m_blue_shade;    ShadeWidget *m_alpha_shade;};class GradientRenderer : public ArthurFrame{    Q_OBJECTpublic:    GradientRenderer(QWidget *parent);    void paint(QPainter *p);    QSize sizeHint() const { return QSize(400, 400); }    HoverPoints *hoverPoints() const { return m_hoverPoints; }    void mousePressEvent(QMouseEvent *e);public slots:    void setGradientStops(const QGradientStops &stops);    void setPadSpread() { m_spread = QGradient::PadSpread; update(); }    void setRepeatSpread() { m_spread = QGradient::RepeatSpread; update(); }    void setReflectSpread() { m_spread = QGradient::ReflectSpread; update(); }    void setLinearGradient() { m_gradientType = Qt::LinearGradientPattern; update(); }    void setRadialGradient() { m_gradientType = Qt::RadialGradientPattern; update(); }    void setConicalGradient() { m_gradientType = Qt::ConicalGradientPattern; update(); }private:    QGradientStops m_stops;    HoverPoints *m_hoverPoints;    QGradient::Spread m_spread;    Qt::BrushStyle m_gradientType;};class GradientWidget : public QWidget{    Q_OBJECTpublic:    GradientWidget(QWidget *parent);public slots:    void setDefault1() { setDefault(1); }    void setDefault2() { setDefault(2); }    void setDefault3() { setDefault(3); }    void setDefault4() { setDefault(4); }private:    void setDefault(int i);    GradientRenderer *m_renderer;    GradientEditor *m_editor;    QRadioButton *m_linearButton;    QRadioButton *m_radialButton;    QRadioButton *m_conicalButton;    QRadioButton *m_padSpreadButton;    QRadioButton *m_reflectSpreadButton;    QRadioButton *m_repeatSpreadButton;};#endif // GRADIENTS_H

⌨️ 快捷键说明

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