From b855240b782395f94315f43ea3e7e182299fac48 Mon Sep 17 00:00:00 2001 From: Matthew Vogt Date: Thu, 16 Feb 2012 14:43:03 +1000 Subject: Rename QDeclarative symbols to QQuick and QQml Symbols beginning with QDeclarative are already exported by the quick1 module. Users can apply the bin/rename-qtdeclarative-symbols.sh script to modify client code using the previous names of the renamed symbols. Task-number: QTBUG-23737 Change-Id: Ifaa482663767634931e8711a8e9bf6e404859e66 Reviewed-by: Martin Jones --- src/declarative/qml/qdeclarativeimageprovider.cpp | 334 ---------------------- 1 file changed, 334 deletions(-) delete mode 100644 src/declarative/qml/qdeclarativeimageprovider.cpp (limited to 'src/declarative/qml/qdeclarativeimageprovider.cpp') diff --git a/src/declarative/qml/qdeclarativeimageprovider.cpp b/src/declarative/qml/qdeclarativeimageprovider.cpp deleted file mode 100644 index f2749fff30..0000000000 --- a/src/declarative/qml/qdeclarativeimageprovider.cpp +++ /dev/null @@ -1,334 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies). -** Contact: http://www.qt-project.org/ -** -** This file is part of the QtDeclarative 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$ -** -****************************************************************************/ - -#include "qdeclarativeimageprovider.h" - -QT_BEGIN_NAMESPACE - -class QDeclarativeImageProviderPrivate -{ -public: - QDeclarativeImageProvider::ImageType type; -}; - -/*! - \class QDeclarativeTextureFactory - \since 5.0 - \brief The QDeclarativeTextureFactory class provides an interface for loading custom textures from QML. - - The purpose of the texture factory is to provide a placeholder for a image - data that can be converted into an OpenGL texture. - - Creating a texture directly is not possible as there is rarely an OpenGL context - available in the thread that is responsible for loading the image data. - */ - -QDeclarativeTextureFactory::QDeclarativeTextureFactory() -{ -} - -QDeclarativeTextureFactory::~QDeclarativeTextureFactory() -{ -} - - - -/*! - \fn QSGTexture *QDeclarativeTextureFactory::createTexture() const - - This function is called on the scene graph rendering thread to create a QSGTexture - instance from the factory. - - QML will internally cache the returned texture as needed. Each call to this - function should return a unique instance. - - The OpenGL context used for rendering is bound when this function is called. - */ - -/*! - \fn QSize QDeclarativeTextureFactory::textureSize() const - - Returns the size of the texture. This function will be called from arbitrary threads - and should not rely on an OpenGL context bound. - */ - - -/*! - \class QDeclarativeImageProvider - \since 4.7 - \brief The QDeclarativeImageProvider class provides an interface for supporting pixmaps and threaded image requests in QML. - - QDeclarativeImageProvider is used to provide advanced image loading features - in QML applications. It allows images in QML to be: - - \list - \o Loaded using QPixmaps rather than actual image files - \o Loaded asynchronously in a separate thread, if imageType() is \l{QDeclarativeImageProvider::ImageType}{ImageType::Image} - \endlist - - To specify that an image should be loaded by an image provider, use the - \bold {"image:"} scheme for the URL source of the image, followed by the - identifiers of the image provider and the requested image. For example: - - \qml - Image { source: "image://myimageprovider/image.png" } - \endqml - - This specifies that the image should be loaded by the image provider named - "myimageprovider", and the image to be loaded is named "image.png". The QML engine - invokes the appropriate image provider according to the providers that have - been registered through QDeclarativeEngine::addImageProvider(). - - Note that the identifiers are case-insensitive, but the rest of the URL will be passed on with - preserved case. For example, the below snippet would still specify that the image is loaded by the - image provider named "myimageprovider", but it would request a different image than the above snippet - ("Image.png" instead of "image.png"). - \qml - Image { source: "image://MyImageProvider/Image.png" } - \endqml - - If you want the rest of the URL to be case insensitive, you will have to take care - of that yourself inside your image provider. - - \section2 An example - - Here are two images. Their \c source values indicate they should be loaded by - an image provider named "colors", and the images to be loaded are "yellow" - and "red", respectively: - - \snippet examples/declarative/cppextensions/imageprovider/imageprovider-example.qml 0 - - When these images are loaded by QML, it looks for a matching image provider - and calls its requestImage() or requestPixmap() method (depending on its - imageType()) to load the image. The method is called with the \c id - parameter set to "yellow" for the first image, and "red" for the second. - - Here is an image provider implementation that can load the images - requested by the above QML. This implementation dynamically - generates QPixmap images that are filled with the requested color: - - \snippet examples/declarative/cppextensions/imageprovider/imageprovider.cpp 0 - \codeline - \snippet examples/declarative/cppextensions/imageprovider/imageprovider.cpp 1 - - To make this provider accessible to QML, it is registered with the QML engine - with a "colors" identifier: - - \code - int main(int argc, char *argv[]) - { - ... - - QDeclarativeEngine engine; - engine->addImageProvider(QLatin1String("colors"), new ColorPixmapProvider); - - ... - } - \endcode - - Now the images can be successfully loaded in QML: - - \image imageprovider.png - - A complete example is available in Qt's - \l {declarative/cppextensions/imageprovider}{examples/declarative/cppextensions/imageprovider} - directory. Note the example registers the provider via a \l{QDeclarativeExtensionPlugin}{plugin} - instead of registering it in the application \c main() function as shown above. - - - \section2 Asynchronous image loading - - Image providers that support QImage loading automatically include support - for asychronous loading of images. To enable asynchronous loading for an - image source, set the \c asynchronous property to \c true for the relevant - \l Image, \l BorderImage or \l AnimatedImage object. When this is enabled, - the image request to the provider is run in a low priority thread, - allowing image loading to be executed in the background, and reducing the - performance impact on the user interface. - - Asynchronous loading is not supported for image providers that provide - QPixmap rather than QImage values, as pixmaps can only be created in the - main thread. In this case, if \l {Image::}{asynchronous} is set to - \c true, the value is ignored and the image is loaded - synchronously. - - - \section2 Image caching - - Images returned by a QDeclarativeImageProvider are automatically cached, - similar to any image loaded by the QML engine. When an image with a - "image://" prefix is loaded from cache, requestImage() and requestPixmap() - will not be called for the relevant image provider. If an image should always - be fetched from the image provider, and should not be cached at all, set the - \c cache property to \c false for the relevant \l Image, \l BorderImage or - \l AnimatedImage object. - - \sa QDeclarativeEngine::addImageProvider() -*/ - -/*! - \enum QDeclarativeImageProvider::ImageType - - Defines the type of image supported by this image provider. - - \value Image The Image Provider provides QImage images. The - requestImage() method will be called for all image requests. - \value Pixmap The Image Provider provides QPixmap images. The - requestPixmap() method will be called for all image requests. - \value Texture The Image Provider provides QSGTextureProvider based images. - The requestTexture() method will be called for all image requests. \omitvalue -*/ - -/*! - Creates an image provider that will provide images of the given \a type. -*/ -QDeclarativeImageProvider::QDeclarativeImageProvider(ImageType type) - : d(new QDeclarativeImageProviderPrivate) -{ - d->type = type; -} - -/*! - Destroys the QDeclarativeImageProvider - - \note The destructor of your derived class need to be thread safe. -*/ -QDeclarativeImageProvider::~QDeclarativeImageProvider() -{ - delete d; -} - -/*! - Returns the image type supported by this provider. -*/ -QDeclarativeImageProvider::ImageType QDeclarativeImageProvider::imageType() const -{ - return d->type; -} - -/*! - Implement this method to return the image with \a id. The default - implementation returns an empty image. - - The \a id is the requested image source, with the "image:" scheme and - provider identifier removed. For example, if the image \l{Image::}{source} - was "image://myprovider/icons/home", the given \a id would be "icons/home". - - The \a requestedSize corresponds to the \l {Image::sourceSize} requested by - an Image element. If \a requestedSize is a valid size, the image - returned should be of that size. - - In all cases, \a size must be set to the original size of the image. This - is used to set the \l {Item::}{width} and \l {Item::}{height} of the - relevant \l Image if these values have not been set explicitly. - - \note this method may be called by multiple threads, so ensure the - implementation of this method is reentrant. -*/ -QImage QDeclarativeImageProvider::requestImage(const QString &id, QSize *size, const QSize& requestedSize) -{ - Q_UNUSED(id); - Q_UNUSED(size); - Q_UNUSED(requestedSize); - if (d->type == Image) - qWarning("ImageProvider supports Image type but has not implemented requestImage()"); - return QImage(); -} - -/*! - Implement this method to return the pixmap with \a id. The default - implementation returns an empty pixmap. - - The \a id is the requested image source, with the "image:" scheme and - provider identifier removed. For example, if the image \l{Image::}{source} - was "image://myprovider/icons/home", the given \a id would be "icons/home". - - The \a requestedSize corresponds to the \l {Image::sourceSize} requested by - an Image element. If \a requestedSize is a valid size, the image - returned should be of that size. - - In all cases, \a size must be set to the original size of the image. This - is used to set the \l {Item::}{width} and \l {Item::}{height} of the - relevant \l Image if these values have not been set explicitly. -*/ -QPixmap QDeclarativeImageProvider::requestPixmap(const QString &id, QSize *size, const QSize& requestedSize) -{ - Q_UNUSED(id); - Q_UNUSED(size); - Q_UNUSED(requestedSize); - if (d->type == Pixmap) - qWarning("ImageProvider supports Pixmap type but has not implemented requestPixmap()"); - return QPixmap(); -} - - -/*! - Implement this method to return the texture with \a id. The default - implementation returns 0. - - The \a id is the requested image source, with the "image:" scheme and - provider identifier removed. For example, if the image \l{Image::}{source} - was "image://myprovider/icons/home", the given \a id would be "icons/home". - - The \a requestedSize corresponds to the \l {Image::sourceSize} requested by - an Image element. If \a requestedSize is a valid size, the image - returned should be of that size. - - In all cases, \a size must be set to the original size of the image. This - is used to set the \l {Item::}{width} and \l {Item::}{height} of the - relevant \l Image if these values have not been set explicitly. - - \note this method may be called by multiple threads, so ensure the - implementation of this method is reentrant. -*/ - -QDeclarativeTextureFactory *QDeclarativeImageProvider::requestTexture(const QString &id, QSize *size, const QSize &requestedSize) -{ - Q_UNUSED(id); - Q_UNUSED(size); - Q_UNUSED(requestedSize); - if (d->type == Texture) - qWarning("ImageProvider supports Texture type but has not implemented requestTexture()"); - return 0; -} - -QT_END_NAMESPACE - -- cgit v1.2.3