Krita Source Code Documentation
Loading...
Searching...
No Matches
kis_layer_utils.cpp File Reference
#include "kis_layer_utils.h"
#include <algorithm>
#include <QUuid>
#include <KoColorSpaceConstants.h>
#include <KoProperties.h>
#include "kis_painter.h"
#include "kis_image.h"
#include "kis_node.h"
#include "kis_layer.h"
#include "kis_paint_layer.h"
#include "kis_clone_layer.h"
#include "kis_group_layer.h"
#include "kis_selection.h"
#include "kis_selection_mask.h"
#include "kis_meta_data_merge_strategy.h"
#include <kundo2command.h>
#include "commands/kis_image_layer_add_command.h"
#include "commands/kis_image_layer_remove_command.h"
#include "commands/kis_image_layer_move_command.h"
#include "commands/kis_image_change_layers_command.h"
#include "commands_new/kis_activate_selection_mask_command.h"
#include "commands/kis_image_change_visibility_command.h"
#include "kis_abstract_projection_plane.h"
#include "kis_processing_applicator.h"
#include "kis_image_animation_interface.h"
#include "kis_keyframe_channel.h"
#include "kis_raster_keyframe_channel.h"
#include "kis_projection_leaf.h"
#include "kis_scalar_keyframe_channel.h"
#include "kis_time_span.h"
#include "kis_command_utils.h"
#include "commands_new/kis_change_projection_color_command.h"
#include "kis_layer_properties_icons.h"
#include "lazybrush/kis_colorize_mask.h"
#include "commands/kis_node_property_list_command.h"
#include "commands/kis_node_compositeop_command.h"
#include <KisDelayedUpdateNodeInterface.h>
#include <KisCroppedOriginalLayerInterface.h>
#include "krita_utils.h"
#include "kis_image_signal_router.h"
#include "kis_sequential_iterator.h"
#include "kis_transparency_mask.h"
#include "kis_paint_device_frames_interface.h"
#include "kis_command_ids.h"
#include "kis_image_config.h"
#include "KisFutureUtils.h"
#include "KisBatchUpdateLayerModificationCommand.h"
#include "commands_new/KisChangeCloneLayersCommand.h"

Go to the source code of this file.

Classes

struct  KisLayerUtils::ActivateSelectionMask
 
struct  KisLayerUtils::AddNewFrame
 
struct  KisLayerUtils::CleanUpNodes
 
struct  KisLayerUtils::ConvertToPaintLayerInfo
 
struct  KisLayerUtils::CreateMergedLayer
 
struct  KisLayerUtils::CreateMergedLayerMultiple
 
struct  KisLayerUtils::DisableColorizeKeyStrokes
 
struct  KisLayerUtils::DisableExtraCompositing
 
struct  KisLayerUtils::DisableOnionSkins
 
struct  KisLayerUtils::DisablePassThroughForHeadsOnly
 
struct  KisLayerUtils::EphemeralCommandsWrapper
 
struct  KisLayerUtils::FillSelectionMasks
 
struct  KisLayerUtils::InitSplitAlphaSelectionMask
 
struct  KisLayerUtils::InsertNode
 
struct  KisLayerUtils::KeepMergedNodesSelected
 
struct  KisLayerUtils::MergeDownInfo
 
struct  KisLayerUtils::MergeDownInfoBase
 
struct  KisLayerUtils::MergeLayers
 
struct  KisLayerUtils::MergeLayersMultiple
 
struct  KisLayerUtils::MergeMetaData
 
struct  KisLayerUtils::MergeMultipleInfo
 
struct  KisLayerUtils::MergeSelectionMasks
 
struct  KisLayerUtils::RefreshHiddenAreas::refresh_entire_image_t
 
struct  KisLayerUtils::RefreshDelayedUpdateLayers
 
struct  KisLayerUtils::RefreshHiddenAreas
 
