Merge branch 'master' into gtk3

This commit is contained in:
Beep6581 2016-03-13 20:04:57 +01:00
commit cf7a175d74
14 changed files with 42 additions and 23 deletions

View File

@ -51,11 +51,11 @@ bool LinEqSolve(int nDim, double* pfMatr, double* pfVect, double* pfSolution)
for(k = 0; k < (nDim - 1); k++) { // base row of matrix for(k = 0; k < (nDim - 1); k++) { // base row of matrix
// search of line with max element // search of line with max element
fMaxElem = fabsf( pfMatr[k * nDim + k] ); fMaxElem = fabs( pfMatr[k * nDim + k] );
m = k; m = k;
for (i = k + 1; i < nDim; i++) { for (i = k + 1; i < nDim; i++) {
if(fMaxElem < fabsf(pfMatr[i * nDim + k]) ) { if(fMaxElem < fabs(pfMatr[i * nDim + k]) ) {
fMaxElem = pfMatr[i * nDim + k]; fMaxElem = pfMatr[i * nDim + k];
m = i; m = i;
} }

View File

@ -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))) { 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; iarea->pipetteVal[0] = iarea->pipetteVal[1] = iarea->pipetteVal[2] = -1.f;
needRedraw = iarea->object == 1;
if (editSubscriber && editSubscriber->getEditingType() == ET_PIPETTE) { if (editSubscriber && editSubscriber->getEditingType() == ET_PIPETTE) {
editSubscriber->mouseOver(0); editSubscriber->mouseOver(0);
} }

View File

@ -405,8 +405,11 @@ bool CurveEditor::button1Pressed(const int modifierKey)
EditDataProvider* provider = getEditProvider(); EditDataProvider* provider = getEditProvider();
if (provider->object) { if (provider->object) {
subGroup->pipetteButton1Pressed(provider, modifierKey); remoteDrag = subGroup->pipetteButton1Pressed(provider, modifierKey);
remoteDrag = true; }
if (remoteDrag) {
action = ES_ACTION_DRAGGING;
} }
subGroup->refresh(this); subGroup->refresh(this);

View File

@ -142,7 +142,7 @@ public:
virtual void stopNumericalAdjustment() = 0; virtual void stopNumericalAdjustment() = 0;
virtual void pipetteMouseOver(EditDataProvider *provider, int modifierKey) = 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 pipetteButton1Released(EditDataProvider *provider) = 0;
virtual void pipetteDrag(EditDataProvider *provider, int modifierKey) = 0; virtual void pipetteDrag(EditDataProvider *provider, int modifierKey) = 0;

View File

@ -463,13 +463,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); CurveEditor *curveEditor = static_cast<DiagonalCurveEditor*>(parent->displayedCurve);
bool isDragging = false;
switch((DiagonalCurveType)(curveEditor->curveType->getSelected())) { switch((DiagonalCurveType)(curveEditor->curveType->getSelected())) {
case (DCT_Spline): case (DCT_Spline):
customCurve->pipetteButton1Pressed(provider, modifierKey); isDragging = customCurve->pipetteButton1Pressed(provider, modifierKey);
break; break;
case (DCT_Parametric): case (DCT_Parametric):
@ -480,13 +482,15 @@ void DiagonalCurveEditorSubGroup::pipetteButton1Pressed(EditDataProvider *provid
break; break;
case (DCT_NURBS): case (DCT_NURBS):
NURBSCurve->pipetteButton1Pressed(provider, modifierKey); isDragging = NURBSCurve->pipetteButton1Pressed(provider, modifierKey);
break; break;
default: // (DCT_Linear, DCT_Unchanged) default: // (DCT_Linear, DCT_Unchanged)
// ... do nothing // ... do nothing
break; break;
} }
return isDragging;
} }
void DiagonalCurveEditorSubGroup::pipetteButton1Released(EditDataProvider *provider) void DiagonalCurveEditorSubGroup::pipetteButton1Released(EditDataProvider *provider)

View File

@ -83,7 +83,7 @@ public:
void refresh(CurveEditor *curveToRefresh); void refresh(CurveEditor *curveToRefresh);
void editModeSwitchedOff (); void editModeSwitchedOff ();
void pipetteMouseOver(EditDataProvider *provider, int modifierKey); void pipetteMouseOver(EditDataProvider *provider, int modifierKey);
void pipetteButton1Pressed(EditDataProvider *provider, int modifierKey); bool pipetteButton1Pressed(EditDataProvider *provider, int modifierKey);
void pipetteButton1Released(EditDataProvider *provider); void pipetteButton1Released(EditDataProvider *provider);
void pipetteDrag(EditDataProvider *provider, int modifierKey); void pipetteDrag(EditDataProvider *provider, int modifierKey);
void showCoordinateAdjuster(CoordinateProvider *provider); void showCoordinateAdjuster(CoordinateProvider *provider);

View File

@ -151,14 +151,14 @@ ExportPanel::ExportPanel () : listener (NULL)
MaxWidth->set_max_width_chars(5); MaxWidth->set_max_width_chars(5);
MaxWidth->set_increments (1, 100); MaxWidth->set_increments (1, 100);
MaxWidth->set_value (options.fastexport_resize_width); MaxWidth->set_value (options.fastexport_resize_width);
MaxWidth->set_range (32, 3000); MaxWidth->set_range (32, 10000);
MaxHeight->set_digits (0); MaxHeight->set_digits (0);
MaxHeight->set_width_chars(5); MaxHeight->set_width_chars(5);
MaxHeight->set_max_width_chars(5); MaxHeight->set_max_width_chars(5);
MaxHeight->set_increments (1, 100); MaxHeight->set_increments (1, 100);
MaxHeight->set_value (options.fastexport_resize_height); MaxHeight->set_value (options.fastexport_resize_height);
MaxHeight->set_range (32, 3000); MaxHeight->set_range (32, 10000);
// Buttons // Buttons
btnFastExport = Gtk::manage ( new Gtk::Button () ); btnFastExport = Gtk::manage ( new Gtk::Button () );

