diff options
author | Qt Continuous Integration System <qt-info@nokia.com> | 2011-03-22 15:59:50 (GMT) |
---|---|---|
committer | Qt Continuous Integration System <qt-info@nokia.com> | 2011-03-22 15:59:50 (GMT) |
commit | ea9f34568acd1286f5ed4e7f2bf760982a4e4579 (patch) | |
tree | 232e346dba7226f35af80043e072538dba473201 /src/gui/image/qvolatileimagedata_p.h | |
parent | f68f1de5b866a050c4b39f8eed984831b0e6956e (diff) | |
parent | 1d8b7f41a5393f77eb3079513b083739edd90b91 (diff) | |
download | Qt-ea9f34568acd1286f5ed4e7f2bf760982a4e4579.zip Qt-ea9f34568acd1286f5ed4e7f2bf760982a4e4579.tar.gz Qt-ea9f34568acd1286f5ed4e7f2bf760982a4e4579.tar.bz2 |
Merge branch '4.7' of git://scm.dev.nokia.troll.no/qt/qt-doc-team
* '4.7' of git://scm.dev.nokia.troll.no/qt/qt-doc-team: (329 commits)
Fixed drawImage() not to attempt drawing null images on openvg.
QS60Style: Update placeholder texture to real one
qdoc: Avoid infinite loops in table of contents generation.
Bump Qt version to 4.7.4
Return SV_S60_5_2 / SV_SF_3 for next gen Symbian platform.
Remove incorrect check in qpixmap autotest.
Change the pooled QGLPixmapData to be backed by QVolatileImage.
Started changes-4.7.4 file
Fix endianness detection with gcc 4.6 -flto -fwhole-program
remove redundand validateModes() call
Changed s60 style not to rely on QPixmapData::toNativeType().
Add missing bitmap locking to QVGPixmapData::fromNativeType.
Don't crash calling QTextDocument::blockBoundingRect on invalid block
Prepare fromSymbianCFbsBitmap autotest for 16 bpp format.
Fix writing to an attached property from script.
fixes/improvements for new QML right-to-left docs
Fix license headers in example code
Add flag for forcibly propagating backing store alpha to framebuffer
Fixed unmatched quotes in s60installs.pro
Added setSwitchPolicy to MeeGo graphicssystem helper API.
...
Diffstat (limited to 'src/gui/image/qvolatileimagedata_p.h')
-rw-r--r-- | src/gui/image/qvolatileimagedata_p.h | 97 |
1 files changed, 97 insertions, 0 deletions
diff --git a/src/gui/image/qvolatileimagedata_p.h b/src/gui/image/qvolatileimagedata_p.h new file mode 100644 index 0000000..dab1685 --- /dev/null +++ b/src/gui/image/qvolatileimagedata_p.h @@ -0,0 +1,97 @@ +/**************************************************************************** +** +** Copyright (C) 2011 Nokia Corporation and/or its subsidiary(-ies). +** All rights reserved. +** Contact: Nokia Corporation (qt-info@nokia.com) +** +** This file is part of the QtGui module of the Qt Toolkit. +** +** $QT_BEGIN_LICENSE:LGPL$ +** No Commercial Usage +** This file contains pre-release code and may not be distributed. +** You may use this file in accordance with the terms and conditions +** contained in the Technology Preview License Agreement accompanying +** this package. +** +** GNU Lesser General Public License Usage +** Alternatively, this file may be used under the terms of the GNU Lesser +** General Public License version 2.1 as published by the Free Software +** Foundation and appearing in the file LICENSE.LGPL included in the +** packaging of this file. Please review the following information to +** ensure the GNU Lesser General Public License version 2.1 requirements +** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. +** +** In addition, as a special exception, Nokia gives you certain additional +** rights. These rights are described in the Nokia Qt LGPL Exception +** version 1.1, included in the file LGPL_EXCEPTION.txt in this package. +** +** If you have questions regarding the use of this file, please contact +** Nokia at qt-info@nokia.com. +** +** +** +** +** +** +** +** +** $QT_END_LICENSE$ +** +****************************************************************************/ + +#ifndef QVOLATILEIMAGEDATA_P_H +#define QVOLATILEIMAGEDATA_P_H + +// +// W A R N I N G +// ------------- +// +// This file is not part of the Qt API. It exists purely as an +// implementation detail. This header file may change from version to +// version without notice, or even be removed. +// +// We mean it. +// + +#include <QtGui/qimage.h> +#include <QtCore/qshareddata.h> + +#ifdef Q_OS_SYMBIAN +class CFbsBitmap; +#endif + +QT_BEGIN_NAMESPACE + +class QVolatileImageData : public QSharedData +{ +public: + QVolatileImageData(); + QVolatileImageData(int w, int h, QImage::Format format); + QVolatileImageData(const QImage &sourceImage); + QVolatileImageData(void *nativeImage, void *nativeMask); + QVolatileImageData(const QVolatileImageData &other); + ~QVolatileImageData(); + + void beginDataAccess() const; + void endDataAccess(bool readOnly = false) const; + bool ensureFormat(QImage::Format format); + void *duplicateNativeImage() const; + void ensureImage(); + +#ifdef Q_OS_SYMBIAN + void updateImage(); + void initWithBitmap(CFbsBitmap *source); + void applyMask(CFbsBitmap *mask); + void ensureBitmap(); + void release(); + QVolatileImageData *next; + QVolatileImageData *prev; + CFbsBitmap *bitmap; +#endif + QImage image; + QPaintEngine *pengine; +}; + +QT_END_NAMESPACE + +#endif // QVOLATILEIMAGEDATA_P_H |