|
Krita Source Code Documentation
|
Classes | |
| struct | HandlePoints |
Public Member Functions | |
| QCursor | getScaleCursor (const QPointF &handlePt) |
| QCursor | getShearCursor (const QPointF &start, const QPointF &end) |
| Private (KisPerspectiveTransformStrategy *_q, const KisCoordinatesConverter *_converter, ToolTransformArgs &_currentArgs, TransformTransactionProperties &_transaction) | |
| void | recalculateTransformations () |
| void | recalculateTransformedHandles () |
| QTransform | transformFromArgs () |
| void | transformIntoArgs (const Eigen::Matrix3f &t) |
Public Attributes | |
| ToolTransformArgs | clickArgs |
| QPointF | clickPos |
| const KisCoordinatesConverter * | converter |
| standard members /// | |
| ToolTransformArgs & | currentArgs |
| int | currentDraggingHandlePoint {0} |
| QVector< QPointF > | dstHandlePoints |
| StrokeFunction | function {NONE} |
| custom members /// | |
| QTransform | handlesTransform |
| bool | imageTooBig {false} |
| bool | isTransforming {false} |
| QImage | originalImage |
| QPointF | paintingOffset |
| QTransform | paintingTransform |
| KisPerspectiveTransformStrategy * | q |
| QVector< QPointF > | srcHandlePoints |
| QTransform | thumbToImageTransform |
| TransformTransactionProperties & | transaction |
| QTransform | transform |
| HandlePoints | transformedHandles |
Definition at line 48 of file kis_perspective_transform_strategy.cpp.
|
inline |
Definition at line 50 of file kis_perspective_transform_strategy.cpp.
| QCursor KisPerspectiveTransformStrategy::Private::getScaleCursor | ( | const QPointF & | handlePt | ) |
| QCursor KisPerspectiveTransformStrategy::Private::getShearCursor | ( | const QPointF & | start, |
| const QPointF & | end ) |
| void KisPerspectiveTransformStrategy::Private::recalculateTransformations | ( | ) |
Definition at line 667 of file kis_perspective_transform_strategy.cpp.
References kisDistanceToLine(), and kisSquareDistance().
| void KisPerspectiveTransformStrategy::Private::recalculateTransformedHandles | ( | ) |
Definition at line 130 of file kis_perspective_transform_strategy.cpp.
References dstHandlePoints, TransformTransactionProperties::originalBottomLeft(), TransformTransactionProperties::originalBottomRight(), TransformTransactionProperties::originalMiddleBottom(), TransformTransactionProperties::originalMiddleLeft(), TransformTransactionProperties::originalMiddleRight(), TransformTransactionProperties::originalMiddleTop(), TransformTransactionProperties::originalTopLeft(), TransformTransactionProperties::originalTopRight(), qFuzzyCompare(), srcHandlePoints, transaction, transform, transformedHandles, v, KisPerspectiveTransformStrategy::Private::HandlePoints::xVanishing, KisPerspectiveTransformStrategy::Private::HandlePoints::xVanishingExists, KisPerspectiveTransformStrategy::Private::HandlePoints::yVanishing, and KisPerspectiveTransformStrategy::Private::HandlePoints::yVanishingExists.
| QTransform KisPerspectiveTransformStrategy::Private::transformFromArgs | ( | ) |
Definition at line 464 of file kis_perspective_transform_strategy.cpp.
References KisTransformUtils::MatricesPack::finalTransform().
| void KisPerspectiveTransformStrategy::Private::transformIntoArgs | ( | const Eigen::Matrix3f & | t | ) |
We disabled decomposed transformation due to bug https://bugs.kde.org/show_bug.cgi?id=447255
In some cases decomposed preliminary transformation shrinks the image into a very small size, which is later inflated by the perspective transform. It creates a really bad and blurry result.
Even though the usage of preliminary rotation makes the bug much less obvious, but the image is still really blurred.
Definition at line 411 of file kis_perspective_transform_strategy.cpp.
References KisAlgebra2D::DecomposedMatrix::angle, fromQTransform(), fromTranslate(), kisDegreesToRadians(), KisAlgebra2D::DecomposedMatrix::rotateTransform(), KisAlgebra2D::DecomposedMatrix::scaleTransform(), KisAlgebra2D::DecomposedMatrix::scaleX, KisAlgebra2D::DecomposedMatrix::scaleY, KisAlgebra2D::DecomposedMatrix::shearTransform(), KisAlgebra2D::DecomposedMatrix::shearXY, and toQTransform().
| ToolTransformArgs KisPerspectiveTransformStrategy::Private::clickArgs |
Definition at line 105 of file kis_perspective_transform_strategy.cpp.
| QPointF KisPerspectiveTransformStrategy::Private::clickPos |
Definition at line 104 of file kis_perspective_transform_strategy.cpp.
| const KisCoordinatesConverter* KisPerspectiveTransformStrategy::Private::converter |
standard members ///
Definition at line 67 of file kis_perspective_transform_strategy.cpp.
| ToolTransformArgs& KisPerspectiveTransformStrategy::Private::currentArgs |
Definition at line 70 of file kis_perspective_transform_strategy.cpp.
| int KisPerspectiveTransformStrategy::Private::currentDraggingHandlePoint {0} |
Definition at line 100 of file kis_perspective_transform_strategy.cpp.
| QVector<QPointF> KisPerspectiveTransformStrategy::Private::dstHandlePoints |
Definition at line 99 of file kis_perspective_transform_strategy.cpp.
| StrokeFunction KisPerspectiveTransformStrategy::Private::function {NONE} |
| QTransform KisPerspectiveTransformStrategy::Private::handlesTransform |
Definition at line 81 of file kis_perspective_transform_strategy.cpp.
| bool KisPerspectiveTransformStrategy::Private::imageTooBig {false} |
Definition at line 102 of file kis_perspective_transform_strategy.cpp.
| bool KisPerspectiveTransformStrategy::Private::isTransforming {false} |
Definition at line 106 of file kis_perspective_transform_strategy.cpp.
| QImage KisPerspectiveTransformStrategy::Private::originalImage |
Definition at line 76 of file kis_perspective_transform_strategy.cpp.
| QPointF KisPerspectiveTransformStrategy::Private::paintingOffset |
Definition at line 79 of file kis_perspective_transform_strategy.cpp.
| QTransform KisPerspectiveTransformStrategy::Private::paintingTransform |
Definition at line 78 of file kis_perspective_transform_strategy.cpp.
| KisPerspectiveTransformStrategy* KisPerspectiveTransformStrategy::Private::q |
Definition at line 63 of file kis_perspective_transform_strategy.cpp.
| QVector<QPointF> KisPerspectiveTransformStrategy::Private::srcHandlePoints |
Definition at line 98 of file kis_perspective_transform_strategy.cpp.
| QTransform KisPerspectiveTransformStrategy::Private::thumbToImageTransform |
Definition at line 75 of file kis_perspective_transform_strategy.cpp.
| TransformTransactionProperties& KisPerspectiveTransformStrategy::Private::transaction |
Definition at line 72 of file kis_perspective_transform_strategy.cpp.
| QTransform KisPerspectiveTransformStrategy::Private::transform |
Definition at line 96 of file kis_perspective_transform_strategy.cpp.
| HandlePoints KisPerspectiveTransformStrategy::Private::transformedHandles |
Definition at line 94 of file kis_perspective_transform_strategy.cpp.