|
Krita Source Code Documentation
|
The GroupLayer class A group layer is a layer that can contain other layers. In Krita, layers within a group layer are composited first before they are added into the composition code for where the group is in the stack. This has a significant effect on how it is interpreted for blending modes. More...
#include <GroupLayer.h>
Inheritance diagram for GroupLayer:Public Slots | |
| bool | passThroughMode () const |
| passThroughMode | |
| void | setPassThroughMode (bool passthrough) |
| setPassThroughMode This changes the way how compositing works. Instead of compositing all the layers before compositing it with the rest of the image, the group layer becomes a sort of formal way to organise everything. | |
| virtual QString | type () const override |
| type Krita has several types of nodes, split in layers and masks. Group layers can contain other layers, any layer can contain masks. | |
Public Slots inherited from Node | |
| bool | addChildNode (Node *child, Node *above) |
| addChildNode adds the given node in the list of children. | |
| bool | alphaLocked () const |
| alphaLocked checks whether the node is a paint layer and returns whether it is alpha locked | |
| bool | animated () const |
| Krita layers can be animated, i.e., have frames. | |
| QString | blendingMode () const |
| QRect | bounds () const |
| bounds return the exact bounds of the node's paint device | |
| QList< Channel * > | channels () const |
| channels creates a list of Channel objects that can be used individually to show or hide certain channels, and to retrieve the contents of each channel in a node separately. | |
| QList< Node * > | childNodes () const |
| childNodes | |
| Node * | clone () const |
| clone clone the current node. The node is not associated with any image. | |
| bool | collapsed () const |
| QString | colorDepth () const |
| int | colorLabel () const |
| QString | colorModel () const |
| colorModel retrieve the current color model of this document: | |
| QString | colorProfile () const |
| void | cropNode (int x, int y, int w, int h) |
| cropNode crop this layer. | |
| Node * | duplicate () |
| duplicate returns a full copy of the current node. The node is not inserted in the graphic | |
| void | enableAnimation () const |
| enableAnimation make the current layer animated, so it can have frames. | |
| QList< Node * > | findChildNodes (const QString &name=QString(), bool recursive=false, bool partialMatch=false, const QString &type=QString(), int colorLabelIndex=0) const |
| findChildNodes | |
| bool | hasExtents () |
| does the node have any content in it? | |
| bool | hasKeyframeAtTime (int frameNumber) |
| QIcon | icon () const |
| icon | |
| int | index () const |
| index the index of the node inside the parent | |
| bool | inheritAlpha () const |
| inheritAlpha checks whether this node has the inherits alpha flag set | |
| bool | isPinnedToTimeline () const |
| QString | layerStyleToAsl () |
| layerStyleToAsl retrieve the current layer's style in ASL format. | |
| bool | locked () const |
| locked checks whether the Node is locked. A locked node cannot be changed. | |
| Node * | mergeDown () |
| mergeDown merges the given node with the first visible node underneath this node in the layerstack. This will drop all per-layer metadata. | |
| void | move (int x, int y) |
| QString | name () const |
| int | opacity () const |
| QString | paintAbility () |
| paintAbility can be used to determine whether this node can be painted on with the current brush preset. | |
| void | paintEllipse (const QRectF &rect, const QString strokeStyle=PaintingResources::defaultStrokeStyle, const QString fillStyle=PaintingResources::defaultFillStyle) |
| paint an ellipse on the canvas. Uses current brush preset | |
| void | paintLine (const QPointF pointOne, const QPointF pointTwo, double pressureOne=1.0, double pressureTwo=1.0, const QString strokeStyle=PaintingResources::defaultStrokeStyle) |
| paint a line on the canvas. Uses current brush preset | |
| void | paintPath (const QPainterPath &path, const QString strokeStyle=PaintingResources::defaultStrokeStyle, const QString fillStyle=PaintingResources::defaultFillStyle) |
| paint a custom path on the canvas. Uses current brush preset | |
| void | paintPolygon (const QList< QPointF > points, const QString strokeStyle=PaintingResources::defaultStrokeStyle, const QString fillStyle=PaintingResources::defaultFillStyle) |
| paint a polygon on the canvas. Uses current brush preset | |
| void | paintRectangle (const QRectF &rect, const QString strokeStyle=PaintingResources::defaultStrokeStyle, const QString fillStyle=PaintingResources::defaultFillStyle) |
| paint a rectangle on the canvas. Uses current brush preset | |
| Node * | parentNode () const |
| QByteArray | pixelData (int x, int y, int w, int h) const |
| pixelData reads the given rectangle from the Node's paintable pixels, if those exist, and returns it as a byte array. The pixel data starts top-left, and is ordered row-first. | |
| QByteArray | pixelDataAtTime (int x, int y, int w, int h, int time) const |
| pixelDataAtTime a basic function to get pixeldata from an animated node at a given time. | |
| QPoint | position () const |
| position returns the position of the paint device of this node. The position is always 0,0 unless the layer has been moved. If you want to know the topleft position of the rectangle around the actual non-transparent pixels in the node, use bounds(). | |
| QByteArray | projectionPixelData (int x, int y, int w, int h) const |
| projectionPixelData reads the given rectangle from the Node's projection (that is, what the node looks like after all sub-Nodes (like layers in a group or masks on a layer) have been applied, and returns it as a byte array. The pixel data starts top-left, and is ordered row-first. | |
| bool | remove () |
| remove removes this node from its parent image. | |
| bool | removeChildNode (Node *child) |
| removeChildNode removes the given node from the list of children. | |
| void | rotateNode (double radians) |
| rotateNode rotate this layer by the given radians. | |
| bool | save (const QString &filename, double xRes, double yRes, const InfoObject &exportConfiguration, const QRect &exportRect=QRect()) |
| save exports the given node with this filename. The extension of the filename determines the filetype. | |
| void | scaleNode (QPointF origin, int width, int height, QString strategy) |
| scaleNode | |
| void | setAlphaLocked (bool value) |
| setAlphaLocked set the layer to value if the node is paint layer. | |
| void | setBlendingMode (QString value) |
| setBlendingMode set the blending mode of the node to the given value | |
| void | setChildNodes (QList< Node * > nodes) |
| setChildNodes this replaces the existing set of child nodes with the new set. | |
| void | setCollapsed (bool collapsed) |
| void | setColorLabel (int index) |
| setColorLabel sets a color label index associated to the layer. The actual color of the label and the number of available colors is defined by Krita GUI configuration. | |
| bool | setColorProfile (const QString &colorProfile) |
| setColorProfile set the color profile of the image to the given profile. The profile has to be registered with krita and be compatible with the current color model and depth; the image data is not converted. | |
| bool | setColorSpace (const QString &colorModel, const QString &colorDepth, const QString &colorProfile) |
| setColorSpace convert the node to the given colorspace | |
| void | setInheritAlpha (bool value) |
| bool | setLayerStyleFromAsl (const QString &asl) |
| setLayerStyleFromAsl set a new layer style for this node. | |
| void | setLocked (bool value) |
| void | setName (QString name) |
| void | setOpacity (int value) |
| void | setPinnedToTimeline (bool pinned) const |
| Sets whether or not node should be pinned to the Timeline Docker, regardless of selection activity. | |
| bool | setPixelData (QByteArray value, int x, int y, int w, int h) |
| setPixelData writes the given bytes, of which there must be enough, into the Node, if the Node has writable pixel data: | |
| void | setVisible (bool visible) |
| void | shearNode (double angleX, double angleY) |
| shearNode perform a shear operation on this node. | |
| QImage | thumbnail (int w, int h) |
| thumbnail create a thumbnail of the given dimensions. The thumbnail is sized according to the layer dimensions, not the image dimensions. If the requested size is too big a null QImage is created. If the current node cannot generate a thumbnail, a transparent QImage of the requested size is generated. | |
| virtual QString | type () const |
| type Krita has several types of nodes, split in layers and masks. Group layers can contain other layers, any layer can contain masks. | |
| QUuid | uniqueId () const |
| uniqueId uniqueId of the node | |
| bool | visible () const |
Public Member Functions | |
| GroupLayer (KisGroupLayerSP layer, QObject *parent=0) | |
| GroupLayer (KisImageSP image, QString name, QObject *parent=0) | |
| ~GroupLayer () override | |
Public Member Functions inherited from Node | |
| bool | operator!= (const Node &other) const |
| bool | operator== (const Node &other) const |
| ~Node () override | |
Additional Inherited Members | |
Static Public Member Functions inherited from Node | |
| static Node * | createNode (KisImageSP image, KisNodeSP node, QObject *parent=0) |
The GroupLayer class A group layer is a layer that can contain other layers. In Krita, layers within a group layer are composited first before they are added into the composition code for where the group is in the stack. This has a significant effect on how it is interpreted for blending modes.
PassThrough changes this behaviour.
Group layer cannot be animated, but can contain animated layers or masks.
Definition at line 29 of file GroupLayer.h.
|
explicit |
Definition at line 10 of file GroupLayer.cpp.
|
explicit |
Definition at line 16 of file GroupLayer.cpp.
|
override |
Definition at line 22 of file GroupLayer.cpp.
|
slot |
passThroughMode
Definition at line 34 of file GroupLayer.cpp.
References Node::node(), and KisGroupLayer::passThroughMode.
|
slot |
setPassThroughMode This changes the way how compositing works. Instead of compositing all the layers before compositing it with the rest of the image, the group layer becomes a sort of formal way to organise everything.
Passthrough mode is the same as it is in photoshop, and the inverse of SVG's isolation attribute(with passthrough=false being the same as isolation="isolate").
| passthrough | whether or not to set the layer to passthrough. |
Definition at line 27 of file GroupLayer.cpp.
References KisSharedPtr< T >::data(), KIS_SAFE_ASSERT_RECOVER_RETURN, Node::node(), and KisGroupLayer::setPassThroughMode().
|
overridevirtualslot |
type Krita has several types of nodes, split in layers and masks. Group layers can contain other layers, any layer can contain masks.
Definition at line 40 of file GroupLayer.cpp.