Fix clamping bug,
This commit is contained in:
@@ -42,6 +42,7 @@ Block::Block() :
|
||||
out_transition_(nullptr)
|
||||
{
|
||||
AddInput(kLengthInput, NodeValue::kRational, InputFlags(kInputFlagNotConnectable | kInputFlagNotKeyframable));
|
||||
SetInputProperty(kLengthInput, "min", QVariant::fromValue(rational(0, 1)));
|
||||
IgnoreInvalidationsFrom(kLengthInput);
|
||||
IgnoreHashingFrom(kLengthInput);
|
||||
|
||||
|
||||
@@ -190,8 +190,6 @@ void RationalSlider::ConvertValue(QVariant v)
|
||||
void RationalSlider::changeDisplayType()
|
||||
{
|
||||
if (!LockDisplayType()) {
|
||||
// Loop through the display types
|
||||
//SetDisplayType(static_cast<RationalSlider::DisplayType>(((int)(display_type_) + 1) % 4));
|
||||
Menu m(this);
|
||||
MenuShared::instance()->AddItemsForTimeRulerMenu(&m, timebase_);
|
||||
MenuShared::instance()->AboutToShowTimeRulerActions();
|
||||
|
||||
@@ -335,21 +335,17 @@ void SliderBase::LadderDragged(int value, double multiplier)
|
||||
d_v = rational::fromDouble(drag_val);
|
||||
temp_dragged_value_.setValue(d_v);
|
||||
|
||||
QVariant clamped = ClampValue(temp_dragged_value_);
|
||||
if (clamped.value<rational>() != temp_dragged_value_.value<rational>()) {
|
||||
temp_dragged_value_ = clamped;
|
||||
dragged_diff_ = (temp_dragged_value_.value<rational>() - value_.value<rational>()).toDouble();
|
||||
}
|
||||
clamped_temp_dragged_value_ = ClampValue(temp_dragged_value_);
|
||||
|
||||
UpdateLabel(temp_dragged_value_);
|
||||
|
||||
drag_ladder_->SetValue(ValueToString(temp_dragged_value_));
|
||||
drag_ladder_->SetValue(ValueToString(clamped_temp_dragged_value_));
|
||||
|
||||
if (!Config::Current()[QStringLiteral("UseSliderLadders")].toBool()) {
|
||||
RepositionLadder();
|
||||
}
|
||||
|
||||
emit ValueChanged(temp_dragged_value_);
|
||||
emit ValueChanged(clamped_temp_dragged_value_);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user