QGIS API Documentation
2.4.0-Chugiak
|
A composer class that displays svg files or raster format (jpg, png, ...) More...
#include <qgscomposerpicture.h>
Public Types | |
enum | ResizeMode { Zoom, Stretch, Clip, ZoomResizeFrame, FrameToImageSize } |
enum | Mode { SVG, RASTER, Unknown } |
Public Types inherited from QgsComposerItem | |
enum | ItemType { ComposerItem = UserType + 100, ComposerArrow, ComposerItemGroup, ComposerLabel, ComposerLegend, ComposerMap, ComposerPaper, ComposerPicture, ComposerScaleBar, ComposerShape, ComposerTable, ComposerAttributeTable, ComposerTextTable, ComposerFrame } |
enum | MouseMoveAction { MoveItem, ResizeUp, ResizeDown, ResizeLeft, ResizeRight, ResizeLeftUp, ResizeRightUp, ResizeLeftDown, ResizeRightDown, NoAction } |
Describes the action (move or resize in different directon) to be done during mouse move. More... | |
enum | ItemPositionMode { UpperLeft, UpperMiddle, UpperRight, MiddleLeft, Middle, MiddleRight, LowerLeft, LowerMiddle, LowerRight } |
Public Slots | |
virtual void | setRotation (double r) |
Sets the picture rotation within the item bounds. More... | |
virtual void | setPictureRotation (double r) |
Sets the picture rotation within the item bounds. More... | |
virtual void | setResizeMode (ResizeMode mode) |
Sets the resize mode used for drawing the picture within the item bounds. More... | |
virtual void | setUsePictureExpression (bool useExpression) |
Sets whether the picture should use an expression based image source path. More... | |
virtual void | setPictureExpression (QString expression) |
Sets an expression to use for the picture source. More... | |
void | refreshPicture () |
Recalculates the source image (if using an expression for picture's source) and reloads and redraws the picture. More... | |
void | updatePictureExpression () |
Prepares the picture's source expression after it is altered or the compositions atlas coverage layer changes. More... | |
void | recalculateSize () |
Forces a recalculation of the picture's frame size. More... | |
Public Slots inherited from QgsComposerItem | |
virtual void | setRotation (double r) |
Sets the item rotation. More... | |
virtual void | setItemRotation (double r, bool adjustPosition=false) |
Sets the item rotation. More... | |
void | repaint () |
Signals | |
void | pictureRotationChanged (double newRotation) |
Is emitted on picture rotation change. More... | |
Signals inherited from QgsComposerItem | |
void | itemRotationChanged (double newRotation) |
Is emitted on item rotation change. More... | |
void | itemChanged () |
Used e.g. More... | |
void | sizeChanged () |
Emitted if the rectangle changes. More... | |
void | frameChanged () |
Emitted if the item's frame style changes. More... | |
Public Member Functions | |
QgsComposerPicture (QgsComposition *composition) | |
~QgsComposerPicture () | |
virtual int | type () const |
return correct graphics item type. More... | |
void | paint (QPainter *painter, const QStyleOptionGraphicsItem *itemStyle, QWidget *pWidget) |
Reimplementation of QCanvasItem::paint. More... | |
void | setPictureFile (const QString &path) |
Sets the source file of the image (may be svg or a raster format). More... | |
QString | pictureFile () const |
Returns the path of the source image file. More... | |
void | setSceneRect (const QRectF &rectangle) |
Sets this items bound in scene coordinates such that 1 item size units corresponds to 1 scene size unit and resizes the svg symbol / image. More... | |
bool | writeXML (QDomElement &elem, QDomDocument &doc) const |
stores state in Dom element More... | |
bool | readXML (const QDomElement &itemElem, const QDomDocument &doc) |
sets state from Dom document More... | |
Q_DECL_DEPRECATED double | rotation () const |
Returns the rotation used for drawing the picture within the composer item. More... | |
double | pictureRotation () const |
Returns the rotation used for drawing the picture within the item's frame. More... | |
void | setRotationMap (int composerMapId) |
Sets the map object for rotation (by id). More... | |
int | rotationMap () const |
Returns the id of the rotation map. More... | |
bool | useRotationMap () const |
True if the picture rotation is matched to a map item. More... | |
ResizeMode | resizeMode () const |
Returns the resize mode used for drawing the picture within the composer item's frame. More... | |
void | setPictureAnchor (QgsComposerItem::ItemPositionMode anchor) |
Sets the picture's anchor point, which controls how it is placed within the picture item's frame. More... | |
ItemPositionMode | pictureAnchor () const |
Returns the picture's current anchor, which controls how it is placed within the picture item's frame. More... | |
bool | usePictureExpression () const |
Returns whether the picture item is using an expression for the image source. More... | |
QString | pictureExpression () const |
Returns the expression the item is using for the picture source. More... | |
Q_DECL_DEPRECATED bool | imageSizeConsideringRotation (double &width, double &height) const |
Calculates width and hight of the picture (in mm) such that it fits into the item frame with the given rotation. More... | |
Q_DECL_DEPRECATED bool | cornerPointOnRotatedAndScaledRect (double &x, double &y, double width, double height) const |
Calculates corner point after rotation and scaling. More... | |
Q_DECL_DEPRECATED void | sizeChangedByRotation (double &width, double &height) |
Calculates width / height of the bounding box of a rotated rectangle. More... | |
Mode | mode () const |
Returns the current picture mode (image format). More... | |
Public Member Functions inherited from QgsComposerItem | |
QgsComposerItem (QgsComposition *composition, bool manageZValue=true) | |
Constructor. More... | |
QgsComposerItem (qreal x, qreal y, qreal width, qreal height, QgsComposition *composition, bool manageZValue=true) | |
Constructor with box position and composer object. More... | |
virtual | ~QgsComposerItem () |
virtual void | setSelected (bool s) |
Set selected, selected item should be highlighted. More... | |
virtual bool | selected () const |
Is selected. More... | |
virtual bool | writeSettings () |
stores state in project More... | |
virtual bool | readSettings () |
read state from project More... | |
virtual bool | removeSettings () |
delete settings from project file More... | |
void | move (double dx, double dy) |
Moves item in canvas coordinates. More... | |
virtual void | moveContent (double dx, double dy) |
Move Content of item. More... | |
virtual void | zoomContent (int delta, double x, double y) |
Zoom content of item. More... | |
int | page () const |
Gets the page the item is currently on. More... | |
QPointF | pagePos () const |
Returns the item's position relative to its current page. More... | |
void | updatePagePos (double newPageWidth, double newPageHeight) |
Moves the item so that it retains its relative position on the page when the paper size changes. More... | |
void | setItemPosition (double x, double y, ItemPositionMode itemPoint=UpperLeft, int page=-1) |
Moves the item to a new position (in canvas coordinates) More... | |
void | setItemPosition (double x, double y, double width, double height, ItemPositionMode itemPoint=UpperLeft, bool posIncludesFrame=false, int page=-1) |
Sets item position and width / height in one go. More... | |
ItemPositionMode | lastUsedPositionMode () |
Returns item's last used position mode. More... | |
bool | _writeXML (QDomElement &itemElem, QDomDocument &doc) const |
Writes parameter that are not subclass specific in document. More... | |
bool | _readXML (const QDomElement &itemElem, const QDomDocument &doc) |
Reads parameter that are not subclass specific in document. More... | |
bool | hasFrame () const |
Whether this item has a frame or not. More... | |
void | setFrameEnabled (bool drawFrame) |
Set whether this item has a frame drawn around it or not. More... | |
virtual void | setFrameOutlineWidth (double outlineWidth) |
Sets frame outline width. More... | |
double | frameOutlineWidth () const |
Returns the frame's outline width. More... | |
Qt::PenJoinStyle | frameJoinStyle () const |
Returns the join style used for drawing the item's frame. More... | |
void | setFrameJoinStyle (Qt::PenJoinStyle style) |
Sets join style used when drawing the item's frame. More... | |
virtual double | estimatedFrameBleed () const |
Returns the estimated amount the item's frame bleeds outside the item's actual rectangle. More... | |
virtual QRectF | rectWithFrame () const |
Returns the item's rectangular bounds, including any bleed caused by the item's frame. More... | |
bool | hasBackground () const |
Whether this item has a Background or not. More... | |
void | setBackgroundEnabled (bool drawBackground) |
Set whether this item has a Background drawn around it or not. More... | |
QColor | backgroundColor () const |
Gets the background color for this item. More... | |
void | setBackgroundColor (const QColor &backgroundColor) |
Sets the background color for this item. More... | |
QPainter::CompositionMode | blendMode () const |
Returns the item's composition blending mode. More... | |
void | setBlendMode (QPainter::CompositionMode blendMode) |
Sets the item's composition blending mode. More... | |
int | transparency () const |
Returns the item's transparency. More... | |
void | setTransparency (int transparency) |
Sets the item's transparency. More... | |
bool | effectsEnabled () const |
Returns true if effects (eg blend modes) are enabled for the item. More... | |
void | setEffectsEnabled (bool effectsEnabled) |
Sets whether effects (eg blend modes) are enabled for the item. More... | |
virtual void | addItem (QgsComposerItem *item) |
Composite operations for item groups do nothing per default. More... | |
virtual void | removeItems () |
const QgsComposition * | composition () const |
QgsComposition * | composition () |
virtual void | beginItemCommand (const QString &text) |
void | beginCommand (const QString &commandText, QgsComposerMergeCommand::Context c=QgsComposerMergeCommand::Unknown) |
Starts new composer undo command. More... | |
virtual void | endItemCommand () |
void | endCommand () |
Finish current command and push it onto the undo stack. More... | |
void | cancelCommand () |
void | drawText (QPainter *p, double x, double y, const QString &text, const QFont &font) const |
Draws Text. More... | |
void | drawText (QPainter *p, const QRectF &rect, const QString &text, const QFont &font, Qt::AlignmentFlag halignment=Qt::AlignLeft, Qt::AlignmentFlag valignment=Qt::AlignTop, int flags=Qt::TextWordWrap) const |
Like the above, but with a rectangle for multiline text. More... | |
double | textWidthMillimeters (const QFont &font, const QString &text) const |
Returns the font width in millimeters (considers upscaling and downscaling with FONT_WORKAROUND_SCALE. More... | |
double | fontHeightCharacterMM (const QFont &font, const QChar &c) const |
Returns the font height of a character in millimeters. More... | |
double | fontAscentMillimeters (const QFont &font) const |
Returns the font ascent in Millimeters (considers upscaling and downscaling with FONT_WORKAROUND_SCALE. More... | |
double | fontDescentMillimeters (const QFont &font) const |
Returns the font descent in Millimeters (considers upscaling and downscaling with FONT_WORKAROUND_SCALE. More... | |
double | fontHeightMillimeters (const QFont &font) const |
Returns the font height in Millimeters (considers upscaling and downscaling with FONT_WORKAROUND_SCALE. More... | |
double | pixelFontSize (double pointSize) const |
Calculates font to from point size to pixel size. More... | |
QFont | scaledFontPixelSize (const QFont &font) const |
Returns a font where size is in pixel and font size is upscaled with FONT_WORKAROUND_SCALE. More... | |
void | setPositionLock (bool lock) |
Locks / unlocks the item position for mouse drags. More... | |
bool | positionLock () const |
Returns position lock for mouse drags (true means locked) More... | |
double | itemRotation () const |
Returns the rotation for the composer item. More... | |
Q_DECL_DEPRECATED double | rotation () const |
Returns the rotation for the composer item. More... | |
virtual void | updateItem () |
Updates item, with the possibility to do custom update for subclasses. More... | |
QString | id () const |
Get item's id (which is not necessarly unique) More... | |
virtual void | setId (const QString &id) |
Set item's id (which is not necessarly unique) More... | |
QString | uuid () const |
Get item identification name. More... | |
virtual int | numberExportLayers () const |
Get the number of layers that this item requires for exporting as layers. More... | |
virtual void | setCurrentExportLayer (int layerIdx=-1) |
Sets the current layer to draw for exporting. More... | |
Private Member Functions | |
QgsComposerPicture () | |
QRectF | boundedSVGRect (double deviceWidth, double deviceHeight) |
Calculates bounding rect for svg file (mSourcefile) such that aspect ratio is correct. More... | |
QRectF | boundedImageRect (double deviceWidth, double deviceHeight) |
Calculates bounding rect for image such that aspect ratio is correct. More... | |
QSizeF | pictureSize () |
Returns size of current raster or svg picture. More... | |
void | loadPicture (const QFile &file) |
loads an image file into the picture item and redraws the item More... | |
QString | evalPictureExpression () |
evaluates the picture expression and returns the calculated image path More... | |
void | init () |
sets up the picture item and connects to relevant signals More... | |
QRect | clippedImageRect (double &boundRectWidthMM, double &boundRectHeightMM, QSize imageRectPixels) |
Returns part of a raster image which will be shown, given current picture anchor settings. More... | |
Private Attributes | |
QImage | mImage |
QSvgRenderer | mSVG |
QFile | mSourceFile |
Mode | mMode |
bool | mUseSourceExpression |
QString | mSourceExpression |
QSize | mDefaultSvgSize |
double | mPictureRotation |
Image rotation. More... | |
const QgsComposerMap * | mRotationMap |
Map that sets the rotation (or 0 if this picture uses map independent rotation) More... | |
double | mPictureWidth |
Width of the picture (in mm) More... | |
double | mPictureHeight |
Height of the picture (in mm) More... | |
ResizeMode | mResizeMode |
QgsComposerItem::ItemPositionMode | mPictureAnchor |
QgsExpression * | mPictureExpr |
Additional Inherited Members | |
Protected Member Functions inherited from QgsComposerItem | |
virtual void | drawSelectionBoxes (QPainter *p) |
Draw selection boxes around item. More... | |
virtual void | drawFrame (QPainter *p) |
Draw black frame around item. More... | |
virtual void | drawBackground (QPainter *p) |
Draw background. More... | |
void | drawArrowHead (QPainter *p, double x, double y, double angle, double arrowHeadWidth) const |
Draws arrowhead. More... | |
double | angle (const QPointF &p1, const QPointF &p2) const |
Returns angle of the line from p1 to p2 (clockwise, starting at N) More... | |
double | rectHandlerBorderTolerance () const |
Returns the current (zoom level dependent) tolerance to decide if mouse position is close enough to the item border for resizing. More... | |
double | lockSymbolSize () const |
Returns the size of the lock symbol depending on the composer zoom level and the item size. More... | |
double | horizontalViewScaleFactor () const |
Returns the zoom factor of the graphics view. More... | |
bool | imageSizeConsideringRotation (double &width, double &height, double rotation) const |
Calculates width and hight of the picture (in mm) such that it fits into the item frame with the given rotation. More... | |
Q_DECL_DEPRECATED bool | imageSizeConsideringRotation (double &width, double &height) const |
Calculates width and hight of the picture (in mm) such that it fits into the item frame with the given rotation. More... | |
QRectF | largestRotatedRectWithinBounds (QRectF originalRect, QRectF boundsRect, double rotation) const |
Calculates the largest scaled version of originalRect which fits within boundsRect, when it is rotated by a specified amount. More... | |
bool | cornerPointOnRotatedAndScaledRect (double &x, double &y, double width, double height, double rotation) const |
Calculates corner point after rotation and scaling. More... | |
Q_DECL_DEPRECATED bool | cornerPointOnRotatedAndScaledRect (double &x, double &y, double width, double height) const |
Calculates corner point after rotation and scaling. More... | |
void | sizeChangedByRotation (double &width, double &height, double rotation) |
Calculates width / height of the bounding box of a rotated rectangle. More... | |
Q_DECL_DEPRECATED void | sizeChangedByRotation (double &width, double &height) |
Calculates width / height of the bounding box of a rotated rectangle. More... | |
void | rotate (double angle, double &x, double &y) const |
Rotates a point / vector. More... | |
QGraphicsLineItem * | hAlignSnapItem () |
Return horizontal align snap item. More... | |
void | deleteHAlignSnapItem () |
QGraphicsLineItem * | vAlignSnapItem () |
Return vertical align snap item. More... | |
void | deleteVAlignSnapItem () |
void | deleteAlignItems () |
Protected Attributes inherited from QgsComposerItem | |
QgsComposition * | mComposition |
QgsComposerItem::MouseMoveAction | mCurrentMouseMoveAction |
QPointF | mMouseMoveStartPos |
Start point of the last mouse move action (in scene coordinates) More... | |
QPointF | mLastMouseEventPos |
Position of the last mouse move event (in scene coordinates) More... | |
QGraphicsRectItem * | mBoundingResizeRectangle |
Rectangle used during move and resize actions. More... | |
QGraphicsLineItem * | mHAlignSnapItem |
QGraphicsLineItem * | mVAlignSnapItem |
bool | mFrame |
True if item fram needs to be painted. More... | |
bool | mBackground |
True if item background needs to be painted. More... | |
QColor | mBackgroundColor |
Background color. More... | |
Qt::PenJoinStyle | mFrameJoinStyle |
Frame join style. More... | |
bool | mItemPositionLocked |
True if item position and size cannot be changed with mouse move. More... | |
double | mLastValidViewScaleFactor |
Backup to restore item appearance if no view scale factor is available. More... | |
double | mItemRotation |
Item rotation in degrees, clockwise. More... | |
QPainter::CompositionMode | mBlendMode |
Composition blend mode for item. More... | |
bool | mEffectsEnabled |
QgsComposerEffect * | mEffect |
int | mTransparency |
Item transparency. More... | |
ItemPositionMode | mLastUsedPositionMode |
The item's position mode. More... | |
int | mCurrentExportLayer |
The layer that needs to be exported. More... | |
A composer class that displays svg files or raster format (jpg, png, ...)
Definition at line 31 of file qgscomposerpicture.h.
Format of source image
Enumerator | |
---|---|
SVG | |
RASTER | |
Unknown |
Definition at line 49 of file qgscomposerpicture.h.
Controls how pictures are scaled within the item's frame
Definition at line 38 of file qgscomposerpicture.h.
QgsComposerPicture::QgsComposerPicture | ( | QgsComposition * | composition | ) |
Definition at line 34 of file qgscomposerpicture.cpp.
References init(), and mPictureWidth.
QgsComposerPicture::~QgsComposerPicture | ( | ) |
Definition at line 73 of file qgscomposerpicture.cpp.
|
private |
Definition at line 48 of file qgscomposerpicture.cpp.
References init(), and mPictureHeight.
|
private |
Calculates bounding rect for image such that aspect ratio is correct.
Definition at line 419 of file qgscomposerpicture.cpp.
References mImage.
|
private |
Calculates bounding rect for svg file (mSourcefile) such that aspect ratio is correct.
Definition at line 436 of file qgscomposerpicture.cpp.
References mDefaultSvgSize.
|
private |
Returns part of a raster image which will be shown, given current picture anchor settings.
Definition at line 206 of file qgscomposerpicture.cpp.
References QgsComposerItem::LowerLeft, QgsComposerItem::LowerMiddle, QgsComposerItem::LowerRight, QgsComposerItem::mComposition, QgsComposerItem::Middle, QgsComposerItem::MiddleLeft, QgsComposerItem::MiddleRight, mPictureAnchor, QgsComposition::printResolution(), QgsComposerItem::UpperLeft, QgsComposerItem::UpperMiddle, and QgsComposerItem::UpperRight.
Referenced by paint().
bool QgsComposerPicture::cornerPointOnRotatedAndScaledRect | ( | double & | x, |
double & | y, | ||
double | width, | ||
double | height | ||
) | const |
Calculates corner point after rotation and scaling.
Definition at line 788 of file qgscomposerpicture.cpp.
References QgsComposerItem::cornerPointOnRotatedAndScaledRect(), and mPictureRotation.
|
private |
evaluates the picture expression and returns the calculated image path
Definition at line 300 of file qgscomposerpicture.cpp.
References QgsComposition::atlasComposition(), QgsAtlasComposition::coverageLayer(), QgsAtlasComposition::currentFeature(), QgsAtlasComposition::enabled(), QgsExpression::evalErrorString(), QgsExpression::evaluate(), QgsExpression::hasEvalError(), QgsMessageLog::logMessage(), QgsComposerItem::mComposition, mPictureExpr, mSourceExpression, mUseSourceExpression, QgsVectorLayer::pendingFields(), and tr.
Referenced by refreshPicture().
bool QgsComposerPicture::imageSizeConsideringRotation | ( | double & | width, |
double & | height | ||
) | const |
Calculates width and hight of the picture (in mm) such that it fits into the item frame with the given rotation.
Definition at line 782 of file qgscomposerpicture.cpp.
References QgsComposerItem::imageSizeConsideringRotation(), and mPictureRotation.
|
private |
sets up the picture item and connects to relevant signals
Definition at line 61 of file qgscomposerpicture.cpp.
References QgsComposition::atlasComposition(), QgsComposerItem::mComposition, recalculateSize(), and refreshPicture().
Referenced by QgsComposerPicture().
|
private |
loads an image file into the picture item and redraws the item
Definition at line 354 of file qgscomposerpicture.cpp.
References QgsExpression::hasEvalError(), QgsComposerItem::itemChanged(), mDefaultSvgSize, mImage, mMode, mPictureExpr, mSVG, mUseSourceExpression, RASTER, recalculateSize(), SVG, and Unknown.
Referenced by refreshPicture().
|
inline |
Returns the current picture mode (image format).
Definition at line 199 of file qgscomposerpicture.h.
Referenced by setResizeMode().
void QgsComposerPicture::paint | ( | QPainter * | painter, |
const QStyleOptionGraphicsItem * | itemStyle, | ||
QWidget * | pWidget | ||
) |
Reimplementation of QCanvasItem::paint.
Definition at line 78 of file qgscomposerpicture.cpp.
References Clip, clippedImageRect(), QgsComposerItem::drawBackground(), QgsComposerItem::drawFrame(), QgsComposerItem::drawSelectionBoxes(), QgsComposerItem::LowerLeft, QgsComposerItem::LowerMiddle, QgsComposerItem::LowerRight, QgsComposerItem::mComposition, QgsComposerItem::Middle, QgsComposerItem::MiddleLeft, QgsComposerItem::MiddleRight, mImage, mMode, mPictureAnchor, mPictureHeight, mPictureRotation, mPictureWidth, mResizeMode, mSVG, QgsComposition::printResolution(), RASTER, Stretch, SVG, Unknown, QgsComposerItem::UpperLeft, QgsComposerItem::UpperMiddle, QgsComposerItem::UpperRight, Zoom, and ZoomResizeFrame.
|
inline |
Returns the picture's current anchor, which controls how it is placed within the picture item's frame.
Definition at line 158 of file qgscomposerpicture.h.
|
inline |
Returns the expression the item is using for the picture source.
This is only used if usePictureExpression() is true.
Definition at line 177 of file qgscomposerpicture.h.
QString QgsComposerPicture::pictureFile | ( | ) | const |
Returns the path of the source image file.
This is only used if usePictureExpression() is false.
Definition at line 646 of file qgscomposerpicture.cpp.
References mSourceFile.
|
inline |
Returns the rotation used for drawing the picture within the item's frame.
Definition at line 108 of file qgscomposerpicture.h.
|
signal |
Is emitted on picture rotation change.
Referenced by setPictureRotation(), and setRotationMap().
|
private |
Returns size of current raster or svg picture.
Definition at line 453 of file qgscomposerpicture.cpp.
References mDefaultSvgSize, mImage, mMode, RASTER, and SVG.
Referenced by setPictureRotation(), and setSceneRect().
|
virtual |
sets state from Dom document
itemElem | is Dom node corresponding to item tag |
doc | is Dom document |
Implements QgsComposerItem.
Definition at line 690 of file qgscomposerpicture.cpp.
References QgsComposerItem::_readXML(), QgsComposition::getComposerMapById(), QgsProject::instance(), QgsComposerItem::itemChanged(), QgsComposerItem::mComposition, mDefaultSvgSize, QgsComposerItem::Middle, mPictureAnchor, mPictureHeight, mPictureRotation, mPictureWidth, mResizeMode, mRotationMap, mSourceExpression, mSourceFile, mUseSourceExpression, QgsProject::readPath(), refreshPicture(), setRotation(), and updatePictureExpression().
Referenced by QgsComposition::addItemsFromXML().
|
slot |
Forces a recalculation of the picture's frame size.
Definition at line 607 of file qgscomposerpicture.cpp.
References setSceneRect().
Referenced by init(), loadPicture(), and setResizeMode().
|
slot |
Recalculates the source image (if using an expression for picture's source) and reloads and redraws the picture.
Definition at line 336 of file qgscomposerpicture.cpp.
References evalPictureExpression(), loadPicture(), mSourceFile, and mUseSourceExpression.
Referenced by init(), readXML(), setPictureExpression(), setPictureFile(), and setUsePictureExpression().
|
inline |
Returns the resize mode used for drawing the picture within the composer item's frame.
Definition at line 142 of file qgscomposerpicture.h.
|
inline |
Returns the rotation used for drawing the picture within the composer item.
Definition at line 100 of file qgscomposerpicture.h.
int QgsComposerPicture::rotationMap | ( | ) | const |
Returns the id of the rotation map.
A value of -1 means map rotation is disabled. If this is set then the picture is rotated by the same amount as the specified map object.
Definition at line 764 of file qgscomposerpicture.cpp.
References QgsComposerMap::id(), and mRotationMap.
void QgsComposerPicture::setPictureAnchor | ( | QgsComposerItem::ItemPositionMode | anchor | ) |
Sets the picture's anchor point, which controls how it is placed within the picture item's frame.
anchor | anchor point for picture |
Definition at line 776 of file qgscomposerpicture.cpp.
References mPictureAnchor.
|
virtualslot |
Sets an expression to use for the picture source.
This expression is only used if usePictureExpression() is true.
expression | to use for picture path |
Definition at line 630 of file qgscomposerpicture.cpp.
References mSourceExpression, mUseSourceExpression, refreshPicture(), and updatePictureExpression().
void QgsComposerPicture::setPictureFile | ( | const QString & | path | ) |
Sets the source file of the image (may be svg or a raster format).
This is only used if usePictureExpression() is false.
path | full path to the source image |
Definition at line 264 of file qgscomposerpicture.cpp.
References mSourceFile, and refreshPicture().
|
virtualslot |
Sets the picture rotation within the item bounds.
This does not affect the item's frame, only the way the picture is drawn within the item.
r | rotation in degrees clockwise |
Definition at line 549 of file qgscomposerpicture.cpp.
References QgsComposerItem::largestRotatedRectWithinBounds(), mPictureHeight, mPictureRotation, mPictureWidth, mResizeMode, pictureRotationChanged(), pictureSize(), and Zoom.
Referenced by setRotation(), and setRotationMap().
|
virtualslot |
Sets the resize mode used for drawing the picture within the item bounds.
mode | ResizeMode to use for image file |
Definition at line 595 of file qgscomposerpicture.cpp.
References FrameToImageSize, mode(), mPictureRotation, mResizeMode, recalculateSize(), Zoom, and ZoomResizeFrame.
|
virtualslot |
Sets the picture rotation within the item bounds.
This does not affect the item rectangle, only the way the picture is drawn within the item.
Definition at line 543 of file qgscomposerpicture.cpp.
References setPictureRotation().
Referenced by readXML().
void QgsComposerPicture::setRotationMap | ( | int | composerMapId | ) |
Sets the map object for rotation (by id).
A value of -1 disables the map rotation. If this is set then the picture will be rotated by the same amount as the specified map object. This is useful especially for syncing north arrows with a map item.
composerMapId | composer map id to sync rotation with |
Definition at line 566 of file qgscomposerpicture.cpp.
References QgsComposition::getComposerMapById(), QgsComposerMap::mapRotation(), QgsComposerItem::mComposition, mPictureRotation, mRotationMap, pictureRotationChanged(), and setPictureRotation().
|
virtual |
Sets this items bound in scene coordinates such that 1 item size units corresponds to 1 scene size unit and resizes the svg symbol / image.
Reimplemented from QgsComposerItem.
Definition at line 488 of file qgscomposerpicture.cpp.
References Clip, FrameToImageSize, QgsComposerItem::itemChanged(), QgsComposerItem::largestRotatedRectWithinBounds(), QgsComposerItem::mComposition, mPictureHeight, mPictureRotation, mPictureWidth, mResizeMode, pictureSize(), QgsComposition::printResolution(), QgsComposerItem::setSceneRect(), Zoom, and ZoomResizeFrame.
Referenced by QgsComposerView::mouseReleaseEvent(), and recalculateSize().
|
virtualslot |
Sets whether the picture should use an expression based image source path.
useExpression | set to true to use an expression based image source, set to false to use a single image source path |
Definition at line 614 of file qgscomposerpicture.cpp.
References mUseSourceExpression, refreshPicture(), and updatePictureExpression().
void QgsComposerPicture::sizeChangedByRotation | ( | double & | width, |
double & | height | ||
) |
Calculates width / height of the bounding box of a rotated rectangle.
Definition at line 794 of file qgscomposerpicture.cpp.
References mPictureRotation, and QgsComposerItem::sizeChangedByRotation().
|
inlinevirtual |
return correct graphics item type.
Added in v1.7
Reimplemented from QgsComposerItem.
Definition at line 60 of file qgscomposerpicture.h.
References QgsComposerItem::ComposerPicture.
|
slot |
Prepares the picture's source expression after it is altered or the compositions atlas coverage layer changes.
Definition at line 270 of file qgscomposerpicture.cpp.
References QgsComposition::atlasComposition(), QgsAtlasComposition::coverageLayer(), QgsAtlasComposition::enabled(), QgsExpression::hasParserError(), QgsMessageLog::logMessage(), QgsComposerItem::mComposition, mPictureExpr, mSourceExpression, QgsExpression::parserErrorString(), QgsVectorLayer::pendingFields(), QgsExpression::prepare(), and tr.
Referenced by readXML(), setPictureExpression(), and setUsePictureExpression().
|
inline |
Returns whether the picture item is using an expression for the image source.
Definition at line 168 of file qgscomposerpicture.h.
|
inline |
True if the picture rotation is matched to a map item.
Definition at line 134 of file qgscomposerpicture.h.
|
virtual |
stores state in Dom element
elem | is Dom element corresponding to 'Composer' tag |
doc | is Dom document |
Implements QgsComposerItem.
Definition at line 651 of file qgscomposerpicture.cpp.
References QgsComposerItem::_writeXML(), QgsComposerMap::id(), QgsProject::instance(), mPictureAnchor, mPictureHeight, mPictureRotation, mPictureWidth, mResizeMode, mRotationMap, mSourceExpression, mSourceFile, and mUseSourceExpression.
|
private |
Definition at line 282 of file qgscomposerpicture.h.
Referenced by boundedSVGRect(), loadPicture(), pictureSize(), and readXML().
|
private |
Definition at line 275 of file qgscomposerpicture.h.
Referenced by boundedImageRect(), loadPicture(), paint(), and pictureSize().
|
private |
Definition at line 278 of file qgscomposerpicture.h.
Referenced by loadPicture(), paint(), and pictureSize().
|
private |
Definition at line 294 of file qgscomposerpicture.h.
Referenced by clippedImageRect(), paint(), readXML(), setPictureAnchor(), and writeXML().
|
private |
Definition at line 296 of file qgscomposerpicture.h.
Referenced by evalPictureExpression(), loadPicture(), and updatePictureExpression().
|
private |
Height of the picture (in mm)
Definition at line 291 of file qgscomposerpicture.h.
Referenced by paint(), QgsComposerPicture(), readXML(), setPictureRotation(), setSceneRect(), and writeXML().
|
private |
Image rotation.
Definition at line 285 of file qgscomposerpicture.h.
Referenced by cornerPointOnRotatedAndScaledRect(), imageSizeConsideringRotation(), paint(), readXML(), setPictureRotation(), setResizeMode(), setRotationMap(), setSceneRect(), sizeChangedByRotation(), and writeXML().
|
private |
Width of the picture (in mm)
Definition at line 289 of file qgscomposerpicture.h.
Referenced by paint(), QgsComposerPicture(), readXML(), setPictureRotation(), setSceneRect(), and writeXML().
|
private |
Definition at line 293 of file qgscomposerpicture.h.
Referenced by paint(), readXML(), setPictureRotation(), setResizeMode(), setSceneRect(), and writeXML().
|
private |
Map that sets the rotation (or 0 if this picture uses map independent rotation)
Definition at line 287 of file qgscomposerpicture.h.
Referenced by readXML(), rotationMap(), setRotationMap(), and writeXML().
|
private |
Definition at line 280 of file qgscomposerpicture.h.
Referenced by evalPictureExpression(), readXML(), setPictureExpression(), updatePictureExpression(), and writeXML().
|
private |
Definition at line 277 of file qgscomposerpicture.h.
Referenced by pictureFile(), readXML(), refreshPicture(), setPictureFile(), and writeXML().
|
private |
Definition at line 276 of file qgscomposerpicture.h.
Referenced by loadPicture(), and paint().
|
private |
Definition at line 279 of file qgscomposerpicture.h.
Referenced by evalPictureExpression(), loadPicture(), readXML(), refreshPicture(), setPictureExpression(), setUsePictureExpression(), and writeXML().