|
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 49 of file kis_perspective_transform_strategy.cpp.
|
inline |
Definition at line 51 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 668 of file kis_perspective_transform_strategy.cpp.
References kisDistanceToLine(), and kisSquareDistance().
| void KisPerspectiveTransformStrategy::Private::recalculateTransformedHandles | ( | ) |
Definition at line 131 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 465 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 412 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 106 of file kis_perspective_transform_strategy.cpp.
| QPointF KisPerspectiveTransformStrategy::Private::clickPos |
Definition at line 105 of file kis_perspective_transform_strategy.cpp.
| const KisCoordinatesConverter* KisPerspectiveTransformStrategy::Private::converter |
standard members ///
Definition at line 68 of file kis_perspective_transform_strategy.cpp.
| ToolTransformArgs& KisPerspectiveTransformStrategy::Private::currentArgs |
Definition at line 71 of file kis_perspective_transform_strategy.cpp.
| int KisPerspectiveTransformStrategy::Private::currentDraggingHandlePoint {0} |
Definition at line 101 of file kis_perspective_transform_strategy.cpp.
| QVector<QPointF> KisPerspectiveTransformStrategy::Private::dstHandlePoints |
Definition at line 100 of file kis_perspective_transform_strategy.cpp.
| StrokeFunction KisPerspectiveTransformStrategy::Private::function {NONE} |
| QTransform KisPerspectiveTransformStrategy::Private::handlesTransform |
Definition at line 82 of file kis_perspective_transform_strategy.cpp.
| bool KisPerspectiveTransformStrategy::Private::imageTooBig {false} |
Definition at line 103 of file kis_perspective_transform_strategy.cpp.
| bool KisPerspectiveTransformStrategy::Private::isTransforming {false} |
Definition at line 107 of file kis_perspective_transform_strategy.cpp.
| QImage KisPerspectiveTransformStrategy::Private::originalImage |
Definition at line 77 of file kis_perspective_transform_strategy.cpp.
| QPointF KisPerspectiveTransformStrategy::Private::paintingOffset |
Definition at line 80 of file kis_perspective_transform_strategy.cpp.
| QTransform KisPerspectiveTransformStrategy::Private::paintingTransform |
Definition at line 79 of file kis_perspective_transform_strategy.cpp.
| KisPerspectiveTransformStrategy* KisPerspectiveTransformStrategy::Private::q |
Definition at line 64 of file kis_perspective_transform_strategy.cpp.
| QVector<QPointF> KisPerspectiveTransformStrategy::Private::srcHandlePoints |
Definition at line 99 of file kis_perspective_transform_strategy.cpp.
| QTransform KisPerspectiveTransformStrategy::Private::thumbToImageTransform |
Definition at line 76 of file kis_perspective_transform_strategy.cpp.
| TransformTransactionProperties& KisPerspectiveTransformStrategy::Private::transaction |
Definition at line 73 of file kis_perspective_transform_strategy.cpp.
| QTransform KisPerspectiveTransformStrategy::Private::transform |
Definition at line 97 of file kis_perspective_transform_strategy.cpp.
| HandlePoints KisPerspectiveTransformStrategy::Private::transformedHandles |
Definition at line 95 of file kis_perspective_transform_strategy.cpp.