Class: QgsEffectStack¶
- class qgis.core.QgsEffectStack¶
Bases:
QgsPaintEffect
Constructor for empty QgsEffectStack.
QgsEffectStack(other:
QgsEffectStack
)QgsEffectStack(effect:
QgsPaintEffect
) Creates a newQgsEffectStack
effect from a single initial effect.- Parameters
effect – initial effect to add to the stack. The effect will be cloned, so ownership is not transferred to the stack.
- Returns
new
QgsEffectStack
containing initial effect
A paint effect which consists of a stack of other chained paint effects
Effect stacks can be used to apply multiple paint effects to a QPicture. For instance, an effect stack may blur then apply a drop shadow.
The way in which effects apply to a stack is controlled by the effect’s drawMode. Effects can either render their results onto the destination paint device, or just modify the source picture which is drawn by subsequent effects in the stack. For instance, a blur effect with a Modifier drawMode will blur the source picture for the following drop shadow effect without actually drawing the blurred picture to the paint device. If the blur effect had a Render drawMode then the blurred picture will be drawn on the paint device, but the following drop shadow effect will be drawn using the original picture, not the blurred version.
Methods
Appends an effect to the end of the stack.
Returns the bounding rect required for drawing the effect.
Replaces the effect at a specified position within the stack.
- rtype
QgsEffectStack
Returns count of effects contained by the stack
Creates a new
QgsEffectStack
effect.- param context
Draws the source QPicture onto the specified painter.
Returns a pointer to the effect at a specified index within the stack
Returns a pointer to the list of effects currently contained by the stack
Applies a workaround to a QPainter to avoid an issue with incorrect scaling when drawing QPictures.
Returns the offset which should be used when drawing the source image on to a destination render context.
Inserts an effect at a specified index within the stack.
Unused for
QgsEffectStack
, will always return an empty string mapreadProperties(self, props: Dict[str, Any]) Unused for
QgsEffectStack
, props parameter will be ignored- param doc
Returns the source QPicture.
Returns the source QPicture rendered to a new QImage.
Removes an effect from the stack and returns a pointer to it.
- rtype
str
- appendEffect(self, effect: QgsPaintEffect)¶
Appends an effect to the end of the stack.
- Parameters
effect (QgsPaintEffect) –
QgsPaintEffect
to append. Ownership of the effect will be transferred to the stack object.
See also
- boundingRect(self, rect: QRectF, context: QgsRenderContext) → QRectF¶
Returns the bounding rect required for drawing the effect. This method can be used to expand the bounding rect of a source picture to account for offset or blurring effects.
- Parameters
rect – original source bounding rect
context – destination render context
- Returns
modified bounding rect
See also
- changeEffect(self, index: int, effect: QgsPaintEffect) → bool¶
Replaces the effect at a specified position within the stack.
- Parameters
index (int) – position of effect to replace
effect (QgsPaintEffect) –
QgsPaintEffect
to replace with. Ownership of the effect will be transferred to the stack object.
- Return type
bool
- clone(self) → QgsEffectStack¶
- Return type
- count(self) → int¶
Returns count of effects contained by the stack
- Return type
int
- Returns
count of effects
- create(map: Dict[str, Any]) → QgsPaintEffect¶
Creates a new
QgsEffectStack
effect. This method ignores the map parameter, and always returns an empty effect stack.- Parameters
map (Dict[str) – unused encoded properties string map
- Return type
- Returns
new QgsEffectStack
- draw(self, context: QgsRenderContext)¶
- Parameters
context (QgsRenderContext) –
- drawSource(self, painter: QPainter)¶
Draws the source QPicture onto the specified painter. Handles scaling of the picture to account for the destination painter’s DPI.
- Parameters
painter – destination painter
See also
See also
- effect(self, index: int) → QgsPaintEffect¶
Returns a pointer to the effect at a specified index within the stack
- Parameters
index (int) – position of effect to return
- Return type
- Returns
QgsPaintEffect
at specified position
- effectList(self) → List[QgsPaintEffect]¶
Returns a pointer to the list of effects currently contained by the stack
- Return type
List[QgsPaintEffect]
- Returns
list of
QgsPaintEffects
within the stack
- fixQPictureDpi(self, painter: QPainter)¶
Applies a workaround to a QPainter to avoid an issue with incorrect scaling when drawing QPictures. This may need to be called by derived classes prior to rendering results onto a painter.
- Parameters
painter – destination painter
- imageOffset(self, context: QgsRenderContext) → QPointF¶
Returns the offset which should be used when drawing the source image on to a destination render context.
- Parameters
context – destination render context
- Returns
point offset for image top left corner
See also
- insertEffect(self, index: int, effect: QgsPaintEffect) → bool¶
Inserts an effect at a specified index within the stack.
- Parameters
index (int) – position to insert the effect
effect (QgsPaintEffect) –
QgsPaintEffect
to insert. Ownership of the effect will be transferred to the stack object.
See also
- Return type
bool
- properties(self) → Dict[str, Any]¶
Unused for
QgsEffectStack
, will always return an empty string map- Return type
Dict[str, Any]
- readProperties(self, element: QDomElement) → bool¶
readProperties(self, props: Dict[str, Any]) Unused for
QgsEffectStack
, props parameter will be ignored- Parameters
element (QDomElement) –
- Return type
bool
- saveProperties(self, doc: QDomDocument, element: QDomElement) → bool¶
- Parameters
doc (QDomDocument) –
element (QDomElement) –
- Return type
bool
- source(self) → QPicture¶
Returns the source QPicture. The
draw()
member can utilize this when drawing the effect.- Returns
source QPicture
See also
See also
- sourceAsImage(self, context: QgsRenderContext) → QImage¶
Returns the source QPicture rendered to a new QImage. The
draw()
member can utilize this when drawing the effect. The image will be padded or cropped from the original source QPicture by the results of theboundingRect()
method. The result is cached to speed up subsequent calls to sourceAsImage.- Returns
source QPicture rendered to an image
See also
See also
See also
See also
- takeEffect(self, index: int) → QgsPaintEffect¶
Removes an effect from the stack and returns a pointer to it.
- Parameters
index (int) – position of effect to take
- Return type
- type(self) → str¶
- Return type
str