|
Krita Source Code Documentation
|
The KisSegmentGradientSlider class makes it possible to edit gradients. More...
#include <KisSegmentGradientSlider.h>
Inheritance diagram for KisSegmentGradientSlider:Classes | |
| struct | Handle |
| struct | TemporallyDeletedHandleInfo |
Public Types | |
| enum | HandleType { HandleType_None , HandleType_Segment , HandleType_MidPoint , HandleType_Stop } |
Public Slots | |
| void | centerSelectedHandle () |
| void | chooseSelectedStopColor () |
| void | collapseSelectedSegment () |
| void | deleteHandle (Handle handle) |
| void | deleteSelectedHandle () |
| void | distributeStopsEvenly () |
| void | duplicateSelectedSegment () |
| void | flipGradient () |
| void | mirrorSelectedSegment () |
| void | moveHandle (Handle handle, qreal distance, bool useShrinkEpsilon=true) |
| void | moveHandleLeft (Handle handle, qreal distance, bool useShrinkEpsilon=true) |
| void | moveHandleRight (Handle handle, qreal distance, bool useShrinkEpsilon=true) |
| void | moveSelectedHandle (qreal distance, bool useShrinkEpsilon=true) |
| void | moveSelectedHandleLeft (qreal distance, bool useShrinkEpsilon=true) |
| void | moveSelectedHandleRight (qreal distance, bool useShrinkEpsilon=true) |
| void | selectNextHandle () |
| void | selectPreviousHandle () |
| void | setGradientResource (KoSegmentGradientSP agr) |
| void | splitSelectedSegment () |
Signals | |
| void | selectedHandleChanged () |
| void | updateRequested () |
Public Member Functions | |
| KisSegmentGradientSlider (QWidget *parent=nullptr, const char *name=nullptr, Qt::WindowFlags f=Qt::WindowFlags()) | |
| QSize | minimumSizeHint () const override |
| Handle | selectedHandle () |
| QSize | sizeHint () const override |
Static Public Attributes | |
| static constexpr qreal | shrinkEpsilon = 0.00001 |
Protected Member Functions | |
| void | keyPressEvent (QKeyEvent *e) override |
| void | leaveEvent (QEvent *e) override |
| void | mouseDoubleClickEvent (QMouseEvent *e) override |
| void | mouseMoveEvent (QMouseEvent *e) override |
| void | mousePressEvent (QMouseEvent *e) override |
| void | mouseReleaseEvent (QMouseEvent *e) override |
| void | paintEvent (QPaintEvent *) override |
| void | wheelEvent (QWheelEvent *e) override |
Private Slots | |
| void | updateHandleSize () |
Private Member Functions | |
| bool | deleteHandleImpl (Handle handle) |
| QRect | gradientStripeRect () const |
| void | handleIncrementInput (int direction, Qt::KeyboardModifiers modifiers) |
| QRect | handlesStripeRect () const |
| int | minimalHeight () const |
| QRect | sliderRect () const |
Private Attributes | |
| bool | m_drag {false} |
| qreal | m_dragT {0.0} |
| KoSegmentGradientSP | m_gradient |
| QSize | m_handleSize |
| Handle | m_hoveredHandle {HandleType_None, 0} |
| qreal | m_relativeDragOffset {0.0} |
| QAction * | m_removeSegmentAction {nullptr} |
| QMenu * | m_segmentMenu {nullptr} |
| Handle | m_selectedHandle {HandleType_None, 0} |
| TemporallyDeletedHandleInfo | m_temporallyDeletedHandleInfo |
| KisSignalCompressor | m_updateCompressor |
Static Private Attributes | |
| static constexpr int | removeStopDistance {32} |
The KisSegmentGradientSlider class makes it possible to edit gradients.
Definition at line 27 of file KisSegmentGradientSlider.h.
| Enumerator | |
|---|---|
| HandleType_None | |
| HandleType_Segment | |
| HandleType_MidPoint | |
| HandleType_Stop | |
Definition at line 32 of file KisSegmentGradientSlider.h.
| KisSegmentGradientSlider::KisSegmentGradientSlider | ( | QWidget * | parent = nullptr, |
| const char * | name = nullptr, | ||
| Qt::WindowFlags | f = Qt::WindowFlags() ) |
Definition at line 34 of file KisSegmentGradientSlider.cpp.
References connect(), m_updateCompressor, updateHandleSize(), and updateRequested().
|
slot |
Definition at line 871 of file KisSegmentGradientSlider.cpp.
References KoGradientSegment::endOffset(), HandleType_MidPoint, HandleType_Segment, HandleType_Stop, KisSegmentGradientSlider::Handle::index, m_gradient, m_selectedHandle, KoGradientSegment::middleOffset(), moveSelectedHandle(), KoGradientSegment::startOffset(), and KisSegmentGradientSlider::Handle::type.
|
slot |
Definition at line 1034 of file KisSegmentGradientSlider.cpp.
References COLOR_ENDPOINT, connect(), KoColor::fromQColor(), HandleType_Stop, KisSegmentGradientSlider::Handle::index, m_gradient, m_selectedHandle, selectedHandleChanged(), KisDlgInternalColorSelector::signalForegroundColorChosen(), KoColor::toQColor(), KisSegmentGradientSlider::Handle::type, and updateRequested().
|
slot |
Definition at line 857 of file KisSegmentGradientSlider.cpp.
References HandleType_Segment, KisSegmentGradientSlider::Handle::index, m_gradient, m_selectedHandle, selectedHandleChanged(), KisSegmentGradientSlider::Handle::type, and updateRequested().
Definition at line 844 of file KisSegmentGradientSlider.cpp.
References deleteHandleImpl(), selectedHandleChanged(), and updateRequested().
|
private |
Definition at line 817 of file KisSegmentGradientSlider.cpp.
References KoGradientSegment::endColor(), KoGradientSegment::endOffset(), KoGradientSegment::endType(), HandleType_Segment, HandleType_Stop, KisSegmentGradientSlider::Handle::index, m_gradient, m_selectedHandle, KoGradientSegment::setEndColor(), KoGradientSegment::setEndType(), KoGradientSegment::setMiddleOffset(), and KisSegmentGradientSlider::Handle::type.
|
slot |
Definition at line 852 of file KisSegmentGradientSlider.cpp.
References deleteHandle(), and m_selectedHandle.
|
slot |
Definition at line 967 of file KisSegmentGradientSlider.cpp.
References KoGradientSegment::endOffset(), m_gradient, KoGradientSegment::middleOffset(), selectedHandleChanged(), KoGradientSegment::setEndOffset(), KoGradientSegment::setMiddleOffset(), KoGradientSegment::setStartOffset(), KoGradientSegment::startOffset(), and updateRequested().
|
slot |
Definition at line 906 of file KisSegmentGradientSlider.cpp.
References HandleType_Segment, KisSegmentGradientSlider::Handle::index, m_gradient, m_selectedHandle, selectedHandleChanged(), KisSegmentGradientSlider::Handle::type, and updateRequested().
|
slot |
Definition at line 926 of file KisSegmentGradientSlider.cpp.
References COLOR_INTERP_HSV_CCW, COLOR_INTERP_HSV_CW, KoGradientSegment::colorInterpolation(), KoGradientSegment::endColor(), KoGradientSegment::endOffset(), KoGradientSegment::endType(), HandleType_Stop, KisSegmentGradientSlider::Handle::index, INTERP_SPHERE_DECREASING, INTERP_SPHERE_INCREASING, KoGradientSegment::interpolation(), m_gradient, m_selectedHandle, KoGradientSegment::middleOffset(), selectedHandleChanged(), KoGradientSegment::startColor(), KoGradientSegment::startOffset(), KoGradientSegment::startType(), KisSegmentGradientSlider::Handle::type, and updateRequested().
|
private |
Definition at line 992 of file KisSegmentGradientSlider.cpp.
References m_handleSize, and sliderRect().
|
private |
Definition at line 642 of file KisSegmentGradientSlider.cpp.
References moveSelectedHandle(), selectNextHandle(), and selectPreviousHandle().
|
private |
Definition at line 998 of file KisSegmentGradientSlider.cpp.
References m_handleSize, and sliderRect().
|
overrideprotected |
Definition at line 669 of file KisSegmentGradientSlider.cpp.
References chooseSelectedStopColor(), deleteSelectedHandle(), and handleIncrementInput().
|
overrideprotected |
Definition at line 691 of file KisSegmentGradientSlider.cpp.
References m_hoveredHandle, and updateRequested().
|
private |
Definition at line 1011 of file KisSegmentGradientSlider.cpp.
References m_handleSize.
|
override |
Definition at line 1028 of file KisSegmentGradientSlider.cpp.
References minimalHeight().
|
slot |
Definition at line 916 of file KisSegmentGradientSlider.cpp.
References HandleType_Segment, KisSegmentGradientSlider::Handle::index, m_gradient, m_selectedHandle, selectedHandleChanged(), KisSegmentGradientSlider::Handle::type, and updateRequested().
|
overrideprotected |
Definition at line 582 of file KisSegmentGradientSlider.cpp.
References chooseSelectedStopColor(), KoGradientSegment::endOffset(), handlesStripeRect(), KisSegmentGradientSlider::Handle::index, m_gradient, m_handleSize, m_selectedHandle, sliderRect(), and KoGradientSegment::startOffset().
|
overrideprotected |
Definition at line 351 of file KisSegmentGradientSlider.cpp.
References KoGradientSegment::colorInterpolation(), deleteHandleImpl(), KoGradientSegment::endColor(), KoGradientSegment::endOffset(), KoGradientSegment::endType(), KisSegmentGradientSlider::TemporallyDeletedHandleInfo::handle, handlesStripeRect(), HandleType_MidPoint, HandleType_None, HandleType_Segment, HandleType_Stop, KisSegmentGradientSlider::Handle::index, KoGradientSegment::interpolation(), kisGrowRect(), KisSegmentGradientSlider::TemporallyDeletedHandleInfo::leftColorInterpolationType, KisSegmentGradientSlider::TemporallyDeletedHandleInfo::leftEndPointColor, KisSegmentGradientSlider::TemporallyDeletedHandleInfo::leftEndPointOffset, KisSegmentGradientSlider::TemporallyDeletedHandleInfo::leftEndPointType, KisSegmentGradientSlider::TemporallyDeletedHandleInfo::leftInterpolationType, KisSegmentGradientSlider::TemporallyDeletedHandleInfo::leftMiddleOffset, KoGradientSegment::length(), m_drag, m_dragT, m_gradient, m_handleSize, m_hoveredHandle, m_relativeDragOffset, m_selectedHandle, m_temporallyDeletedHandleInfo, KoGradientSegment::middleOffset(), removeStopDistance, KisSegmentGradientSlider::TemporallyDeletedHandleInfo::rightColorInterpolationType, KisSegmentGradientSlider::TemporallyDeletedHandleInfo::rightEndPointColor, KisSegmentGradientSlider::TemporallyDeletedHandleInfo::rightEndPointOffset, KisSegmentGradientSlider::TemporallyDeletedHandleInfo::rightEndPointType, KisSegmentGradientSlider::TemporallyDeletedHandleInfo::rightInterpolationType, KisSegmentGradientSlider::TemporallyDeletedHandleInfo::rightMiddleOffset, selectedHandleChanged(), KoGradientSegment::setColorInterpolation(), KoGradientSegment::setEndColor(), KoGradientSegment::setEndOffset(), KoGradientSegment::setEndType(), KoGradientSegment::setInterpolation(), KoGradientSegment::setMiddleOffset(), KoGradientSegment::setStartColor(), KoGradientSegment::setStartOffset(), KoGradientSegment::setStartType(), shrinkEpsilon, sliderRect(), KoGradientSegment::startColor(), KoGradientSegment::startOffset(), KoGradientSegment::startType(), KisSegmentGradientSlider::Handle::type, and updateRequested().
|
overrideprotected |
Definition at line 267 of file KisSegmentGradientSlider.cpp.
References duplicateSelectedSegment(), KoGradientSegment::endOffset(), handlesStripeRect(), HandleType_MidPoint, HandleType_Segment, HandleType_Stop, KisSegmentGradientSlider::Handle::index, m_drag, m_dragT, m_gradient, m_handleSize, m_hoveredHandle, m_relativeDragOffset, m_selectedHandle, KoGradientSegment::middleOffset(), selectedHandle(), selectedHandleChanged(), KoGradientSegment::setMiddleOffset(), sliderRect(), KoGradientSegment::startOffset(), KisSegmentGradientSlider::Handle::type, and updateRequested().
|
overrideprotected |
Definition at line 344 of file KisSegmentGradientSlider.cpp.
References KisSegmentGradientSlider::TemporallyDeletedHandleInfo::handle, HandleType_None, m_drag, m_temporallyDeletedHandleInfo, and KisSegmentGradientSlider::Handle::type.
|
slot |
Definition at line 698 of file KisSegmentGradientSlider.cpp.
References distance(), KoGradientSegment::endOffset(), HandleType_MidPoint, HandleType_Segment, HandleType_Stop, KisSegmentGradientSlider::Handle::index, KoGradientSegment::length(), m_gradient, KoGradientSegment::middleOffset(), selectedHandleChanged(), KoGradientSegment::setEndOffset(), KoGradientSegment::setMiddleOffset(), KoGradientSegment::setStartOffset(), shrinkEpsilon, KoGradientSegment::startOffset(), KisSegmentGradientSlider::Handle::type, and updateRequested().
|
slot |
Definition at line 792 of file KisSegmentGradientSlider.cpp.
References distance(), and moveHandle().
|
slot |
Definition at line 797 of file KisSegmentGradientSlider.cpp.
References distance(), and moveHandle().
|
slot |
Definition at line 802 of file KisSegmentGradientSlider.cpp.
References distance(), m_selectedHandle, and moveHandle().
|
slot |
Definition at line 807 of file KisSegmentGradientSlider.cpp.
References distance(), and moveSelectedHandle().
|
slot |
Definition at line 812 of file KisSegmentGradientSlider.cpp.
References distance(), and moveSelectedHandle().
|
overrideprotected |
Definition at line 62 of file KisSegmentGradientSlider.cpp.
References KoGradientSegment::endColor(), KoGradientSegment::endOffset(), KoGradientSegment::endType(), gradientStripeRect(), handlesStripeRect(), HandleType_MidPoint, HandleType_Segment, HandleType_Stop, KisSegmentGradientSlider::Handle::index, m_gradient, m_handleSize, m_hoveredHandle, m_selectedHandle, KisGradientWidgetsUtils::paintGradientBox(), KisGradientWidgetsUtils::paintMidPointHandle(), KisGradientWidgetsUtils::paintStopHandle(), palette, KisGradientWidgetsUtils::segmentEndPointTypeToColorType(), KoGradientSegment::startColor(), KoGradientSegment::startOffset(), KoGradientSegment::startType(), KoColor::toQColor(), and KisSegmentGradientSlider::Handle::type.
|
inline |
Definition at line 50 of file KisSegmentGradientSlider.h.
|
signal |
|
slot |
Definition at line 622 of file KisSegmentGradientSlider.cpp.
References HandleType_MidPoint, HandleType_Segment, HandleType_Stop, KisSegmentGradientSlider::Handle::index, m_gradient, m_selectedHandle, selectedHandleChanged(), KisSegmentGradientSlider::Handle::type, and updateRequested().
|
slot |
Definition at line 602 of file KisSegmentGradientSlider.cpp.
References HandleType_MidPoint, HandleType_Segment, HandleType_Stop, KisSegmentGradientSlider::Handle::index, m_selectedHandle, selectedHandleChanged(), KisSegmentGradientSlider::Handle::type, and updateRequested().
|
slot |
Definition at line 54 of file KisSegmentGradientSlider.cpp.
References HandleType_Stop, m_gradient, m_selectedHandle, selectedHandleChanged(), and updateRequested().
|
override |
Definition at line 1022 of file KisSegmentGradientSlider.cpp.
References minimalHeight().
|
private |
Definition at line 985 of file KisSegmentGradientSlider.cpp.
References m_handleSize.
|
slot |
Definition at line 896 of file KisSegmentGradientSlider.cpp.
References HandleType_Segment, KisSegmentGradientSlider::Handle::index, m_gradient, m_selectedHandle, selectedHandleChanged(), KisSegmentGradientSlider::Handle::type, and updateRequested().
|
privateslot |
Definition at line 1004 of file KisSegmentGradientSlider.cpp.
References m_handleSize.
|
signal |
|
overrideprotected |
Definition at line 659 of file KisSegmentGradientSlider.cpp.
References handleIncrementInput().
|
private |
Definition at line 117 of file KisSegmentGradientSlider.h.
|
private |
Definition at line 118 of file KisSegmentGradientSlider.h.
|
private |
Definition at line 113 of file KisSegmentGradientSlider.h.
|
private |
Definition at line 121 of file KisSegmentGradientSlider.h.
|
private |
Definition at line 115 of file KisSegmentGradientSlider.h.
|
private |
Definition at line 119 of file KisSegmentGradientSlider.h.
|
private |
Definition at line 120 of file KisSegmentGradientSlider.h.
|
private |
Definition at line 116 of file KisSegmentGradientSlider.h.
|
private |
Definition at line 114 of file KisSegmentGradientSlider.h.
|
private |
Definition at line 122 of file KisSegmentGradientSlider.h.
|
private |
Definition at line 123 of file KisSegmentGradientSlider.h.
|
staticconstexprprivate |
Definition at line 112 of file KisSegmentGradientSlider.h.
|
staticconstexpr |
Definition at line 46 of file KisSegmentGradientSlider.h.