The pipette mechanism was broken: the created point was not dragged. (no
issue)
This commit is contained in:
parent
13b49f8a54
commit
af45865a2e
@ -623,6 +623,8 @@ void CropWindow::buttonRelease (int button, int num, int bstate, int x, int y)
|
||||
if (state != SEditDrag3 && state != SEditPick3 && button == 3 && !(bstate & (GDK_SHIFT_MASK|GDK_CONTROL_MASK))) {
|
||||
iarea->pipetteVal[0] = iarea->pipetteVal[1] = iarea->pipetteVal[2] = -1.f;
|
||||
|
||||
needRedraw = iarea->object == 1;
|
||||
|
||||
if (editSubscriber && editSubscriber->getEditingType() == ET_PIPETTE) {
|
||||
editSubscriber->mouseOver(0);
|
||||
}
|
||||
|
@ -405,8 +405,11 @@ bool CurveEditor::button1Pressed(const int modifierKey)
|
||||
EditDataProvider* provider = getEditProvider();
|
||||
|
||||
if (provider->object) {
|
||||
subGroup->pipetteButton1Pressed(provider, modifierKey);
|
||||
remoteDrag = true;
|
||||
remoteDrag = subGroup->pipetteButton1Pressed(provider, modifierKey);
|
||||
}
|
||||
|
||||
if (remoteDrag) {
|
||||
action = ES_ACTION_DRAGGING;
|
||||
}
|
||||
|
||||
subGroup->refresh(this);
|
||||
|
@ -141,7 +141,7 @@ public:
|
||||
virtual void stopNumericalAdjustment() = 0;
|
||||
|
||||
virtual void pipetteMouseOver(EditDataProvider *provider, int modifierKey) = 0;
|
||||
virtual void pipetteButton1Pressed(EditDataProvider *provider, int modifierKey) = 0;
|
||||
virtual bool pipetteButton1Pressed(EditDataProvider *provider, int modifierKey) = 0;
|
||||
virtual void pipetteButton1Released(EditDataProvider *provider) = 0;
|
||||
virtual void pipetteDrag(EditDataProvider *provider, int modifierKey) = 0;
|
||||
|
||||
|
@ -468,13 +468,15 @@ void DiagonalCurveEditorSubGroup::pipetteMouseOver(EditDataProvider *provider, i
|
||||
}
|
||||
}
|
||||
|
||||
void DiagonalCurveEditorSubGroup::pipetteButton1Pressed(EditDataProvider *provider, int modifierKey)
|
||||
bool DiagonalCurveEditorSubGroup::pipetteButton1Pressed(EditDataProvider *provider, int modifierKey)
|
||||
{
|
||||
CurveEditor *curveEditor = static_cast<DiagonalCurveEditor*>(parent->displayedCurve);
|
||||
|
||||
bool isDragging = false;
|
||||
|
||||
switch((DiagonalCurveType)(curveEditor->curveType->getSelected())) {
|
||||
case (DCT_Spline):
|
||||
customCurve->pipetteButton1Pressed(provider, modifierKey);
|
||||
isDragging = customCurve->pipetteButton1Pressed(provider, modifierKey);
|
||||
break;
|
||||
|
||||
case (DCT_Parametric):
|
||||
@ -485,13 +487,15 @@ void DiagonalCurveEditorSubGroup::pipetteButton1Pressed(EditDataProvider *provid
|
||||
break;
|
||||
|
||||
case (DCT_NURBS):
|
||||
NURBSCurve->pipetteButton1Pressed(provider, modifierKey);
|
||||
isDragging = NURBSCurve->pipetteButton1Pressed(provider, modifierKey);
|
||||
break;
|
||||
|
||||
default: // (DCT_Linear, DCT_Unchanged)
|
||||
// ... do nothing
|
||||
break;
|
||||
}
|
||||
|
||||
return isDragging;
|
||||
}
|
||||
|
||||
void DiagonalCurveEditorSubGroup::pipetteButton1Released(EditDataProvider *provider)
|
||||
|
@ -83,7 +83,7 @@ public:
|
||||
void refresh(CurveEditor *curveToRefresh);
|
||||
void editModeSwitchedOff ();
|
||||
void pipetteMouseOver(EditDataProvider *provider, int modifierKey);
|
||||
void pipetteButton1Pressed(EditDataProvider *provider, int modifierKey);
|
||||
bool pipetteButton1Pressed(EditDataProvider *provider, int modifierKey);
|
||||
void pipetteButton1Released(EditDataProvider *provider);
|
||||
void pipetteDrag(EditDataProvider *provider, int modifierKey);
|
||||
void showCoordinateAdjuster(CoordinateProvider *provider);
|
||||
|
@ -216,13 +216,15 @@ void FlatCurveEditorSubGroup::pipetteMouseOver(EditDataProvider *provider, int m
|
||||
}
|
||||
}
|
||||
|
||||
void FlatCurveEditorSubGroup::pipetteButton1Pressed(EditDataProvider *provider, int modifierKey)
|
||||
bool FlatCurveEditorSubGroup::pipetteButton1Pressed(EditDataProvider *provider, int modifierKey)
|
||||
{
|
||||
CurveEditor *curveEditor = static_cast<FlatCurveEditor*>(parent->displayedCurve);
|
||||
|
||||
bool isDragging = false;
|
||||
|
||||
switch((FlatCurveType)(curveEditor->curveType->getSelected())) {
|
||||
case (FCT_MinMaxCPoints):
|
||||
CPointsCurve->pipetteButton1Pressed(provider, modifierKey);
|
||||
isDragging = CPointsCurve->pipetteButton1Pressed(provider, modifierKey);
|
||||
CPointsCurve->setDirty(true);
|
||||
break;
|
||||
|
||||
@ -230,6 +232,8 @@ void FlatCurveEditorSubGroup::pipetteButton1Pressed(EditDataProvider *provider,
|
||||
// ... do nothing
|
||||
break;
|
||||
}
|
||||
|
||||
return isDragging;
|
||||
}
|
||||
|
||||
void FlatCurveEditorSubGroup::pipetteButton1Released(EditDataProvider *provider)
|
||||
|
@ -54,7 +54,7 @@ public:
|
||||
void refresh(CurveEditor *curveToRefresh);
|
||||
void editModeSwitchedOff();
|
||||
void pipetteMouseOver(EditDataProvider *provider, int modifierKey);
|
||||
void pipetteButton1Pressed(EditDataProvider *provider, int modifierKey);
|
||||
bool pipetteButton1Pressed(EditDataProvider *provider, int modifierKey);
|
||||
void pipetteButton1Released(EditDataProvider *provider);
|
||||
void pipetteDrag(EditDataProvider *provider, int modifierKey);
|
||||
void showCoordinateAdjuster(CoordinateProvider *provider);
|
||||
|
@ -146,7 +146,7 @@ public:
|
||||
virtual void reset (const std::vector<double> &resetCurve, double identityValue = 0.5) = 0;
|
||||
|
||||
virtual void pipetteMouseOver (CurveEditor *ce, EditDataProvider *provider, int modifierKey) = 0;
|
||||
virtual void pipetteButton1Pressed(EditDataProvider *provider, int modifierKey) = 0;
|
||||
virtual bool pipetteButton1Pressed(EditDataProvider *provider, int modifierKey) = 0;
|
||||
virtual void pipetteButton1Released(EditDataProvider *provider) = 0;
|
||||
virtual void pipetteDrag(EditDataProvider *provider, int modifierKey) = 0;
|
||||
|
||||
|
@ -1071,11 +1071,11 @@ void MyDiagonalCurve::pipetteMouseOver (CurveEditor *ce, EditDataProvider *provi
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
void MyDiagonalCurve::pipetteButton1Pressed(EditDataProvider *provider, int modifierKey)
|
||||
// returns true if a point is being dragged
|
||||
bool MyDiagonalCurve::pipetteButton1Pressed(EditDataProvider *provider, int modifierKey)
|
||||
{
|
||||
if (edited_point > 1) {
|
||||
return;
|
||||
return false;
|
||||
}
|
||||
|
||||
int num = (int)curve.x.size();
|
||||
@ -1086,7 +1086,7 @@ void MyDiagonalCurve::pipetteButton1Pressed(EditDataProvider *provider, int modi
|
||||
double minDistanceX = double(MIN_DISTANCE) / double(graphW - 1);
|
||||
|
||||
if ((graphW < 0) || (graphH < 0)) {
|
||||
return;
|
||||
return false;
|
||||
}
|
||||
|
||||
snapToElmt = -100;
|
||||
@ -1141,7 +1141,11 @@ void MyDiagonalCurve::pipetteButton1Pressed(EditDataProvider *provider, int modi
|
||||
lit_point = closest_point;
|
||||
ugpX = curve.x.at(closest_point);
|
||||
ugpY = curve.y.at(closest_point);
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
void MyDiagonalCurve::pipetteButton1Released(EditDataProvider *provider)
|
||||
|
@ -90,7 +90,7 @@ public:
|
||||
void updateBackgroundHistogram (LUTu & hist);
|
||||
|
||||
void pipetteMouseOver (CurveEditor *ce, EditDataProvider *provider, int modifierKey);
|
||||
void pipetteButton1Pressed(EditDataProvider *provider, int modifierKey);
|
||||
bool pipetteButton1Pressed(EditDataProvider *provider, int modifierKey);
|
||||
void pipetteButton1Released(EditDataProvider *provider);
|
||||
void pipetteDrag(EditDataProvider *provider, int modifierKey);
|
||||
|
||||
|
@ -1288,10 +1288,11 @@ void MyFlatCurve::pipetteMouseOver (CurveEditor *ce, EditDataProvider *provider,
|
||||
}
|
||||
}
|
||||
|
||||
void MyFlatCurve::pipetteButton1Pressed(EditDataProvider *provider, int modifierKey)
|
||||
// returns true if a point is being dragged
|
||||
bool MyFlatCurve::pipetteButton1Pressed(EditDataProvider *provider, int modifierKey)
|
||||
{
|
||||
if (edited_point > -1) {
|
||||
return;
|
||||
return false;
|
||||
}
|
||||
|
||||
buttonPressed = true;
|
||||
@ -1368,6 +1369,7 @@ void MyFlatCurve::pipetteButton1Pressed(EditDataProvider *provider, int modifier
|
||||
break;
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
void MyFlatCurve::pipetteButton1Released(EditDataProvider *provider)
|
||||
|
@ -130,7 +130,7 @@ public:
|
||||
//void updateBackgroundHistogram (unsigned int* hist);
|
||||
|
||||
void pipetteMouseOver (CurveEditor *ce, EditDataProvider *provider, int modifierKey);
|
||||
void pipetteButton1Pressed(EditDataProvider *provider, int modifierKey);
|
||||
bool pipetteButton1Pressed(EditDataProvider *provider, int modifierKey);
|
||||
void pipetteButton1Released(EditDataProvider *provider);
|
||||
void pipetteDrag(EditDataProvider *provider, int modifierKey);
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user