koPictureImage.h
00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020 #ifndef __koPictureImage_h__
00021 #define __koPictureImage_h__
00022
00023 #include "koPictureBase.h"
00024 #include <qstring.h>
00025
00026 class KoPictureImagePrivate;
00027
00028
00033 class KoPictureImage : public KoPictureBase
00034 {
00035 public:
00039 KoPictureImage();
00040
00044 virtual ~KoPictureImage();
00045
00046 KoPictureType::Type getType(void) const;
00047
00048 KoPictureBase* newCopy(void) const;
00049
00053 virtual bool isNull(void) const;
00054
00072 virtual void draw(QPainter& painter, int x, int y, int width, int height, int sx = 0, int sy = 0, int sw = -1, int sh = -1, bool fastMode = false);
00073
00074 virtual QDragObject* dragObject( QWidget *dragSource = 0L, const char *name = 0L );
00075
00076 virtual bool load(const QByteArray& array, const QString& extension);
00077
00078 virtual bool save(QIODevice* io);
00079
00080 virtual QSize getOriginalSize(void) const;
00081
00082 virtual QPixmap generatePixmap(const QSize& size, bool smoothScale = false);
00083
00084 virtual QString getMimeType(const QString& extension) const;
00085
00090 virtual QImage generateImage(const QSize& size);
00091
00092 virtual bool hasAlphaBuffer() const
00093 { return m_originalImage.hasAlphaBuffer(); }
00094
00095 virtual void setAlphaBuffer(bool enable)
00096 { m_originalImage.setAlphaBuffer(enable); }
00097
00098 virtual QImage createAlphaMask(int conversion_flags = 0) const
00099 { return m_originalImage.createAlphaMask(conversion_flags); }
00100
00101 virtual void clearCache(void);
00102
00103 protected:
00104 QPixmap getPixmap(QImage& image);
00105 void scaleAndCreatePixmap(const QSize& size, bool fastMode=false);
00106
00107 private:
00108 QImage m_originalImage;
00109 QByteArray m_rawData;
00110 QPixmap m_cachedPixmap;
00111 QSize m_cachedSize;
00116 bool m_cacheIsInFastMode;
00117 class Private;
00118 Private* d;
00119 };
00120
00121 #endif
This file is part of the documentation for lib Library Version 1.3.5.