lib Library API Documentation

koPictureImage.h

00001 /* This file is part of the KDE project
00002    Copyright (c) 2001 Simon Hausmann <hausmann@kde.org>
00003    Copyright (C) 2002, 2003, 2004 Nicolas GOUTTE <goutte@kde.org>
00004 
00005    This library is free software; you can redistribute it and/or
00006    modify it under the terms of the GNU Library General Public
00007    License as published by the Free Software Foundation; either
00008    version 2 of the License, or (at your option) any later version.
00009 
00010    This library is distributed in the hope that it will be useful,
00011    but WITHOUT ANY WARRANTY; without even the implied warranty of
00012    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
00013    Library General Public License for more details.
00014 
00015    You should have received a copy of the GNU Library General Public License
00016    along with this library; see the file COPYING.LIB.  If not, write to
00017    the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
00018    Boston, MA 02111-1307, USA.
00019 */
00020 #ifndef __koPictureImage_h__
00021 #define __koPictureImage_h__
00022 
00023 #include "koPictureBase.h"
00024 #include <qstring.h>
00025 
00026 class KoPictureImagePrivate;
00027 // TODO: fix documentation
00028 
00034 class KoPictureImage : public KoPictureBase
00035 {
00036 public:
00040     KoPictureImage();
00041 
00045     virtual ~KoPictureImage();
00046 
00047     KoPictureType::Type getType(void) const;
00048 
00049     KoPictureBase* newCopy(void) const;
00050 
00054     virtual bool isNull(void) const;
00055 
00074     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);
00075 
00076     virtual QDragObject* dragObject( QWidget *dragSource = 0L, const char *name = 0L );
00077 
00078     virtual bool loadData(const QByteArray& array, const QString& extension);
00079 
00080     virtual bool save(QIODevice* io) const;
00081 
00082     virtual QSize getOriginalSize(void) const;
00083 
00084     virtual QPixmap generatePixmap(const QSize& size, bool smoothScale = false);
00085 
00086     virtual QString getMimeType(const QString& extension) const;
00087 
00092     virtual QImage generateImage(const QSize& size);
00093 
00094     virtual bool hasAlphaBuffer() const
00095         { return m_originalImage.hasAlphaBuffer(); }
00096 
00097     virtual void setAlphaBuffer(bool enable)
00098         { m_originalImage.setAlphaBuffer(enable); }
00099 
00100     virtual QImage createAlphaMask(int conversion_flags = 0) const
00101         { return m_originalImage.createAlphaMask(conversion_flags); }
00102 
00103     virtual void clearCache(void);
00104 
00105 protected:
00106     QPixmap getPixmap(QImage& image);
00107     void scaleAndCreatePixmap(const QSize& size, bool fastMode=false);
00108 
00109 private:
00110     QImage  m_originalImage; 
00111     QByteArray m_rawData; 
00112     QPixmap m_cachedPixmap; 
00113     QSize m_cachedSize; 
00114 
00118     bool m_cacheIsInFastMode;
00119     class Private;
00120     Private* d;
00121 };
00122 
00123 #endif /* __koPictureImage_h__ */
KDE Logo
This file is part of the documentation for lib Library Version 1.4.2.
Documentation copyright © 1996-2004 the KDE developers.
Generated on Mon Feb 13 09:40:04 2006 by doxygen 1.4.2 written by Dimitri van Heesch, © 1997-2003