From: <hug...@li...> - 2010-11-05 00:25:18
|
branch: details: http://hugin.hg.sourceforge.net/hgweb/hugin/hugin/hgrepo/h/hu/hugin/hugin/rev/0c675de12f53 changeset: 4527:0c675de12f53 user: Bruno Postle <br...@po...> date: Fri Nov 05 00:30:47 2010 +0000 description: merge diffstat: src/hugin1/hugin/PreviewCropTool.cpp | 17 ++++++++++++----- src/hugin1/hugin/PreviewCropTool.h | 2 ++ 2 files changed, 14 insertions(+), 5 deletions(-) diffs (65 lines): diff -r 3eb84e450f0a -r 0c675de12f53 src/hugin1/hugin/PreviewCropTool.cpp --- a/src/hugin1/hugin/PreviewCropTool.cpp Fri Nov 05 00:30:06 2010 +0000 +++ b/src/hugin1/hugin/PreviewCropTool.cpp Fri Nov 05 00:30:47 2010 +0000 @@ -74,13 +74,12 @@ bottom = (double) roi.bottom() - margin; left = (double) roi.left() + margin; right = (double) roi.right() - margin; - - glEnable(GL_BLEND); - helper->GetViewStatePtr()->GetTextureManager()->DisableTexture(); // now draw boxes to indicate what dragging would do. if (!mouse_down) { + glEnable(GL_BLEND); + helper->GetViewStatePtr()->GetTextureManager()->DisableTexture(); glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA); glColor4f(1.0, 1.0, 1.0, 0.38197); glBegin(GL_QUADS); @@ -105,9 +104,15 @@ glVertex2d(left, roi.bottom()); glVertex2d(left, bottom); } glEnd(); + glEnable(GL_TEXTURE_2D); + glDisable(GL_BLEND); + } else { + // while dragging, reset the displayed ROI to ours incase something else + // tries to redraw the preview with the panorama's real ROI. + opts->setROI(new_roi); + helper->GetViewStatePtr()->SetOptions(opts); + helper->GetViewStatePtr()->Redraw(); } - glEnable(GL_TEXTURE_2D); - glDisable(GL_BLEND); } void PreviewCropTool::MouseMoveEvent(double x, double y, wxMouseEvent & e) @@ -157,6 +162,7 @@ if((roi.top()<roi.bottom())&&(roi.left()<roi.right())) { opts.setROI(roi); + new_roi = roi; helper->GetViewStatePtr()->SetOptions(&opts); helper->GetViewStatePtr()->Redraw(); } @@ -218,6 +224,7 @@ { start_drag_options = *helper->GetViewStatePtr()->GetOptions(); opts = start_drag_options; + new_roi = opts.getROI(); mouse_down = true; moving_left = false; moving_right = false; diff -r 3eb84e450f0a -r 0c675de12f53 src/hugin1/hugin/PreviewCropTool.h --- a/src/hugin1/hugin/PreviewCropTool.h Fri Nov 05 00:30:06 2010 +0000 +++ b/src/hugin1/hugin/PreviewCropTool.h Fri Nov 05 00:30:47 2010 +0000 @@ -41,6 +41,8 @@ double top, bottom, left, right; double start_drag_x, start_drag_y; HuginBase::PanoramaOptions start_drag_options, opts; + // region of intrest while displayed during change by dragging. + vigra::Rect2D new_roi; }; #endif |