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

320 lines
9.3 KiB
Plaintext

/************************************************************************
* This file has been generated automatically from *
* *
* src/core/qgsrenderchecker.h *
* *
* Do not edit manually ! Edit header and run scripts/sipify.py again *
************************************************************************/
class QgsRenderChecker
{
%Docstring(signature="appended")
Helper class for unit tests that need to write an image and compare it
to an expected result or render time.
%End
%TypeHeaderCode
#include "qgsrenderchecker.h"
%End
public:
static const QMetaObject staticMetaObject;
public:
QgsRenderChecker();
%Docstring
Constructor for QgsRenderChecker.
%End
static QDir testReportDir();
%Docstring
Returns the directory to use for generating a test report.
.. versionadded:: 3.28
%End
static bool shouldGenerateReport();
%Docstring
Returns ``True`` if a test report should be generated given the current
environment.
.. versionadded:: 3.28
%End
QString controlImagePath() const;
%Docstring
Returns the base path containing the reference images.
This defaults to an internal QGIS test data path, but can be changed via
:py:func:`~QgsRenderChecker.setControlImagePath`.
.. seealso:: :py:func:`setControlImagePath`
%End
void setControlImagePath( const QString &path );
%Docstring
Sets the base ``path`` containing the reference images.
.. seealso:: :py:func:`controlImagePath`
.. versionadded:: 3.18
%End
QString report( bool ignoreSuccess = true ) const;
%Docstring
Returns the HTML report describing the results of the test run.
If ``ignoreSuccess`` is ``True`` then the report will always be empty if
the test was successful.
.. seealso:: :py:func:`markdownReport`
%End
QString markdownReport( bool ignoreSuccess = true ) const;
%Docstring
Returns the markdown report describing the results of the test run.
If ``ignoreSuccess`` is ``True`` then the report will always be empty if
the test was successful.
.. seealso:: :py:func:`report`
.. versionadded:: 3.34
%End
float matchPercent() const;
%Docstring
Returns the percent of pixels which matched the control image.
%End
unsigned int mismatchCount() const;
%Docstring
Returns the number of pixels which did not match the control image.
%End
unsigned int matchTarget() const;
%Docstring
Returns the total number of pixels in the control image.
%End
int elapsedTime() const;
%Docstring
Returns the total elapsed time for the rendering test.
.. note::
This only records time for actual render part.
%End
void setElapsedTimeTarget( int target );
void setControlName( const QString &name );
%Docstring
Sets the base directory ``name`` for the control image (with control
image path suffixed).
The path to the image will be constructed like this:
:py:func:`~QgsRenderChecker.controlImagePath` + '/' + control name + '/'
+ control name + '.' + extension ('png' by default)
%End
void setControlExtension( const QString &extension );
%Docstring
Sets file extension for the control image. By default it is "png"
.. versionadded:: 3.20
%End
void setControlPathPrefix( const QString &name );
%Docstring
Sets the path prefix where the control images are kept. This will be
appended to :py:func:`~QgsRenderChecker.controlImagePath`.
%End
void setControlPathSuffix( const QString &name );
QString imageToHash( const QString &imageFile );
%Docstring
Gets an md5 hash that uniquely identifies an image
%End
void setRenderedImage( const QString &imageFileName );
%Docstring
Sets the file name of the rendered image generated by the test.
%End
void setExpectFail( bool expectFail );
%Docstring
Sets whether the comparison is expected to fail.
.. versionadded:: 3.28
%End
QString renderedImage() const;
%Docstring
Returns the path of the rendered image generated by the test.
This method will return either the path set with
:py:func:`~QgsRenderChecker.setRenderedImage` or generated in
:py:func:`~QgsRenderChecker.runTest`.
%End
void setMapSettings( const QgsMapSettings &mapSettings );
void setColorTolerance( unsigned int colorTolerance );
%Docstring
Set tolerance for color components used by
:py:func:`~QgsRenderChecker.runTest` and
:py:func:`~QgsRenderChecker.compareImages`. Default value is 0.
:param colorTolerance: is maximum difference for each color component
including alpha to be considered correct.
%End
void setSizeTolerance( int xTolerance, int yTolerance );
%Docstring
Sets the largest allowable difference in size between the rendered and
the expected image.
:param xTolerance: x tolerance in pixels
:param yTolerance: y tolerance in pixels
%End
enum class Flag
{
AvoidExportingRenderedImage,
Silent,
};
typedef QFlags<QgsRenderChecker::Flag> Flags;
bool runTest( const QString &testName, unsigned int mismatchCount = 0, QgsRenderChecker::Flags flags = QgsRenderChecker::Flags() );
%Docstring
Test using renderer to generate the image to be compared.
:param testName: to be used as the basis for writing a file to e.g.
/tmp/theTestName.png
:param mismatchCount: defaults to 0. The number of pixels that are
allowed to be different from the control image. In
some cases rendering may be non-deterministic.
This parameter allows you to account for that by
providing a tolerance.
:param flags: render checker flags
.. note::
Make sure to call setExpectedImage and setMapRenderer first
%End
bool compareImages( const QString &testName, unsigned int mismatchCount = 0, const QString &renderedImageFile = QString(), QgsRenderChecker::Flags flags = QgsRenderChecker::Flags() );
%Docstring
Test using two arbitrary images (map renderer will not be used)
:param testName: to be used as the basis for writing a file to e.g.
/tmp/theTestName.png
:param mismatchCount: defaults to 0. The number of pixels that are
allowed to be different from the control image. In
some cases rendering may be non-deterministic.
This parameter allows you to account for that by
providing a tolerance.
:param renderedImageFile: to optionally override the output filename
:param flags: render checker flags
.. note::
Make sure to call setExpectedImage and setRenderedImage first.
%End
bool compareImages( const QString &testName, const QString &referenceImageFile, const QString &renderedImageFile, unsigned int mismatchCount = 0, QgsRenderChecker::Flags flags = QgsRenderChecker::Flags() );
%Docstring
Test using two arbitrary images at the specified paths for equality.
.. versionadded:: 3.18
%End
bool isKnownAnomaly( const QString &diffImageFile ) /Deprecated="Since 3.40. Use the test mask system instead."/;
%Docstring
Gets a list of all the anomalies. An anomaly is a rendered difference
file where there is some red pixel content (indicating a render check
mismatch), but where the output was still acceptable. If the render diff
matches one of these anomalies we will still consider it to be
acceptable.
:return: a bool indicating if the diff matched one of the anomaly files
.. deprecated:: 3.40
Use the test mask system instead.
%End
static void drawBackground( QImage *image );
%Docstring
Draws a checkboard pattern for image backgrounds, so that opacity is
visible without requiring a transparent background for the image
%End
QString expectedImageFile() const;
%Docstring
Returns the path to the expected image file
:return: Path to the expected image file
%End
void enableDashBuffering( bool enable );
%Docstring
Call this to enable internal buffering of dash messages. You may later
call :py:func:`~QgsRenderChecker.dashMessages` to get access to the
buffered messages. If disabled (default) dash messages will be sent
immediately.
:param enable: Enable or disable buffering
%End
QVector<QgsDartMeasurement> dartMeasurements() const;
%Docstring
Gets access to buffered dash messages. Only will return something if you
call enableDashBuffering( ``True`` ); before.
:return: buffered dash messages
%End
static QString sourcePath();
%Docstring
Returns the path to the QGIS source code.
.. versionadded:: 3.36
%End
protected:
};
QFlags<QgsRenderChecker::Flag> operator|(QgsRenderChecker::Flag f1, QFlags<QgsRenderChecker::Flag> f2);
bool compareWkt( const QString &a, const QString &b, double tolerance = 0.000001 );
%Docstring
Compare two WKT strings with some tolerance
:param a: first WKT string
:param b: second WKT string
:param tolerance: tolerance to use (optional, defaults to 0.000001)
:return: bool indicating if the WKT are sufficiently equal
%End
/************************************************************************
* This file has been generated automatically from *
* *
* src/core/qgsrenderchecker.h *
* *
* Do not edit manually ! Edit header and run scripts/sipify.py again *
************************************************************************/