diff options
Diffstat (limited to 'src/openvg/qpixmapdata_vg_p.h')
-rw-r--r-- | src/openvg/qpixmapdata_vg_p.h | 202 |
1 files changed, 0 insertions, 202 deletions
diff --git a/src/openvg/qpixmapdata_vg_p.h b/src/openvg/qpixmapdata_vg_p.h deleted file mode 100644 index 901bad9864..0000000000 --- a/src/openvg/qpixmapdata_vg_p.h +++ /dev/null @@ -1,202 +0,0 @@ -/**************************************************************************** -** -** 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 QtOpenVG module of the Qt Toolkit. -** -** $QT_BEGIN_LICENSE:LGPL$ -** GNU Lesser General Public License Usage -** 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. -** -** GNU General Public License Usage -** Alternatively, this file may be used under the terms of the GNU General -** Public License version 3.0 as published by the Free Software Foundation -** and appearing in the file LICENSE.GPL included in the packaging of this -** file. Please review the following information to ensure the GNU General -** Public License version 3.0 requirements will be met: -** http://www.gnu.org/copyleft/gpl.html. -** -** Other Usage -** Alternatively, this file may be used in accordance with the terms and -** conditions contained in a signed written agreement between you and Nokia. -** -** -** -** -** -** $QT_END_LICENSE$ -** -****************************************************************************/ - -#ifndef QPIXMAPDATA_VG_P_H -#define QPIXMAPDATA_VG_P_H - -// -// W A R N I N G -// ------------- -// -// This file is not part of the Qt API. It exists for the convenience -// of other Qt classes. This header file may change from version to -// version without notice, or even be removed. -// -// We mean it. -// - -#include <QtGui/private/qpixmap_raster_p.h> -#include <QtGui/private/qvolatileimage_p.h> -#include "qvg_p.h" - -#if defined(Q_OS_SYMBIAN) -class RSGImage; -#endif - -QT_BEGIN_NAMESPACE - -class QEglContext; -class QVGImagePool; -class QImageReader; - -#if !defined(QT_NO_EGL) -class QVGPixmapData; -class QVGSharedContext; - -void qt_vg_register_pixmap(QVGPixmapData *pd); -void qt_vg_unregister_pixmap(QVGPixmapData *pd); -void qt_vg_hibernate_pixmaps(QVGSharedContext *context); -#endif - -class QNativeImageHandleProvider; - -class Q_OPENVG_EXPORT QVGPixmapData : public QPixmapData -{ -public: - QVGPixmapData(PixelType type); - ~QVGPixmapData(); - - QPixmapData *createCompatiblePixmapData() const; - - // Is this pixmap valid (i.e. non-zero in size)? - bool isValid() const; - - void resize(int width, int height); - void fromImage(const QImage &image, Qt::ImageConversionFlags flags); - void fromImageReader(QImageReader *imageReader, - Qt::ImageConversionFlags flags); - bool fromFile(const QString &filename, const char *format, - Qt::ImageConversionFlags flags); - bool fromData(const uchar *buffer, uint len, const char *format, - Qt::ImageConversionFlags flags); - - void fill(const QColor &color); - bool hasAlphaChannel() const; - void setAlphaChannel(const QPixmap &alphaChannel); - QImage toImage() const; - void copy(const QPixmapData *data, const QRect &rect); - QImage *buffer(); - QPaintEngine* paintEngine() const; - - // Return the VGImage form of this pixmap, creating it if necessary. - // This assumes that there is a VG context current. - virtual VGImage toVGImage(); - - // Return the VGImage form for a specific opacity setting. - virtual VGImage toVGImage(qreal opacity); - - // Detach this image from the image pool. - virtual void detachImageFromPool(); - - // Release the VG resources associated with this pixmap and copy - // the pixmap's contents out of the GPU back into main memory. - // The VG resource will be automatically recreated the next time - // toVGImage() is called. Does nothing if the pixmap cannot be - // hibernated for some reason (e.g. VGImage is shared with another - // process via a SgImage). - virtual void hibernate(); - - // Called when the QVGImagePool wants to reclaim this pixmap's - // VGImage objects to reuse storage. - virtual void reclaimImages(); - - // If vgImage is valid but source is null, copies pixel data from GPU back - // into main memory and destroys vgImage. For a normal pixmap this function - // does nothing, however if the pixmap was created directly from a VGImage - // (e.g. via SgImage on Symbian) then by doing the readback this ensures - // that QImage-based functions can operate too. - virtual void ensureReadback(bool readOnly) const; - - QSize size() const { return QSize(w, h); } - -#if defined(Q_OS_SYMBIAN) - void* toNativeType(NativeType type); - void fromNativeType(void* pixmap, NativeType type); - bool initFromNativeImageHandle(void *handle, const QString &type); - void createFromNativeImageHandleProvider(); - void releaseNativeImageHandle(); -#endif - -protected: - int metric(QPaintDevice::PaintDeviceMetric metric) const; - void createPixmapForImage(QImage &image, Qt::ImageConversionFlags flags, bool inPlace); - -#if defined(Q_OS_SYMBIAN) - void cleanup(); -#endif - -private: - QVGPixmapData *nextLRU; - QVGPixmapData *prevLRU; - bool inLRU; - bool failedToAlloc; - friend class QVGImagePool; - friend class QVGPaintEngine; - -#if !defined(QT_NO_EGL) - QVGPixmapData *next; - QVGPixmapData *prev; - - friend void qt_vg_register_pixmap(QVGPixmapData *pd); - friend void qt_vg_unregister_pixmap(QVGPixmapData *pd); - friend void qt_vg_hibernate_pixmaps(QVGSharedContext *context); -#endif - -protected: - QSize prevSize; - VGImage vgImage; - VGImage vgImageOpacity; - qreal cachedOpacity; - mutable QVolatileImage source; - mutable bool recreate; - bool inImagePool; -#if !defined(QT_NO_EGL) - mutable QEglContext *context; -#endif - -#if defined(Q_OS_SYMBIAN) - mutable QNativeImageHandleProvider *nativeImageHandleProvider; - void *nativeImageHandle; - QString nativeImageType; -#endif - - void forceToImage(bool allowReadback = true); - QImage::Format sourceFormat() const; - QImage::Format idealFormat(QImage *image, Qt::ImageConversionFlags flags) const; - void updateSerial(); - - void destroyImageAndContext(); - void destroyImages(); -}; - -QT_END_NAMESPACE - -#endif |