17 #ifndef QGSLAYOUTITEMPICTURE_H 18 #define QGSLAYOUTITEMPICTURE_H 20 #include "qgis_core.h" 24 #include <QSvgRenderer> 73 int type()
const override;
74 QIcon
icon()
const override;
90 void setPicturePath(
const QString &path );
98 QString picturePath()
const;
154 void setNorthOffset(
double offset );
191 void setSvgFillColor(
const QColor &color );
208 void setSvgStrokeColor(
const QColor &color );
224 void setSvgStrokeWidth(
double width );
240 void setPictureRotation(
double rotation );
259 void recalculateSize();
266 void pictureRotationChanged(
double newRotation );
280 QRectF boundedSVGRect(
double deviceWidth,
double deviceHeight );
282 QRectF boundedImageRect(
double deviceWidth,
double deviceHeight );
285 QSizeF pictureSize();
291 Format mMode = FormatUnknown;
293 QSize mDefaultSvgSize;
296 double mPictureRotation = 0;
298 QString mRotationMapUuid;
300 QPointer< QgsLayoutItemMap > mRotationMap;
305 double mNorthOffset = 0.0;
308 double mPictureWidth = 0.0;
310 double mPictureHeight = 0.0;
315 QColor mSvgFillColor = QColor( 255, 255, 255 );
316 QColor mSvgStrokeColor = QColor( 0, 0, 0 );
317 double mSvgStrokeWidth = 0.2;
319 bool mHasExpressionError =
false;
320 bool mLoaded =
false;
321 bool mLoadingSvg =
false;
324 void loadPicture(
const QString &path );
330 QRect clippedImageRect(
double &boundRectWidthMM,
double &boundRectHeightMM, QSize imageRectPixels );
335 void loadRemotePicture(
const QString &url );
340 void loadLocalPicture(
const QString &path );
346 void updateMapRotation();
351 friend class TestQgsCompositionConverter;
355 #endif // QGSLAYOUTITEMPICTURE_H Class for parsing and evaluation of expressions (formerly called "search strings").
The class is used as a container of context for various read/write operations on other objects...
virtual QIcon icon() const
Returns the item's icon.
Base class for graphical items within a QgsLayout.
int type() const override
Returns a unique graphics item type identifier.
virtual bool containsAdvancedEffects() const
Returns true if the item contains contents with blend modes or transparency effects which can only be...
double northOffset() const
Returns the offset added to the picture's rotation from a map's North.
Stretches image to fit frame, ignores aspect ratio.
QColor svgStrokeColor() const
Returns the stroke color used for parametrized SVG files.
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...
Format mode() const
Returns the current picture mode (image format).
virtual void refreshDataDefinedProperty(QgsLayoutObject::DataDefinedProperty property=QgsLayoutObject::AllProperties)
Refreshes a data defined property for the item by reevaluating the property's value and redrawing the...
NorthMode northMode() const
Returns the mode used to align the picture to a map's North.
ReferencePoint
Fixed position reference point.
Invalid or unknown image type.
QgsLayoutItem::ReferencePoint pictureAnchor() const
Returns the picture's current anchor, which controls how it is placed within the picture item's frame...
Layout graphical items for displaying a map.
virtual bool readPropertiesFromElement(const QDomElement &element, const QDomDocument &document, const QgsReadWriteContext &context)
Sets item state from a DOM element.
Expression contexts are used to encapsulate the parameters around which a QgsExpression should be eva...
double svgStrokeWidth() const
Returns the stroke width (in layout units) used for parametrized SVG files.
Upper left corner of item.
Base class for layouts, which can contain items such as maps, labels, scalebars, etc.
QColor svgFillColor() const
Returns the fill color used for parametrized SVG files.
ResizeMode resizeMode() const
Returns the resize mode used for drawing the picture within the composer item's frame.
Contains settings and helpers relating to a render of a QgsLayoutItem.
virtual void finalizeRestoreFromXml()
Called after all pending items have been restored from XML.
Enlarges image to fit frame, then resizes frame to fit resultant image.
virtual QSizeF applyItemSizeConstraint(const QSizeF &targetSize)
Applies any item-specific size constraint handling to a given targetSize in layout units...
QgsCompositionConverter class converts a QGIS 2.x composition to a QGIS 3.x layout.
NorthMode
Method for syncing rotation to a map's North direction.
Format
Format of source image.
ResizeMode
Controls how pictures are scaled within the item's frame.
virtual bool writePropertiesToElement(QDomElement &element, QDomDocument &document, const QgsReadWriteContext &context) const
Stores item state within an XML DOM element.
Draws image at original size and clips any portion which falls outside frame.
virtual void draw(QgsLayoutItemRenderContext &context)=0
Draws the item's contents using the specified item render context.
Enlarges image to fit frame while maintaining aspect ratio of picture.
DataDefinedProperty
Data defined properties for different item types.