#ifndef QICON_H
#define QICON_H 
#include <QtCore/qglobal.h>
#include <QtCore/qsize.h>
#include <QtGui/qpixmap.h>
typedef enum QtValidLicenseForGuiModule QtGuiModule;
struct QIconPrivate;
struct QIconEngine;
class QIcon{
   public: enum Mode{
      Normal = 0,
      Disabled = 1,
      Active = 2,
      Selected = 3,
   };
   public: enum State{
      On = 0,
      Off = 1,
   };
   public: QIcon();
   public: QIcon(class QPixmap const & pixmap);
   public: QIcon(class QIcon const & other);
   public: explicit QIcon(class QString const & fileName);
   public: explicit QIcon(struct QIconEngine* engine);
   public: ~QIcon();
   public: class QIcon& operator =(class QIcon const & other);
   public: operator struct QVariant () const
   public: class QPixmap pixmap(class QSize const & size, enum QIcon::Mode mode = QIcon::Normal, enum QIcon::State state = QIcon::Off) const
   public: inline class QPixmap pixmap(int w, int h, enum QIcon::Mode mode = QIcon::Normal, enum QIcon::State state = QIcon::Off) const
   public: inline class QPixmap pixmap(int extent, enum QIcon::Mode mode = QIcon::Normal, enum QIcon::State state = QIcon::Off) const
   public: class QSize actualSize(class QSize const & size, enum QIcon::Mode mode = QIcon::Normal, enum QIcon::State state = QIcon::Off) const
   public: void paint(struct QPainter* painter, class QRect const & rect, Qt::Alignment alignment = Qt::AlignCenter, enum QIcon::Mode mode = QIcon::Normal, enum QIcon::State state = QIcon::Off) const
   public: inline void paint(struct QPainter* painter, int x, int y, int w, int h, Qt::Alignment alignment = Qt::AlignCenter, enum QIcon::Mode mode = QIcon::Normal, enum QIcon::State state = QIcon::Off) const
   public: bool isNull() const
   public: bool isDetached() const
   public: int serialNumber() const
   public: void addPixmap(class QPixmap const & pixmap, enum QIcon::Mode mode = QIcon::Normal, enum QIcon::State state = QIcon::Off);
   public: void addFile(class QString const & fileName, class QSize const & size = QSize::QSize(), enum QIcon::Mode mode = QIcon::Normal, enum QIcon::State state = QIcon::Off);
   private: struct QIconPrivate* d;
   friend class QDataStream& operator <<(class QDataStream&, class QIcon const &);
};
template < > class QTypeInfo < class QIcon >{
   public: static inline char const * name();
   public: enum /*anonymous*/{
      isComplex = 1,
      isStatic = 0,
      isLarge = 0,
      isPointer = 0,
      isDummy = 0,
   };
};
#if !defined(QT_NO_DATASTREAM)
class QDataStream& operator <<(class QDataStream&, class QIcon const &);
class QDataStream& operator >>(class QDataStream&, class QIcon&);
#endif
#endif // QICON_H