QGIS/python/core/auto_generated/qgsimagecache.sip.in
Nyall Dawson 3f6b490218 Sipify
2025-04-02 11:11:10 +10:00

183 lines
7.1 KiB
Plaintext

/************************************************************************
* This file has been generated automatically from *
* *
* src/core/qgsimagecache.h *
* *
* Do not edit manually ! Edit header and run scripts/sipify.py again *
************************************************************************/
class QgsImageCache : QgsAbstractContentCacheBase
{
%Docstring(signature="appended")
A cache for images derived from raster files.
:py:class:`QgsImageCache` stores pre-rendered resampled versions of
raster image files, allowing efficient reuse without incurring the cost
of resampling on every render.
:py:class:`QgsImageCache` is not usually directly created, but rather
accessed through :py:func:`QgsApplication.imageCache()`.
.. versionadded:: 3.6
%End
%TypeHeaderCode
#include "qgsimagecache.h"
%End
public:
QgsImageCache( QObject *parent /TransferThis/ = 0 );
%Docstring
Constructor for QgsImageCache, with the specified ``parent`` object.
%End
~QgsImageCache();
long maximumSize() const;
%Docstring
Returns the maximum size of the cache, in bytes.
.. versionadded:: 3.26
%End
QImage pathAsImage( const QString &path, const QSize size, const bool keepAspectRatio, const double opacity, bool &fitsInCache /Out/, bool blocking = false, double targetDpi = 96, int frameNumber = -1 );
%Docstring
Returns the specified ``path`` rendered as an image. If possible, a
pre-existing cached version of the image will be used. If not, the image
is fetched and resampled to the desired size, and then the result cached
for subsequent lookups.
:param path: may be a local file, remote (HTTP) url, or a base 64
encoded string (with a "base64:" prefix).
:param size: dictates the target size of the image. An invalid size
indicates the original raster image size (with no
resampling). A size in which the width or height is set to
zero will have the zeroed value automatically computed when
keepAspectRatio is ``True``.
:param keepAspectRatio: if ``True`` then the original raster aspect
ratio will be maintained during any resampling
operations.
:param opacity: dictates the opacity of the image (between 0 and 1).
:param blocking: if ``True``, forces to wait for loading before
returning image. The content is loaded in the same
thread to ensure provided the image. WARNING: the
``blocking`` parameter must NEVER be ``True`` from GUI
based applications (like the main QGIS application) or
crashes will result. Only for use in external scripts
or QGIS server.
:param targetDpi: (since QGIS 3.22) can be used to specify an explicit
DPI to render the image at. This is used for some
image formats (e.g. PDF) to ensure that content is
rendered at the desired DPI. This argument is only
used when an invalid ``size`` argument is specified.
If a valid ``size`` is specified then the image will
always be rendered at this size, regardless of the
``targetDpi``.
:param frameNumber: (since QGIS 3.26) specifies a frame number for image
formats which support animations. This should be set
to -1 if not required.
:return: - rendered image
- fitsInCache: ``True`` if the resultant raster was of a
sufficiently small size to store in the cache
%End
QSize originalSize( const QString &path, bool blocking = false ) const;
%Docstring
Returns the original size (in pixels) of the image at the specified
``path``.
``path`` may be a local file, remote (HTTP) url, or a base 64 encoded
string (with a "base64:" prefix).
If ``path`` is a remote file, then an invalid size may be returned while
the image is in the process of being fetched.
The ``blocking`` boolean forces to wait for loading before returning the
original size. The content is loaded in the same thread to ensure
provided the original size. WARNING: the ``blocking`` parameter must
NEVER be ``True`` from GUI based applications (like the main QGIS
application) or crashes will result. Only for use in external scripts or
QGIS server.
If the image could not be read then an invalid QSize is returned.
%End
int totalFrameCount( const QString &path, bool blocking = false );
%Docstring
Returns the total frame count of the image at the specified ``path``.
``path`` may be a local file, remote (HTTP) url, or a base 64 encoded
string (with a "base64:" prefix).
If ``path`` is a remote file, then -1 may be returned while the image is
in the process of being fetched.
The ``blocking`` boolean forces to wait for loading before returning the
frame count. The content is loaded in the same thread to ensure provided
the original size. WARNING: the ``blocking`` parameter must NEVER be
``True`` from GUI based applications (like the main QGIS application) or
crashes will result. Only for use in external scripts or QGIS server.
If the image could not be read or is not an animated format then -1 is
returned
.. versionadded:: 3.26
%End
int nextFrameDelay( const QString &path, int currentFrame = 0, bool blocking = false );
%Docstring
For image formats that support animation, this function returns the
number of milliseconds to wait until displaying the next frame in the
animation. If the image format doesn't support animation, 0 is returned.
``path`` may be a local file, remote (HTTP) url, or a base 64 encoded
string (with a "base64:" prefix).
If ``path`` is a remote file, then -1 may be returned while the image is
in the process of being fetched.
The ``blocking`` boolean forces to wait for loading before returning the
frame delay. The content is loaded in the same thread to ensure provided
the original size. WARNING: the ``blocking`` parameter must NEVER be
``True`` from GUI based applications (like the main QGIS application) or
crashes will result. Only for use in external scripts or QGIS server.
If the image could not be read or is not an animated format then -1 is
returned.
.. versionadded:: 3.26
%End
void prepareAnimation( const QString &path );
%Docstring
Prepares for optimized retrieval of frames for the animation at the
given ``path``.
.. versionadded:: 3.26
%End
signals:
void remoteImageFetched( const QString &url );
%Docstring
Emitted when the cache has finished retrieving an image file from a
remote ``url``.
%End
};
/************************************************************************
* This file has been generated automatically from *
* *
* src/core/qgsimagecache.h *
* *
* Do not edit manually ! Edit header and run scripts/sipify.py again *
************************************************************************/