|
Krita Source Code Documentation
|
#include <kis_transform_utils.h>
Classes | |
| struct | AnchorHolder |
| class | HandleChooser |
| struct | MatricesPack |
Static Public Member Functions | |
| static QRect | changeRect (const ToolTransformArgs &config, const QRect &rc) |
| static bool | checkImageTooBig (const QRectF &bounds, const MatricesPack &m, qreal cameraHeight) |
| static QPointF | clipInRect (QPointF p, QRectF r) |
| static KisTransformWorker | createTransformWorker (const ToolTransformArgs &config, KisPaintDeviceSP device, KoUpdaterPtr updater) |
| static qreal | effectiveHandleGrabRadius (const KisCoordinatesConverter *converter) |
| static qreal | effectiveRotationHandleGrabRadius (const KisCoordinatesConverter *converter) |
| static qreal | effectiveSize (const QRectF &rc) |
| static bool | fetchArgsFromCommand (const KUndo2Command *command, ToolTransformArgs *args, KisNodeList *rootNodes, KisNodeList *transformedNodes, int *oldTime) |
| static int | fetchCurrentImageTime (KisNodeList rootNodes) |
| static QList< KisNodeSP > | fetchNodesList (ToolTransformArgs::TransformMode mode, KisNodeList rootNodes, bool isExternalSourcePresent, KisSelectionSP selection) |
| template<class T > | |
| static T | flakeToImage (const KisCoordinatesConverter *converter, T object) |
| static QRectF | handleRect (qreal radius, const QTransform &t, const QRectF &limitingRect, const QPointF &basePoint) |
| static QRectF | handleRect (qreal radius, const QTransform &t, const QRectF &limitingRect, qreal *dOutX, qreal *dOutY) |
| template<class T > | |
| static T | imageToFlake (const KisCoordinatesConverter *converter, T object) |
| static QTransform | imageToFlakeTransform (const KisCoordinatesConverter *converter) |
| static QRect | needRect (const ToolTransformArgs &config, const QRect &rc, const QRect &srcBounds) |
| static void | postProcessToplevelCommand (KUndo2Command *command, const ToolTransformArgs &args, KisNodeList rootNodes, KisNodeList processedNodes, int currentTime, const KisSavedMacroCommand *overriddenCommand) |
| static ToolTransformArgs | resetArgsForMode (ToolTransformArgs::TransformMode mode, const QString &filterId, const TransformTransactionProperties &transaction, KisPaintDeviceSP externalSource) |
| static qreal | scaleFromAffineMatrix (const QTransform &t) |
| static qreal | scaleFromPerspectiveMatrixX (const QTransform &t, const QPointF &basePt) |
| static qreal | scaleFromPerspectiveMatrixY (const QTransform &t, const QPointF &basePt) |
| static void | setDefaultWarpPoints (int pointsPerLine, const TransformTransactionProperties *transaction, ToolTransformArgs *config) |
| static bool | shouldRestartStrokeOnModeChange (ToolTransformArgs::TransformMode oldMode, ToolTransformArgs::TransformMode newMode, KisNodeList processedNodes) |
| static bool | thumbnailTooSmall (const QTransform &resultThumbTransform, const QRect &originalImageRect) |
| static void | transformAndMergeDevice (const ToolTransformArgs &config, KisPaintDeviceSP src, KisPaintDeviceSP dst, KisProcessingVisitor::ProgressHelper *helper) |
| static void | transformDevice (const ToolTransformArgs &config, KisPaintDeviceSP device, KisProcessingVisitor::ProgressHelper *helper) |
| static void | transformDevice (const ToolTransformArgs &config, KisPaintDeviceSP srcDevice, KisPaintDeviceSP dstDevice, KisProcessingVisitor::ProgressHelper *helper) |
| static void | transformDeviceWithCroppedDst (const ToolTransformArgs &config, KisPaintDeviceSP srcDevice, KisPaintDeviceSP dstDevice, KisProcessingVisitor::ProgressHelper *helper, bool forceSubPixelTranslation) |
| static bool | tryFetchArgsFromCommandAndUndo (ToolTransformArgs *outArgs, ToolTransformArgs::TransformMode mode, KisNodeList currentNodes, KisNodeList selectedNodes, KisStrokeUndoFacade *undoFacade, int currentTime, QVector< KisStrokeJobData * > *undoJobs, const KisSavedMacroCommand **overriddenCommand) |
| static bool | tryInitArgsFromNode (KisNodeList rootNodes, ToolTransformArgs *args) |
| static KisNodeSP | tryOverrideRootToTransformMask (KisNodeSP root) |
Static Public Attributes | |
| static const int | handleRadius = 8 |
| static const int | handleVisualRadius = 12 |
| static const int | rotationHandleRadius = 8 |
| static const int | rotationHandleVisualRadius = 12 |
Definition at line 31 of file kis_transform_utils.h.
|
static |
Definition at line 418 of file kis_transform_utils.cpp.
References ToolTransformArgs::alpha(), KisCageTransformWorker::approxChangeRect(), KisLiquifyTransformWorker::approxChangeRect(), KisWarpTransformWorker::approxChangeRect(), KisBezierTransformMeshDetail::KisBezierTransformMesh::approxChangeRect(), ToolTransformArgs::CAGE, KIS_ASSERT_RECOVER_NOOP, ToolTransformArgs::LIQUIFY, ToolTransformArgs::liquifyWorker(), ToolTransformArgs::MESH, ToolTransformArgs::meshTransform(), ToolTransformArgs::mode(), ToolTransformArgs::origPoints(), ToolTransformArgs::pixelPrecision(), KisCageTransformWorker::setTransformedCage(), ToolTransformArgs::transfPoints(), ToolTransformArgs::WARP, and ToolTransformArgs::warpType().
|
static |
Definition at line 191 of file kis_transform_utils.cpp.
References bounds, KisTransformUtils::MatricesPack::P, KisTransformUtils::MatricesPack::S, KisTransformUtils::MatricesPack::SC, KisTransformUtils::MatricesPack::T, KisTransformUtils::MatricesPack::TS, and v.
|
static |
Definition at line 112 of file kis_transform_utils.cpp.
References p.
|
static |
Definition at line 218 of file kis_transform_utils.cpp.
References KisAlgebra2D::DecomposedMatrix::angle, ToolTransformArgs::aZ(), ToolTransformArgs::boundsRotation(), KisTransformUtils::MatricesPack::BRI, ToolTransformArgs::filter(), KisAlgebra2D::DecomposedMatrix::isValid(), kisDegreesToRadians(), normalizeAngle(), ToolTransformArgs::originalCenter(), KisTransformUtils::MatricesPack::S, KisTransformUtils::MatricesPack::SC, KisAlgebra2D::DecomposedMatrix::scaleX, ToolTransformArgs::scaleX(), KisAlgebra2D::DecomposedMatrix::scaleY, ToolTransformArgs::scaleY(), ToolTransformArgs::shearX(), KisAlgebra2D::DecomposedMatrix::shearXY, ToolTransformArgs::shearY(), KisTransformWorker::transform(), and ToolTransformArgs::transformedCenter().
|
static |
Definition at line 45 of file kis_transform_utils.cpp.
References flakeToImage(), and handleRadius.
|
static |
Definition at line 51 of file kis_transform_utils.cpp.
References flakeToImage(), and rotationHandleRadius.
|
static |
Definition at line 71 of file kis_transform_utils.cpp.
|
static |
Definition at line 625 of file kis_transform_utils.cpp.
References KUndo2Command::extraData(), TransformExtraData::rootNodes, TransformExtraData::savedTransformArgs, TransformExtraData::transformedNodes, and TransformExtraData::transformedTime.
|
static |
We cannot just use projection's default bounds, because masks don't have any projection
Definition at line 658 of file kis_transform_utils.cpp.
References KisImage::animationInterface(), KisImageAnimationInterface::currentTime(), and KisBaseNode::image.
|
static |
Cannot transform nodes with visible transform masks inside, this situation should have been caught either in tryOverrideRootToTransformMask or in the transform tool stroke initialization routine.
Definition at line 672 of file kis_transform_utils.cpp.
References ToolTransformArgs::FREE_TRANSFORM, KisBaseNode::isEditable(), KIS_SAFE_ASSERT_RECOVER_NOOP, KisSelection::parentNode, KisLayerUtils::recursiveApplyNodes(), KisLayerUtils::recursiveFindNode(), KisLayerUtils::sortMergeableInternalNodes(), and KisBaseNode::visible().
|
inlinestatic |
Definition at line 41 of file kis_transform_utils.h.
References KisCoordinatesConverter::documentToImage(), and KisCoordinatesConverter::flakeToDocument().
|
static |
Definition at line 108 of file kis_transform_utils.cpp.
References handleRectImpl().
|
static |
Definition at line 104 of file kis_transform_utils.cpp.
References handleRectImpl().
|
inlinestatic |
Definition at line 46 of file kis_transform_utils.h.
References KisCoordinatesConverter::documentToFlake(), and KisCoordinatesConverter::imageToDocument().
|
static |
Definition at line 40 of file kis_transform_utils.cpp.
References KisCoordinatesConverter::documentToFlakeTransform(), and KisCoordinatesConverter::imageToDocumentTransform().
|
static |
Definition at line 384 of file kis_transform_utils.cpp.
References ToolTransformArgs::alpha(), KisBezierTransformMeshDetail::KisBezierTransformMesh::approxNeedRect(), KisCageTransformWorker::approxNeedRect(), KisLiquifyTransformWorker::approxNeedRect(), KisWarpTransformWorker::approxNeedRect(), ToolTransformArgs::CAGE, KIS_ASSERT_RECOVER_NOOP, ToolTransformArgs::LIQUIFY, ToolTransformArgs::liquifyWorker(), ToolTransformArgs::MESH, ToolTransformArgs::meshTransform(), ToolTransformArgs::mode(), ToolTransformArgs::origPoints(), ToolTransformArgs::pixelPrecision(), KisCageTransformWorker::setTransformedCage(), ToolTransformArgs::transfPoints(), ToolTransformArgs::WARP, and ToolTransformArgs::warpType().
|
static |
Definition at line 607 of file kis_transform_utils.cpp.
References KIS_SAFE_ASSERT_RECOVER_NOOP, TransformExtraData::rootNodes, TransformExtraData::savedTransformArgs, KUndo2Command::setExtraData(), KisSavedMacroCommand::setOverrideInfo(), TransformExtraData::transformedNodes, and TransformExtraData::transformedTime.
|
static |
Definition at line 515 of file kis_transform_utils.cpp.
References ToolTransformArgs::CAGE, ToolTransformArgs::FREE_TRANSFORM, ToolTransformArgs::initLiquifyTransformMode(), ToolTransformArgs::LIQUIFY, ToolTransformArgs::MESH, ToolTransformArgs::meshTransform(), TransformTransactionProperties::originalCenterGeometric(), TransformTransactionProperties::originalRect(), ToolTransformArgs::PERSPECTIVE_4POINT, setDefaultWarpPoints(), ToolTransformArgs::setEditingTransformPoints(), ToolTransformArgs::setExternalSource(), ToolTransformArgs::setFilterId(), ToolTransformArgs::setMode(), ToolTransformArgs::setOriginalCenter(), ToolTransformArgs::setTransformedCenter(), and ToolTransformArgs::WARP.
|
static |
Definition at line 57 of file kis_transform_utils.cpp.
References KoUnit::approxTransformScale().
|
static |
Definition at line 61 of file kis_transform_utils.cpp.
References kisDistance().
|
static |
Definition at line 66 of file kis_transform_utils.cpp.
References kisDistance().
|
static |
Definition at line 476 of file kis_transform_utils.cpp.
References TransformTransactionProperties::originalCenterGeometric(), TransformTransactionProperties::originalRect(), ToolTransformArgs::setDefaultPoints(), and ToolTransformArgs::setPoints().
|
static |
Definition at line 555 of file kis_transform_utils.cpp.
References ToolTransformArgs::FREE_TRANSFORM.
|
static |
Definition at line 75 of file kis_transform_utils.cpp.
References KisAlgebra2D::minDimension().
|
static |
Definition at line 576 of file kis_transform_utils.cpp.
References KisPainter::bitBlt(), KisPainter::end(), KisPainter::setProgress(), transformDevice(), and KisProcessingVisitor::ProgressHelper::updater().
|
static |
|
static |
Definition at line 371 of file kis_transform_utils.cpp.
|
static |
Definition at line 379 of file kis_transform_utils.cpp.
|
static |
Definition at line 738 of file kis_transform_utils.cpp.
References KritaUtils::compareListsUnordered(), fetchArgsFromCommand(), KisSavedMacroCommand::getCommandExecutionJobs(), KIS_SAFE_ASSERT_RECOVER_RETURN_VALUE, KisStrokeUndoFacade::lastExecutedCommand(), ToolTransformArgs::mode(), and ToolTransformArgs::saveContinuedState().
|
static |
Definition at line 714 of file kis_transform_utils.cpp.
References KisSharedPtr< T >::data(), KisTransformMaskAdapter::isInitialized(), and KisTransformMaskAdapter::transformArgs().
Definition at line 639 of file kis_transform_utils.cpp.
References KisNode::firstChild(), KisBaseNode::isEditable(), and KisNode::nextSibling().
|
static |
Definition at line 37 of file kis_transform_utils.h.
|
static |
Definition at line 36 of file kis_transform_utils.h.
|
static |
Definition at line 38 of file kis_transform_utils.h.
|
static |
Definition at line 35 of file kis_transform_utils.h.