struct  KisLayerUtils::SimpleAddNode
 
struct  KisLayerUtils::SplitAlphaCommand
 
struct  KisLayerUtils::SplitAlphaToMaskInfo
 
struct  KisLayerUtils::UndoEphemeralCommands
 
struct  KisLayerUtils::UploadProjectionToFrameCommand
 

Namespaces

namespace  KisLayerUtils
 
namespace  KisLayerUtils::Private
 

Typedefs

typedef QSharedPointer< ConvertToPaintLayerInfoKisLayerUtils::ConvertToPaintLayerInfoSP
 
typedef QSharedPointer< MergeDownInfoBaseKisLayerUtils::MergeDownInfoBaseSP
 
typedef QSharedPointer< MergeDownInfoKisLayerUtils::MergeDownInfoSP
 
typedef QSharedPointer< MergeMultipleInfoKisLayerUtils::MergeMultipleInfoSP
 
typedef QSharedPointer< SplitAlphaToMaskInfoKisLayerUtils::SplitAlphaToMaskInfoSP
 

Functions

void KisLayerUtils::addCopyOfNameTag (KisNodeSP node)
 
bool KisLayerUtils::canChangeImageProfileInvisibly (KisImageSP image)
 
void KisLayerUtils::changeImageDefaultProjectionColor (KisImageSP image, const KoColor &color)
 
bool KisLayerUtils::checkIsChildOf (KisNodeSP node, const KisNodeList &parents)
 
bool KisLayerUtils::checkIsCloneOf (KisNodeSP node, const KisNodeList &nodes)
 
std::future< KisNodeSPKisLayerUtils::convertToPaintLayer (KisImageSP image, KisNodeSP src)
 
int KisLayerUtils::fetchLayerActiveRasterFrameID (KisNodeSP node)
 
KisTimeSpan KisLayerUtils::fetchLayerActiveRasterFrameSpan (KisNodeSP node, const int time)
 
int KisLayerUtils::fetchLayerActiveRasterFrameTime (KisNodeSP node)
 
QSet< int > KisLayerUtils::fetchLayerFrames (KisNodeSP node)
 
QSet< int > KisLayerUtils::fetchLayerFramesRecursive (KisNodeSP rootNode)
 
QSet< int > KisLayerUtils::fetchLayerIdenticalRasterFrameTimes (KisNodeSP node, const int &frameTime)
 
QSet< int > KisLayerUtils::fetchLayerRasterFrameTimesMatchingID (KisNodeSP node, const int frameID)
 
QSet< int > KisLayerUtils::fetchLayerRasterIDsAtTimes (KisNodeSP node, const QSet< int > &times)
 
QSet< int > KisLayerUtils::fetchLayerUniqueRasterTimesMatchingIDs (KisNodeSP node, QSet< int > &frameIDs)
 
void KisLayerUtils::fetchSelectionMasks (KisNodeList mergedNodes, QVector< KisSelectionMaskSP > &selectionMasks)
 
QSet< int > KisLayerUtils::fetchUniqueFrameTimes (KisNodeSP node, QSet< int > selectedTimes, bool filterActiveFrameID)
 
KisNodeList KisLayerUtils::filterInvisibleNodes (const KisNodeList &nodes, KisNodeList *invisibleNodes, KisNodeSP *putAfter)
 
void KisLayerUtils::filterMergeableNodes (KisNodeList &nodes, bool allowMasks)
 
QSet< int > KisLayerUtils::filterTimesForOnlyRasterKeyedTimes (KisNodeSP node, const QSet< int > &times)
 
void KisLayerUtils::filterUnlockedNodes (KisNodeList &nodes)
 
KisImageSP KisLayerUtils::findImageByHierarchy (KisNodeSP node)
 
KisNodeSP KisLayerUtils::findNodeByName (KisNodeSP root, const QString &name)
 
KisNodeSP KisLayerUtils::findNodeByUuid (KisNodeSP root, const QUuid &uuid)
 
