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;
|
||||
|
||||
int changeFlags=refreshmap[(int)event];
|
||||
|
||||
ProcParams* params = ipc->beginUpdateParams ();
|
||||
for (int i=0; i<toolPanels.size(); i++)
|
||||
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
|
||||
if (event==rtengine::EvCTHFlip) {
|
||||
crop->hFlipCrop ();
|
||||
@@ -240,7 +251,7 @@ void ToolPanelCoordinator::panelChanged (rtengine::ProcEvent event, const Glib::
|
||||
resize->write (params);
|
||||
}
|
||||
|
||||
ipc->endUpdateParams (event); // starts the IPC processing
|
||||
ipc->endUpdateParams (changeFlags); // starts the IPC processing
|
||||
|
||||
hasChanged = true;
|
||||
|
||||
|
Reference in New Issue
Block a user