kdeui Library API Documentation

kpixmapio.h

00001 /* vi: ts=8 sts=4 sw=4 00002 * 00003 * $Id: kpixmapio.h,v 1.14 2003/08/19 10:00:20 coolo Exp $ 00004 * 00005 * This file is part of the KDE project, module kdeui. 00006 * Copyright (C) 2000 Geert Jansen <jansen@kde.org> 00007 * 00008 * You can Freely distribute this program under the GNU Library General 00009 * Public License. See the file "COPYING.LIB" for the exact licensing terms. 00010 */ 00011 00012 #ifndef __KPixmapIO_h_Included__ 00013 #define __KPixmapIO_h_Included__ 00014 00015 class QPixmap; 00016 class QImage; 00017 class QPoint; 00018 class QRect; 00019 class KPixmapIOPrivate; 00086 class KPixmapIO 00087 { 00088 public: 00089 KPixmapIO(); 00090 ~KPixmapIO(); 00091 00097 QPixmap convertToPixmap(const QImage &image); 00098 00104 QImage convertToImage(const QPixmap &pixmap); 00105 00113 void putImage(QPixmap *dst, int dx, int dy, const QImage *src); 00114 00119 void putImage(QPixmap *dst, const QPoint &offset, const QImage *src); 00120 00130 QImage getImage(const QPixmap *src, int sx, int sy, int sw, int sh); 00131 00136 QImage getImage(const QPixmap *src, const QRect &rect); 00137 00141 enum ShmPolicies { 00142 ShmDontKeep, 00143 ShmKeepAndGrow 00144 }; 00145 00151 void setShmPolicy(int policy); 00152 00158 void preAllocShm(int size); 00159 00160 private: 00161 /* 00162 * Supported XImage byte orders. The notation ARGB means bytes 00163 * containing A:R:G:B succeed in memory. 00164 */ 00165 enum ByteOrders { 00166 bo32_ARGB, bo32_BGRA, bo24_RGB, bo24_BGR, 00167 bo16_RGB_565, bo16_BGR_565, bo16_RGB_555, 00168 bo16_BGR_555, bo8 00169 }; 00170 00171 bool m_bShm; 00172 bool initXImage(int w, int h); 00173 void doneXImage(); 00174 bool createXImage(int w, int h); 00175 void destroyXImage(); 00176 bool createShmSegment(int size); 00177 void destroyShmSegment(); 00178 void convertToXImage(const QImage &); 00179 QImage convertFromXImage(); 00180 private: 00181 KPixmapIOPrivate* d; 00182 }; 00183 00184 #endif // __KPixmapIO_h_Included__
KDE Logo
This file is part of the documentation for kdeui Library Version 3.2.3.
Documentation copyright © 1996-2004 the KDE developers.
Generated on Wed Mar 16 17:22:02 2005 by doxygen 1.3.7 written by Dimitri van Heesch, © 1997-2003