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