tdeui
kpixmapio.h
00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011 #ifndef __KPixmapIO_h_Included__
00012 #define __KPixmapIO_h_Included__
00013
00014 #include <tdelibs_export.h>
00015
00016 class TQPixmap;
00017 class TQImage;
00018 class TQPoint;
00019 class TQRect;
00020 struct KPixmapIOPrivate;
00087 class TDEUI_EXPORT KPixmapIO
00088 {
00089 public:
00090 KPixmapIO();
00091 ~KPixmapIO();
00092
00098 TQPixmap convertToPixmap(const TQImage &image);
00099
00105 TQImage convertToImage(const TQPixmap &pixmap);
00106
00114 void putImage(TQPixmap *dst, int dx, int dy, const TQImage *src);
00115
00120 void putImage(TQPixmap *dst, const TQPoint &offset, const TQImage *src);
00121
00131 TQImage getImage(const TQPixmap *src, int sx, int sy, int sw, int sh);
00132
00137 TQImage getImage(const TQPixmap *src, const TQRect &rect);
00138
00142 enum ShmPolicies {
00143 ShmDontKeep,
00144 ShmKeepAndGrow
00145 };
00146
00152 void setShmPolicy(int policy);
00153
00159 void preAllocShm(int size);
00160
00161 private:
00162
00163
00164
00165
00166 enum ByteOrders {
00167 bo32_ARGB, bo32_BGRA, bo24_RGB, bo24_BGR,
00168 bo16_RGB_565, bo16_BGR_565, bo16_RGB_555,
00169 bo16_BGR_555, bo8
00170 };
00171
00172 bool m_bShm;
00173 bool initXImage(int w, int h);
00174 void doneXImage();
00175 bool createXImage(int w, int h);
00176 void destroyXImage();
00177 bool createShmSegment(int size);
00178 void destroyShmSegment();
00179 void convertToXImage(const TQImage &);
00180 TQImage convertFromXImage();
00181 private:
00182 KPixmapIOPrivate* d;
00183 };
00184
00185 #endif // __KPixmapIO_h_Included__