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();
265 void pictureRotationChanged(
double newRotation );
279 QRectF boundedSVGRect(
double deviceWidth,
double deviceHeight );
281 QRectF boundedImageRect(
double deviceWidth,
double deviceHeight );
284 QSizeF pictureSize();
290 Format mMode = FormatUnknown;
292 QSize mDefaultSvgSize;
295 double mPictureRotation = 0;
297 QString mRotationMapUuid;
299 QPointer< QgsLayoutItemMap > mRotationMap;
304 double mNorthOffset = 0.0;
307 double mPictureWidth = 0.0;
309 double mPictureHeight = 0.0;
314 QColor mSvgFillColor = QColor( 255, 255, 255 );
315 QColor mSvgStrokeColor = QColor( 0, 0, 0 );
316 double mSvgStrokeWidth = 0.2;
318 bool mHasExpressionError =
false;
319 bool mLoaded =
false;
320 bool mLoadingSvg =
false;
323 void loadPicture(
const QString &path );
329 QRect clippedImageRect(
double &boundRectWidthMM,
double &boundRectHeightMM, QSize imageRectPixels );
334 void loadRemotePicture(
const QString &url );
339 void loadLocalPicture(
const QString &path );
345 void updateMapRotation();
350 friend class TestQgsCompositionConverter;
354 #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.
double pictureRotation() const
Returns the rotation used for drawing the picture within the item's frame, in degrees clockwise...
Stretches image to fit frame, ignores aspect ratio.
virtual bool writePropertiesToElement(QDomElement &element, QDomDocument &document, const QgsReadWriteContext &context) const
Stores item state within an XML DOM element.
A layout item subclass that displays SVG files or raster format images (jpg, png, ...
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...
double svgStrokeWidth() const
Returns the stroke width (in layout units) used for parametrized SVG files.
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.
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...
QColor svgStrokeColor() const
Returns the stroke color used for parametrized SVG files.
Upper left corner of item.
QgsLayoutItem::ReferencePoint pictureAnchor() const
Returns the picture's current anchor, which controls how it is placed within the picture item's frame...
Base class for layouts, which can contain items such as maps, labels, scalebars, etc.
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.
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 resizeMode() const
Returns the resize mode used for drawing the picture within the composer item's frame.
QColor svgFillColor() const
Returns the fill color used for parametrized SVG files.
ResizeMode
Controls how pictures are scaled within the item's frame.
virtual QSizeF applyItemSizeConstraint(QSizeF targetSize)
Applies any item-specific size constraint handling to a given targetSize in layout units...
Draws image at original size and clips any portion which falls outside frame.
Format mode() const
Returns the current picture mode (image format).
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.
double northOffset() const
Returns the offset added to the picture's rotation from a map's North.