View File

@ -210,13 +210,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); CurveEditor *curveEditor = static_cast<FlatCurveEditor*>(parent->displayedCurve);
bool isDragging = false;
switch((FlatCurveType)(curveEditor->curveType->getSelected())) { switch((FlatCurveType)(curveEditor->curveType->getSelected())) {
case (FCT_MinMaxCPoints): case (FCT_MinMaxCPoints):
CPointsCurve->pipetteButton1Pressed(provider, modifierKey); isDragging = CPointsCurve->pipetteButton1Pressed(provider, modifierKey);
CPointsCurve->setDirty(true); CPointsCurve->setDirty(true);
break; break;
@ -224,6 +226,8 @@ void FlatCurveEditorSubGroup::pipetteButton1Pressed(EditDataProvider *provider,
// ... do nothing // ... do nothing
break; break;
} }
return isDragging;
} }
void FlatCurveEditorSubGroup::pipetteButton1Released(EditDataProvider *provider) void FlatCurveEditorSubGroup::pipetteButton1Released(EditDataProvider *provider)

View File

@ -54,7 +54,7 @@ public:
void refresh(CurveEditor *curveToRefresh); void refresh(CurveEditor *curveToRefresh);
void editModeSwitchedOff(); void editModeSwitchedOff();
void pipetteMouseOver(EditDataProvider *provider, int modifierKey); void pipetteMouseOver(EditDataProvider *provider, int modifierKey);
void pipetteButton1Pressed(EditDataProvider *provider, int modifierKey); bool pipetteButton1Pressed(EditDataProvider *provider, int modifierKey);
void pipetteButton1Released(EditDataProvider *provider); void pipetteButton1Released(EditDataProvider *provider);
void pipetteDrag(EditDataProvider *provider, int modifierKey); void pipetteDrag(EditDataProvider *provider, int modifierKey);
void showCoordinateAdjuster(CoordinateProvider *provider); void showCoordinateAdjuster(CoordinateProvider *provider);

View File

@ -135,7 +135,7 @@ public:
virtual void reset (const std::vector<double> &resetCurve, double identityValue = 0.5) = 0; 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 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 pipetteButton1Released(EditDataProvider *provider) = 0;
virtual void pipetteDrag(EditDataProvider *provider, int modifierKey) = 0; virtual void pipetteDrag(EditDataProvider *provider, int modifierKey) = 0;

View File

@ -1059,11 +1059,11 @@ void MyDiagonalCurve::pipetteMouseOver (CurveEditor *ce, EditDataProvider *provi
} }
} }
// returns true if a point is being dragged
void MyDiagonalCurve::pipetteButton1Pressed(EditDataProvider *provider, int modifierKey) bool MyDiagonalCurve::pipetteButton1Pressed(EditDataProvider *provider, int modifierKey)
{ {
if (edited_point > 1) { if (edited_point > 1) {
return; return false;
} }
int num = (int)curve.x.size(); int num = (int)curve.x.size();
@ -1074,7 +1074,7 @@ void MyDiagonalCurve::pipetteButton1Pressed(EditDataProvider *provider, int modi
double minDistanceX = double(MIN_DISTANCE) / double(graphW - 1); double minDistanceX = double(MIN_DISTANCE) / double(graphW - 1);
if ((graphW < 0) || (graphH < 0)) { if ((graphW < 0) || (graphH < 0)) {
return; return false;
} }
snapToElmt = -100; snapToElmt = -100;
@ -1129,7 +1129,11 @@ void MyDiagonalCurve::pipetteButton1Pressed(EditDataProvider *provider, int modi
lit_point = closest_point; lit_point = closest_point;
ugpX = curve.x.at(closest_point); ugpX = curve.x.at(closest_point);
ugpY = curve.y.at(closest_point); ugpY = curve.y.at(closest_point);
return true;
} }
return false;
} }
void MyDiagonalCurve::pipetteButton1Released(EditDataProvider *provider) void MyDiagonalCurve::pipetteButton1Released(EditDataProvider *provider)

View File

@ -91,7 +91,7 @@ public:
void updateBackgroundHistogram (LUTu & hist); void updateBackgroundHistogram (LUTu & hist);
void pipetteMouseOver (CurveEditor *ce, EditDataProvider *provider, int modifierKey); 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 pipetteButton1Released(EditDataProvider *provider);
void pipetteDrag(EditDataProvider *provider, int modifierKey); void pipetteDrag(EditDataProvider *provider, int modifierKey);

View File

@ -1273,10 +1273,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) { if (edited_point > -1) {
return; return false;
} }
buttonPressed = true; buttonPressed = true;
@ -1353,6 +1354,7 @@ void MyFlatCurve::pipetteButton1Pressed(EditDataProvider *provider, int modifier
break; break;
} }
return true;
} }
void MyFlatCurve::pipetteButton1Released(EditDataProvider *provider) void MyFlatCurve::pipetteButton1Released(EditDataProvider *provider)

View File

@ -131,7 +131,7 @@ public:
//void updateBackgroundHistogram (unsigned int* hist); //void updateBackgroundHistogram (unsigned int* hist);
void pipetteMouseOver (CurveEditor *ce, EditDataProvider *provider, int modifierKey); 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 pipetteButton1Released(EditDataProvider *provider);
void pipetteDrag(EditDataProvider *provider, int modifierKey); void pipetteDrag(EditDataProvider *provider, int modifierKey);