/************************************************************************ * 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 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 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 operator|(QgsRenderChecker::Flag f1, QFlags 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 * ************************************************************************/