17#ifndef QGSLAYOUTITEMPICTURE_H 
   18#define QGSLAYOUTITEMPICTURE_H 
   24#include <QSvgRenderer> 
   73    int type() 
const override;
 
   74    QIcon 
icon() 
const override;
 
   93    void setPicturePath( 
const QString &path, Format format = FormatUnknown );
 
  102    QString picturePath() 
const;
 
  137    NorthMode northMode() 
const;
 
  144    void setNorthMode( NorthMode mode );
 
  151    double northOffset() 
const;
 
  158    void setNorthOffset( 
double offset );
 
  195    void setSvgFillColor( 
const QColor &color );
 
  212    void setSvgStrokeColor( 
const QColor &color );
 
  228    void setSvgStrokeWidth( 
double width );
 
  250    void setMode( Format mode );
 
  260    bool isMissingImage() 
const;
 
  269    QString evaluatedPath() 
const;
 
  275    QMap<QString, QgsProperty> svgDynamicParameters() 
const;
 
  281    void setSvgDynamicParameters( 
const QMap<QString, QgsProperty> ¶meters );
 
  290    void setPictureRotation( 
double rotation );
 
  309    void recalculateSize();
 
  329    QRectF boundedSVGRect( 
double deviceWidth, 
double deviceHeight );
 
  331    QRectF boundedImageRect( 
double deviceWidth, 
double deviceHeight );
 
  334    QSizeF pictureSize();
 
  340    Format mMode = FormatUnknown;
 
  341    Format mOriginalMode = FormatUnknown;
 
  343    QSize mDefaultSvgSize;
 
  346    double mPictureRotation = 0;
 
  348    QString mRotationMapUuid;
 
  351    double mPictureWidth = 0.0;
 
  353    double mPictureHeight = 0.0;
 
  358    QColor mSvgFillColor = QColor( 255, 255, 255 );
 
  359    QColor mSvgStrokeColor = QColor( 0, 0, 0 );
 
  360    double mSvgStrokeWidth = 0.2;
 
  362    bool mHasExpressionError = 
false;
 
  363    bool mLoaded = 
false;
 
  364    bool mLoadingSvg = 
false;
 
  365    bool mIsMissingImage = 
false;
 
  366    QString mEvaluatedPath;
 
  371    void loadPicture( 
const QVariant &data );
 
  377    QRect clippedImageRect( 
double &boundRectWidthMM, 
double &boundRectHeightMM, QSize imageRectPixels );
 
  382    void loadRemotePicture( 
const QString &url );
 
  387    void loadLocalPicture( 
const QString &path );
 
  389    void loadPictureUsingCache( 
const QString &path );
 
  396    void updateNorthArrowRotation( 
double rotation );
 
  401    friend class TestQgsCompositionConverter;
 
 
QgsCompositionConverter class converts a QGIS 2.x composition to a QGIS 3.x layout.
 
Expression contexts are used to encapsulate the parameters around which a QgsExpression should be eva...
 
Class for parsing and evaluation of expressions (formerly called "search strings").
 
Layout graphical items for displaying a map.
 
A layout item subclass that displays SVG files or raster format images (jpg, png, ....
 
double pictureRotation() const
Returns the rotation used for drawing the picture within the item's frame, in degrees clockwise.
 
QColor svgStrokeColor() const
Returns the stroke color used for parametrized SVG files.
 
QgsLayoutItem::ReferencePoint pictureAnchor() const
Returns the picture's current anchor, which controls how it is placed within the picture item's frame...
 
double svgStrokeWidth() const
Returns the stroke width (in layout units) used for parametrized SVG files.
 
void pictureRotationChanged(double newRotation)
Emitted on picture rotation change.
 
ResizeMode resizeMode() const
Returns the resize mode used for drawing the picture within the layout item's frame.
 
Format originalMode() const
Returns the original set picture mode (image format).
 
NorthMode
Method for syncing rotation to a map's North direction.
 
@ TrueNorth
Align to true north.
 
Format mode() const
Returns the current picture mode (image format), FormatUnknown if given picture format is unknown.
 
QColor svgFillColor() const
Returns the fill color used for parametrized SVG files.
 
ResizeMode
Controls how pictures are scaled within the item's frame.
 
@ ZoomResizeFrame
Enlarges image to fit frame, then resizes frame to fit resultant image.
 
@ Clip
Draws image at original size and clips any portion which falls outside frame.
 
@ Stretch
Stretches image to fit frame, ignores aspect ratio.
 
@ Zoom
Enlarges image to fit frame while maintaining aspect ratio of picture.
 
Format
Format of source image.
 
@ FormatRaster
Raster image.
 
@ FormatUnknown
Invalid or unknown image type.
 
Contains settings and helpers relating to a render of a QgsLayoutItem.
 
Base class for graphical items within a QgsLayout.
 
virtual void refreshDataDefinedProperty(QgsLayoutObject::DataDefinedProperty property=QgsLayoutObject::DataDefinedProperty::AllProperties)
Refreshes a data defined property for the item by reevaluating the property's value and redrawing the...
 
virtual QIcon icon() const
Returns the item's icon.
 
ReferencePoint
Fixed position reference point.
 
@ UpperLeft
Upper left corner of item.
 
virtual bool writePropertiesToElement(QDomElement &element, QDomDocument &document, const QgsReadWriteContext &context) const
Stores item state within an XML DOM element.
 
virtual void finalizeRestoreFromXml()
Called after all pending items have been restored from XML.
 
int type() const override
Returns a unique graphics item type identifier.
 
virtual QSizeF applyItemSizeConstraint(QSizeF targetSize)
Applies any item-specific size constraint handling to a given targetSize in layout units.
 
virtual bool readPropertiesFromElement(const QDomElement &element, const QDomDocument &document, const QgsReadWriteContext &context)
Sets item state from a DOM element.
 
virtual void draw(QgsLayoutItemRenderContext &context)=0
Draws the item's contents using the specified item render context.
 
An object which handles north-arrow type behavior for layout items.
 
DataDefinedProperty
Data defined properties for different item types.
 
@ AllProperties
All properties for item.
 
Base class for layouts, which can contain items such as maps, labels, scalebars, etc.
 
The class is used as a container of context for various read/write operations on other objects.