#ifndef QBRUSH_H
#define QBRUSH_H 
#include <QtCore/qpair.h>
#include <QtCore/qpoint.h>
#include <QtCore/qvector.h>
#include <QtGui/qcolor.h>
#include <QtGui/qmatrix.h>
#include <QtGui/qimage.h>
#include <QtGui/qpixmap.h>
typedef enum QtValidLicenseForGuiModule QtGuiModule;
class QBrush{
   public: QBrush();
   public: QBrush(enum Qt::BrushStyle bs);
   public: QBrush(class QColor const & color, enum Qt::BrushStyle bs = Qt::SolidPattern);
   public: QBrush(enum Qt::GlobalColor color, enum Qt::BrushStyle bs = Qt::SolidPattern);
   public: QBrush(class QColor const & color, class QPixmap const & pixmap);
   public: QBrush(enum Qt::GlobalColor color, class QPixmap const & pixmap);
   public: QBrush(class QPixmap const & pixmap);
   public: QBrush(class QImage const & image);
   public: QBrush(class QBrush const & brush);
   public: QBrush(class QGradient const & gradient);
   public: ~QBrush();
   public: class QBrush& operator =(class QBrush const & brush);
   public: operator struct QVariant () const
   public: void setStyle(enum Qt::BrushStyle);
   public: void setMatrix(class QMatrix const & mat);
   public: class QPixmap texture() const
   public: void setTexture(class QPixmap const & pixmap);
   public: class QImage textureImage() const
   public: void setTextureImage(class QImage const & image);
   public: void setColor(class QColor const & color);
   public: class QGradient const * gradient() const
   public: bool isOpaque() const
   public: bool operator ==(class QBrush const & b) const
   public: inline bool operator !=(class QBrush const & b) const
   private: void detach(enum Qt::BrushStyle newStyle);
   private: void init(class QColor const & color, enum Qt::BrushStyle bs);
   private: struct QBrushData* d;
   private: void cleanUp(struct QBrushData* x);
   public: inline void setColor(enum Qt::GlobalColor acolor);
   public: inline enum Qt::BrushStyle style() const
   public: inline class QColor const & color() const
   public: inline class QMatrix const & matrix() const
   friend struct QX11PaintEngine;
   friend struct QRasterPaintEngine;
   friend struct QRasterPaintEnginePrivate;
   friend struct QPainter;
};
struct QRasterPaintEnginePrivate;
template < > class QTypeInfo < class QBrush >{
   public: static inline char const * name();
   public: enum /*anonymous*/{
      isComplex = 1,
      isStatic = 0,
      isLarge = 0,
      isPointer = 0,
      isDummy = 0,
   };
};
#ifndef QT_NO_DATASTREAM
class QDataStream& operator <<(class QDataStream&, class QBrush const &);
class QDataStream& operator >>(class QDataStream&, class QBrush&);
#endif
#ifndef QT_NO_DEBUG_STREAM
struct QDebug operator <<(struct QDebug, class QBrush const &);
#endif
struct QBrushData{
   public: class QAtomic ref;
   public: enum Qt::BrushStyle style;
   public: class QColor color;
   public: class QMatrix transform;
   public: bool hasTransform;
};
struct QGradientPrivate;
typedef class QPair < double, class QColor > QGradientStop;
typedef class QVector < class QPair < double, class QColor > > QGradientStops;
class QGradient{
   public: static struct QMetaObject const staticMetaObject;
   public: enum Type{
      LinearGradient = 0,
      RadialGradient = 1,
      ConicalGradient = 2,
      NoGradient = 3,
   };
   public: enum Spread{
      PadSpread = 0,
      ReflectSpread = 1,
      RepeatSpread = 2,
   };
   public: enum CoordinateMode{
      LogicalMode = 0,
      StretchToDeviceMode = 1,
   };
   public: QGradient();
   public: inline enum QGradient::Type type() const
   public: inline enum QGradient::Spread spread() const
   public: void setColorAt(qreal pos, class QColor const & color);
   public: void setStops(QGradientStops const & stops);
   public: QGradientStops stops() const
   public: enum QGradient::CoordinateMode coordinateMode() const
   public: void setCoordinateMode(enum QGradient::CoordinateMode mode);
   public: bool operator ==(class QGradient const & gradient) const
   public: inline bool operator !=(class QGradient const & other) const
   public: bool operator ==(class QGradient const & gradient);
   private: enum QGradient::Type m_type;
   private: enum QGradient::Spread m_spread;
   private: QGradientStops m_stops;
   private: union /*anonymous*/{
#ifndef QBRUSH_H
struct /*anonymous*/{
#ifndef QBRUSH_H
public: qreal x1;
#endif // QBRUSH_H
#ifndef QBRUSH_H
public: qreal y1;
#endif // QBRUSH_H
#ifndef QBRUSH_H
public: qreal x2;
#endif // QBRUSH_H
#ifndef QBRUSH_H
public: qreal y2;
#endif // QBRUSH_H
#ifndef QBRUSH_H
 }
#endif // QBRUSH_H
linear;
#endif // QBRUSH_H
#ifndef QBRUSH_H
struct /*anonymous*/{
#ifndef QBRUSH_H
public: qreal cx;
#endif // QBRUSH_H
#ifndef QBRUSH_H
public: qreal cy;
#endif // QBRUSH_H
#ifndef QBRUSH_H
public: qreal fx;
#endif // QBRUSH_H
#ifndef QBRUSH_H
public: qreal fy;
#endif // QBRUSH_H
#ifndef QBRUSH_H
public: qreal radius;
#endif // QBRUSH_H
#ifndef QBRUSH_H
 }
#endif // QBRUSH_H
radial;
#endif // QBRUSH_H
#ifndef QBRUSH_H
struct /*anonymous*/{
#ifndef QBRUSH_H
public: qreal cx;
#endif // QBRUSH_H
#ifndef QBRUSH_H
public: qreal cy;
#endif // QBRUSH_H
#ifndef QBRUSH_H
public: qreal angle;
#endif // QBRUSH_H
#ifndef QBRUSH_H
 }
#endif // QBRUSH_H
conical;
#endif // QBRUSH_H
#ifndef QBRUSH_H
 }
#endif // QBRUSH_H
m_data;
   private: void* dummy;
   public: inline void setSpread(enum QGradient::Spread aspread);
   friend class QLinearGradient;
   friend class QRadialGradient;
   friend class QConicalGradient;
};
class QLinearGradient: public QGradient{
   public: QLinearGradient();
   public: QLinearGradient(class QPointF const & start, class QPointF const & finalStop);
   public: QLinearGradient(qreal xStart, qreal yStart, qreal xFinalStop, qreal yFinalStop);
   public: class QPointF start() const
   public: void setStart(class QPointF const & start);
   public: inline void setStart(qreal x, qreal y);
   public: class QPointF finalStop() const
   public: void setFinalStop(class QPointF const & stop);
   public: inline void setFinalStop(qreal x, qreal y);
};
class QRadialGradient: public QGradient{
   public: QRadialGradient();
   public: QRadialGradient(class QPointF const & center, qreal radius, class QPointF const & focalPoint);
   public: QRadialGradient(qreal cx, qreal cy, qreal radius, qreal fx, qreal fy);
   public: QRadialGradient(class QPointF const & center, qreal radius);
   public: QRadialGradient(qreal cx, qreal cy, qreal radius);
   public: class QPointF center() const
   public: void setCenter(class QPointF const & center);
   public: inline void setCenter(qreal x, qreal y);
   public: class QPointF focalPoint() const
   public: void setFocalPoint(class QPointF const & focalPoint);
   public: inline void setFocalPoint(qreal x, qreal y);
   public: qreal radius() const
   public: void setRadius(qreal radius);
};
class QConicalGradient: public QGradient{
   public: QConicalGradient();
   public: QConicalGradient(class QPointF const & center, qreal startAngle);
   public: QConicalGradient(qreal cx, qreal cy, qreal startAngle);
   public: class QPointF center() const
   public: void setCenter(class QPointF const & center);
   public: inline void setCenter(qreal x, qreal y);
   public: qreal angle() const
   public: void setAngle(qreal angle);
};
#endif // QBRUSH_H