mirror of
				https://github.com/qgis/QGIS.git
				synced 2025-10-31 00:06:02 -04:00 
			
		
		
		
	
		
			
				
	
	
		
			320 lines
		
	
	
		
			9.3 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			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 /BaseType=IntFlag/
 | |
|     {
 | |
|       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   *
 | |
|  ************************************************************************/
 |