Refractor stretch panel
This commit is contained in:
+7
-3
@@ -3,6 +3,7 @@
|
||||
#include <QPainter>
|
||||
#include <QPaintEvent>
|
||||
#include <QPainterPath>
|
||||
#include <QToolTip>
|
||||
|
||||
static float clamp(float x)
|
||||
{
|
||||
@@ -94,16 +95,19 @@ void STFSlider::mouseMoveEvent(QMouseEvent *event)
|
||||
switch(m_grabbed)
|
||||
{
|
||||
case 0:
|
||||
m_blackPoint = (qreal)event->x()/width();
|
||||
m_blackPoint = clamp((qreal)event->x()/width());
|
||||
m_whitePoint = std::max(m_whitePoint, m_blackPoint);
|
||||
QToolTip::showText(event->globalPos(), QString::number(m_blackPoint), this);
|
||||
break;
|
||||
case 1:
|
||||
m_midPoint = ((qreal)event->x()/width() - m_blackPoint) / (m_whitePoint - m_blackPoint);
|
||||
m_midPoint = std::max(std::min(m_midPoint, 1.0f), 0.0f);
|
||||
m_midPoint = clamp(m_midPoint);
|
||||
QToolTip::showText(event->globalPos(), QString::number(m_midPoint), this);
|
||||
break;
|
||||
case 2:
|
||||
m_whitePoint = (qreal)event->x()/width();
|
||||
m_whitePoint = clamp((qreal)event->x()/width());
|
||||
m_blackPoint = std::min(m_blackPoint, m_whitePoint);
|
||||
QToolTip::showText(event->globalPos(), QString::number(m_whitePoint), this);
|
||||
break;
|
||||
}
|
||||
if(m_grabbed >= 0)
|
||||
|
||||
Reference in New Issue
Block a user