QList< KisNodeSPKisLayerUtils::findNodesByName (KisNodeSP root, const QString &name, bool recursive, bool partialMatch)
 
KisNodeList KisLayerUtils::findNodesWithProps (KisNodeSP root, const KoProperties &props, bool excludeRoot)
 
KisNodeSP KisLayerUtils::findRoot (KisNodeSP node)
 
void KisLayerUtils::flattenImage (KisImageSP image, KisNodeSP activeNode, MergeFlags flags)
 
void KisLayerUtils::flattenLayer (KisImageSP image, KisLayerSP layer, MergeFlags flags)
 
void KisLayerUtils::forceAllDelayedNodesUpdate (KisNodeSP root)
 
void KisLayerUtils::forceAllHiddenOriginalsUpdate (KisNodeSP root)
 
bool KisLayerUtils::hasDelayedNodeWithUpdates (KisNodeSP root)
 
void KisLayerUtils::mergeDown (KisImageSP image, KisLayerSP layer, const KisMetaData::MergeStrategy *strategy, MergeFlags flags)
 
void KisLayerUtils::mergeMultipleLayers (KisImageSP image, KisNodeList mergedNodes, KisNodeSP putAfter, MergeFlags flags)
 
void KisLayerUtils::mergeMultipleLayersImpl (KisImageSP image, KisNodeList mergedNodes, KisNodeSP putAfter, bool flattenSingleLayer, const KUndo2MagicString &actionName, bool cleanupNodes=true, const QString layerName=QString(), MergeFlags flags=None)
 
void KisLayerUtils::mergeMultipleNodes (KisImageSP image, KisNodeList mergedNodes, KisNodeSP putAfter, MergeFlags flags)
 
void KisLayerUtils::newLayerFromVisible (KisImageSP image, KisNodeSP putAfter, MergeFlags flags)
 
QRect KisLayerUtils::Private::realNodeChangeRect (KisNodeSP rootNode, QRect currentRect=QRect())
 
KisNodeSP KisLayerUtils::recursiveFindNode (KisNodeSP node, std::function< bool(KisNodeSP)> func)
 
QRect KisLayerUtils::recursiveTightNodeVisibleBounds (KisNodeSP rootNode)
 
void KisLayerUtils::refreshHiddenAreaAsync (KisImageSP image, KisNodeSP rootNode, const QRect &preparedArea)
 
void KisLayerUtils::Private::refreshHiddenAreaAsync (KisImageSP image, KisNodeSP rootNode, const QRect &preparedArea, const QRect &extraUpdateRect)
 
KisNodeList KisLayerUtils::sortAndFilterAnyMergeableNodesSafe (const KisNodeList &nodes, KisImageSP image)
 
KisNodeList KisLayerUtils::sortAndFilterMergeableInternalNodes (KisNodeList nodes, bool allowMasks)
 
KisNodeList KisLayerUtils::sortMergeableInternalNodes (KisNodeList nodes)
 
void KisLayerUtils::sortMergeableNodes (KisNodeSP root, KisNodeList &inputNodes, KisNodeList &outputNodes)
 
KisNodeList KisLayerUtils::sortMergeableNodes (KisNodeSP root, KisNodeList nodes)
 
void KisLayerUtils::splitAlphaToMask (KisImageSP image, KisNodeSP node, const QString &maskName)
 
void KisLayerUtils::splitNonRemovableNodes (KisNodeList &nodesToRemove, KisNodeList &_nodesToHide)
 
bool KisLayerUtils::tryMergeSelectionMasks (KisImageSP image, KisNodeList mergedNodes, KisNodeSP putAfter)
 
void KisLayerUtils::updateFrameJobs (FrameJobs *jobs, KisNodeSP node)
 
void KisLayerUtils::updateFrameJobsRecursive (FrameJobs *jobs, KisNodeSP rootNode)