1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261
|
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html><head><meta name="robots" content="noindex,noarchive"><title>
Qt Toolkit - qpixmap.h include file
</title><style type="text/css"><!--
h3.fn,span.fn { margin-left: 15%; text-indent: -15%; }
a:link { text-decoration: none; }
--></style>
</head><body bgcolor="#ffffff">
<a href=index.html><img width=122 height=65 src=qtlogo.jpg alt="Qt logo" align=left border=0></a>
<center><img src=dochead.gif width=472 height=27></center>
<br clear=all>
<h1 align=center>qpixmap.h</h1><br clear="all">
This is the verbatim text of the qpixmap.h include file. It is is
provided only for illustration; the copyright
remains with Troll Tech.
<hr>
<pre>
/****************************************************************************
** $Id: qpixmap.h,v 2.22.2.4 1998/10/08 18:21:02 hanord Exp $
**
** Definition of QPixmap class
**
** Created : 940501
**
** Copyright (C) 1992-1999 Troll Tech AS. All rights reserved.
**
** This file is part of Qt Free Edition, version 1.45.
**
** See the file LICENSE included in the distribution for the usage
** and distribution terms, or http://www.troll.no/free-license.html.
**
** IMPORTANT NOTE: You may NOT copy this file or any part of it into
** your own programs or libraries.
**
** Please see http://www.troll.no/pricing.html for information about
** Qt Professional Edition, which is this same library but with a
** license which allows creation of commercial/proprietary software.
**
*****************************************************************************/
#ifndef QPIXMAP_H
#define QPIXMAP_H
#ifndef QT_H
#include "qpaintdevice.h"
#include "qcolor.h"
#include "qstring.h"
#endif // QT_H
class Q_EXPORT QPixmap : public QPaintDevice // pixmap class
{
friend class QPaintDevice;
friend class QPainter;
public:
enum ColorMode { Auto, Color, Mono };
QPixmap();
QPixmap( int w, int h, int depth=-1 );
QPixmap( const QSize &, int depth=-1 );
QPixmap( const char *fileName, const char *format=0, ColorMode mode=Auto );
QPixmap( const char *fileName, const char *format, int conversion_flags );
QPixmap( const char *xpm[] );
QPixmap( const QPixmap & );
~QPixmap();
QPixmap &operator=( const QPixmap & );
QPixmap &operator=( const QImage & );
bool isNull() const;
int width() const { return data->w; }
int height() const { return data->h; }
QSize size() const { return QSize(data->w,data->h); }
QRect rect() const { return QRect(0,0,data->w,data->h); }
int depth() const { return data->d; }
static int defaultDepth();
void fill( const QColor &fillColor=white );
void fill( const QWidget *, int xofs, int yofs );
void fill( const QWidget *, const QPoint &ofs );
void resize( int width, int height );
void resize( const QSize & );
const QBitmap *mask() const;
void setMask( const QBitmap & );
bool selfMask() const;
QBitmap createHeuristicMask( bool clipTight = TRUE ) const;
static QPixmap grabWindow( WId, int x=0, int y=0, int w=-1, int h=-1 );
QPixmap xForm( const QWMatrix & ) const;
static QWMatrix trueMatrix( const QWMatrix &, int w, int h );
QImage convertToImage() const;
bool convertFromImage( const QImage &, ColorMode mode=Auto );
bool convertFromImage( const QImage &, int conversion_flags );
static const char *imageFormat( const char *fileName );
bool load( const char *fileName, const char *format=0,
ColorMode mode=Auto );
bool load( const char *fileName, const char *format,
int conversion_flags );
bool loadFromData( const uchar *buf, uint len,
const char *format=0,
ColorMode mode=Auto );
bool loadFromData( const uchar *buf, uint len,
const char *format,
int conversion_flags );
bool loadFromData( QByteArray data,
const char *format=0,
int conversion_flags=0 );
bool save( const char *fileName, const char *format ) const;
#if defined(_WS_WIN_) || defined(_WS_PM_)
HANDLE hbm() const;
#endif
int serialNumber() const;
enum Optimization { NoOptim, NormalOptim, BestOptim };
Optimization optimization() const;
void setOptimization( Optimization );
static Optimization defaultOptimization();
static void setDefaultOptimization( Optimization );
#if 1
bool isOptimized() const;
void optimize( bool );
static bool isGloballyOptimized();
static void optimizeGlobally( bool );
#endif
virtual void detach();
bool isQBitmap() const;
#if defined(_WS_WIN_)
HANDLE allocMemDC();
void freeMemDC();
#endif
protected:
QPixmap( int w, int h, const uchar *data, bool isXbitmap );
int metric( int ) const;
struct QPixmapData : public QShared { // internal pixmap data
QCOORD w, h;
short d;
uint unused : 1;
uint optim : 1;
uint uninit : 1;
uint bitmap : 1;
uint selfmask : 1;
int ser_no;
QBitmap *mask;
#if defined(_WS_WIN_)
HANDLE hbm;
void *bits;
QPixmap *maskpm;
#elif defined(_WS_PM_)
HANDLE hdcmem;
HANDLE hbm;
#elif defined(_WS_X11_)
void *ximage;
void *maskgc;
#endif
Optimization opt;
} *data;
private:
void init( int, int, int );
void deref();
QPixmap copy() const;
static bool optimAll;
static Optimization defOpt;
friend Q_EXPORT void bitBlt( QPaintDevice *, int, int,
const QPaintDevice *,
int, int, int, int, RasterOp, bool );
friend Q_EXPORT void bitBlt( QPaintDevice *, int, int,
const QImage* src,
int, int, int, int, int conversion_flags );
};
inline bool QPixmap::isNull() const
{
#if defined(_WS_X11_)
return hd == 0;
#else
return data->hbm == 0;
#endif
}
inline void QPixmap::fill( const QWidget *w, const QPoint &ofs )
{
fill( w, ofs.x(), ofs.y() );
}
inline void QPixmap::resize( const QSize &s )
{
resize( s.width(), s.height() );
}
inline const QBitmap *QPixmap::mask() const
{
return data->mask;
}
inline bool QPixmap::selfMask() const
{
return data->selfmask;
}
#if defined(_WS_WIN_) || defined(_WS_PM_)
inline HANDLE QPixmap::hbm() const
{
return data->hbm;
}
#endif
inline int QPixmap::serialNumber() const
{
return data->ser_no;
}
inline QPixmap::Optimization QPixmap::optimization() const
{
return data->opt;
}
inline bool QPixmap::isOptimized() const
{
return data->optim;
}
inline bool QPixmap::isQBitmap() const
{
return data->bitmap;
}
/*****************************************************************************
QPixmap stream functions
*****************************************************************************/
Q_EXPORT QDataStream &operator<<( QDataStream &, const QPixmap & );
Q_EXPORT QDataStream &operator>>( QDataStream &, QPixmap & );
#endif // QPIXMAP_H
</pre>
<p><address><hr><div align="center">
<table width="100%" cellspacing="0" border="0"><tr>
<td>Copyright 1999 Troll Tech<td><a href="trademarks.html">Trademarks</a>
<td align="right"><div align="right">Qt version 1.45</div>
</table></div></address></body></html>
|