|
Krita Source Code Documentation
|
The ColorizeMask class A colorize mask is a mask type node that can be used to color in line art. More...
#include <ColorizeMask.h>
Inheritance diagram for ColorizeMask:Public Slots | |
| qreal | cleanUpAmount () const |
| cleanUpAmount | |
| qreal | edgeDetectionSize () const |
| edgeDetectionSize | |
| bool | editKeyStrokes () const |
| editKeyStrokes Edit keystrokes mode allows the user to modify keystrokes on the active Colorize Mask. | |
| void | initializeKeyStrokeColors (QList< ManagedColor * > colors, int transparentIndex=-1) |
| initializeKeyStrokeColors Set the colors to use for the Colorize Mask's keystrokes. | |
| QByteArray | keyStrokePixelData (ManagedColor *color, int x, int y, int w, int h) const |
| keyStrokePixelData reads the given rectangle from the keystroke image data and returns it as a byte array. The pixel data starts top-left, and is ordered row-first. | |
| QList< ManagedColor * > | keyStrokesColors () const |
| keyStrokesColors Colors used in the Colorize Mask's keystrokes. | |
| bool | limitToDeviceBounds () const |
| limitToDeviceBounds | |
| void | removeKeyStroke (ManagedColor *color) |
| removeKeyStroke Remove a color from the Colorize Mask's keystrokes. | |
| void | resetCache () |
| void | setCleanUpAmount (qreal value) |
| setCleanUpAmount This will attempt to handle messy strokes that overlap the line art where they shouldn't. | |
| void | setEdgeDetectionSize (qreal value) |
| setEdgeDetectionSize Set the value to the thinnest line on the image. | |
| void | setEditKeyStrokes (bool enabled) |
| setEditKeyStrokes Toggle Colorize Mask's edit keystrokes mode. | |
| bool | setKeyStrokePixelData (QByteArray value, ManagedColor *color, int x, int y, int w, int h) |
| setKeyStrokePixelData writes the given bytes, of which there must be enough, into the keystroke, the keystroke's original pixels are overwritten | |
| void | setLimitToDeviceBounds (bool value) |
| setLimitToDeviceBounds Limit the colorize mask to the combined layer bounds of the strokes and the line art it is filling. This can speed up the use of the mask on complicated compositions, such as comic pages. | |
| void | setShowOutput (bool enabled) |
| setShowOutput Toggle Colorize Mask's show output mode. | |
| void | setUseEdgeDetection (bool value) |
| setUseEdgeDetection Activate this for line art with large solid areas, for example shadows on an object. | |
| bool | showOutput () const |
| showOutput Show output mode allows the user to see the result of the Colorize Mask's algorithm. | |
| int | transparencyIndex () const |
| transparencyIndex Index of the transparent color. | |
| 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. | |
| void | updateMask (bool force=false) |
| updateMask Process the Colorize Mask's keystrokes and generate a projection of the computed colors. | |
| bool | useEdgeDetection () const |
| useEdgeDetection | |
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 | |
| ColorizeMask (KisImageSP image, KisColorizeMaskSP mask, QObject *parent=0) | |
| ColorizeMask (KisImageSP image, QString name, QObject *parent=0) | |
| ~ColorizeMask () 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 ColorizeMask class A colorize mask is a mask type node that can be used to color in line art.
Definition at line 59 of file ColorizeMask.h.
|
explicit |
Definition at line 21 of file ColorizeMask.cpp.
|
explicit |
Definition at line 27 of file ColorizeMask.cpp.
|
override |
Definition at line 32 of file ColorizeMask.cpp.
|
slot |
cleanUpAmount
Definition at line 195 of file ColorizeMask.cpp.
References KisColorizeMask::cleanUpAmount(), KIS_SAFE_ASSERT_RECOVER_RETURN_VALUE, and Node::node().
|
slot |
edgeDetectionSize
Definition at line 179 of file ColorizeMask.cpp.
References KisColorizeMask::edgeDetectionSize(), KIS_SAFE_ASSERT_RECOVER_RETURN_VALUE, and Node::node().
|
slot |
editKeyStrokes Edit keystrokes mode allows the user to modify keystrokes on the active Colorize Mask.
Definition at line 271 of file ColorizeMask.cpp.
References KisLayerPropertiesIcons::colorizeEditKeyStrokes, KoID::id(), KIS_SAFE_ASSERT_RECOVER_RETURN_VALUE, Node::node(), and KisColorizeMask::sectionModelProperties().
|
slot |
initializeKeyStrokeColors Set the colors to use for the Colorize Mask's keystrokes.
| colors | a list of ManagedColor to use for the keystrokes. |
| transparentIndex | index of the color that should be marked as transparent. |
This method is supposed to to initial initialization only!
It is necessary because the function also changes the color space and blending mode of the mask
TODO: implement a proper API that modifies key strokes of a colorize mask without breaking undo history
Definition at line 51 of file ColorizeMask.cpp.
References KisLazyFillTools::KeyStroke::color, KisColorizeMask::KeyStrokeColors::colors, KisBaseNode::colorSpace(), KisLazyFillTools::KeyStroke::dev, Node::image(), KisColorizeMask::initializeCompositeOp(), KoColorSpaceRegistry::instance(), KisLazyFillTools::KeyStroke::isTransparent, KisColorizeMask::keyStrokesColors(), KIS_SAFE_ASSERT_RECOVER_RETURN, Node::node(), KisNode::parent, KisColorizeMask::setColorSpace(), KisPaintDevice::setDefaultBounds(), and KisColorizeMask::setKeyStrokesDirect().
|
slot |
keyStrokePixelData reads the given rectangle from the keystroke image data and returns it as a byte array. The pixel data starts top-left, and is ordered row-first.
| color | a ManagedColor to get keystrokes pixeldata from. |
| x | x position from where to start reading |
| y | y position from where to start reading |
| w | row length to read |
| h | number of rows to read |
Definition at line 105 of file ColorizeMask.cpp.
References ManagedColor::color(), KisColorizeMask::fetchKeyStrokesDirect(), KIS_SAFE_ASSERT_RECOVER_RETURN_VALUE, Node::node(), KisPaintDevice::pixelSize(), and KisPaintDevice::readBytes().
|
slot |
keyStrokesColors Colors used in the Colorize Mask's keystrokes.
Definition at line 38 of file ColorizeMask.cpp.
References KisColorizeMask::KeyStrokeColors::colors, KisColorizeMask::keyStrokesColors(), KIS_SAFE_ASSERT_RECOVER_RETURN_VALUE, and Node::node().
|
slot |
limitToDeviceBounds
Definition at line 211 of file ColorizeMask.cpp.
References KIS_SAFE_ASSERT_RECOVER_RETURN_VALUE, KisColorizeMask::limitToDeviceBounds(), and Node::node().
|
slot |
removeKeyStroke Remove a color from the Colorize Mask's keystrokes.
| color | a ManagedColor to be removed from the keystrokes. |
Definition at line 96 of file ColorizeMask.cpp.
References ManagedColor::color(), KIS_SAFE_ASSERT_RECOVER_RETURN, Node::node(), and KisColorizeMask::removeKeyStroke().
|
slot |
Definition at line 231 of file ColorizeMask.cpp.
References KIS_SAFE_ASSERT_RECOVER_RETURN, Node::node(), and KisColorizeMask::resetCache().
|
slot |
setCleanUpAmount This will attempt to handle messy strokes that overlap the line art where they shouldn't.
| value | a float value from 0.0 to 100.00 where 0.0 is no cleanup is done and 100.00 is most aggressive. |
Definition at line 187 of file ColorizeMask.cpp.
References KIS_SAFE_ASSERT_RECOVER_RETURN, Node::node(), KisColorizeMask::setCleanUpAmount(), and value().
|
slot |
setEdgeDetectionSize Set the value to the thinnest line on the image.
| value | a float value of the edge size to detect in pixels. |
Definition at line 171 of file ColorizeMask.cpp.
References KIS_SAFE_ASSERT_RECOVER_RETURN, Node::node(), KisColorizeMask::setEdgeDetectionSize(), and value().
|
slot |
setEditKeyStrokes Toggle Colorize Mask's edit keystrokes mode.
| enabled | set true to enable edit keystrokes mode and false to disable it. |
Definition at line 263 of file ColorizeMask.cpp.
References KisLayerPropertiesIcons::colorizeEditKeyStrokes, Node::image(), KIS_SAFE_ASSERT_RECOVER_RETURN, Node::node(), and KisLayerPropertiesIcons::setNodePropertyAutoUndo().
|
slot |
setKeyStrokePixelData writes the given bytes, of which there must be enough, into the keystroke, the keystroke's original pixels are overwritten
| value | the byte array representing the pixels. There must be enough bytes available. Krita will take the raw pointer from the QByteArray and start reading, not stopping before (number of channels * size of channel * w * h) bytes are read. |
| color | a ManagedColor to set keystrokes pixeldata for. |
| x | the x position to start writing from |
| y | the y position to start writing from |
| w | the width of each row |
| h | the number of rows to write |
Definition at line 130 of file ColorizeMask.cpp.
References ManagedColor::color(), KisPaintDevice::colorSpace(), KisColorizeMask::fetchKeyStrokesDirect(), KIS_SAFE_ASSERT_RECOVER_RETURN_VALUE, Node::node(), KoColorSpace::pixelSize(), value(), and KisPaintDevice::writeBytes().
|
slot |
setLimitToDeviceBounds Limit the colorize mask to the combined layer bounds of the strokes and the line art it is filling. This can speed up the use of the mask on complicated compositions, such as comic pages.
| value | set true to enabled limit bounds, false to disable. |
Definition at line 203 of file ColorizeMask.cpp.
References KIS_SAFE_ASSERT_RECOVER_RETURN, Node::node(), KisColorizeMask::setLimitToDeviceBounds(), and value().
|
slot |
setShowOutput Toggle Colorize Mask's show output mode.
| enabled | set true to enable show coloring mode and false to disable it. |
Definition at line 239 of file ColorizeMask.cpp.
References KisLayerPropertiesIcons::colorizeShowColoring, Node::image(), KIS_SAFE_ASSERT_RECOVER_RETURN, Node::node(), and KisLayerPropertiesIcons::setNodePropertyAutoUndo().
|
slot |
setUseEdgeDetection Activate this for line art with large solid areas, for example shadows on an object.
| value | true to enable edge detection, false to disable. |
Definition at line 155 of file ColorizeMask.cpp.
References KIS_SAFE_ASSERT_RECOVER_RETURN, Node::node(), KisColorizeMask::setUseEdgeDetection(), and value().
|
slot |
showOutput Show output mode allows the user to see the result of the Colorize Mask's algorithm.
Definition at line 247 of file ColorizeMask.cpp.
References KisLayerPropertiesIcons::colorizeShowColoring, KoID::id(), KIS_SAFE_ASSERT_RECOVER_RETURN_VALUE, Node::node(), and KisColorizeMask::sectionModelProperties().
|
slot |
transparencyIndex Index of the transparent color.
Definition at line 88 of file ColorizeMask.cpp.
References KisColorizeMask::keyStrokesColors(), KIS_SAFE_ASSERT_RECOVER_RETURN_VALUE, Node::node(), and KisColorizeMask::KeyStrokeColors::transparentIndex.
|
overridevirtualslot |
type Krita has several types of nodes, split in layers and masks. Group layers can contain other layers, any layer can contain masks.
If the Node object isn't wrapping a valid Krita layer or mask object, and empty string is returned.
Definition at line 287 of file ColorizeMask.cpp.
|
slot |
updateMask Process the Colorize Mask's keystrokes and generate a projection of the computed colors.
| force | force an update |
Definition at line 219 of file ColorizeMask.cpp.
References KisLayerPropertiesIcons::colorizeNeedsUpdate, KisColorizeMask::forceRegenerateMask(), Node::image(), KIS_SAFE_ASSERT_RECOVER_RETURN, Node::node(), and KisLayerPropertiesIcons::setNodePropertyAutoUndo().
|
slot |
useEdgeDetection
Definition at line 163 of file ColorizeMask.cpp.
References KIS_SAFE_ASSERT_RECOVER_RETURN_VALUE, Node::node(), and KisColorizeMask::useEdgeDetection().