Rotate compensation on flip image
see issue 1093
This commit is contained in:
@@ -216,10 +216,21 @@ void ToolPanelCoordinator::panelChanged (rtengine::ProcEvent event, const Glib::
|
|||||||
|
|
||||||
if (!ipc) return;
|
if (!ipc) return;
|
||||||
|
|
||||||
|
int changeFlags=refreshmap[(int)event];
|
||||||
|
|
||||||
ProcParams* params = ipc->beginUpdateParams ();
|
ProcParams* params = ipc->beginUpdateParams ();
|
||||||
for (int i=0; i<toolPanels.size(); i++)
|
for (int i=0; i<toolPanels.size(); i++)
|
||||||
toolPanels[i]->write (params);
|
toolPanels[i]->write (params);
|
||||||
|
|
||||||
|
// Compensate rotation on flip
|
||||||
|
if (event==rtengine::EvCTHFlip || event==rtengine::EvCTVFlip) {
|
||||||
|
if (fabs(params->rotate.degree)>0.001) {
|
||||||
|
params->rotate.degree *= -1;
|
||||||
|
changeFlags |= refreshmap[(int)rtengine::EvROTDegree];
|
||||||
|
rotate->read (params);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
// some transformations make the crop change for convenience
|
// some transformations make the crop change for convenience
|
||||||
if (event==rtengine::EvCTHFlip) {
|
if (event==rtengine::EvCTHFlip) {
|
||||||
crop->hFlipCrop ();
|
crop->hFlipCrop ();
|
||||||
@@ -240,7 +251,7 @@ void ToolPanelCoordinator::panelChanged (rtengine::ProcEvent event, const Glib::
|
|||||||
resize->write (params);
|
resize->write (params);
|
||||||
}
|
}
|
||||||
|
|
||||||
ipc->endUpdateParams (event); // starts the IPC processing
|
ipc->endUpdateParams (changeFlags); // starts the IPC processing
|
||||||
|
|
||||||
hasChanged = true;
|
hasChanged = true;
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user