Add perspective edit button to toolbar

The perspective control lines edit mode no longer piggybacks on the hand
tool button on the toolbar.
This commit is contained in:
Lawrence Lee
2020-07-31 21:58:00 -07:00
parent 2804480585
commit 1e73135d51
9 changed files with 165 additions and 5 deletions

View File

@@ -25,6 +25,14 @@
#include "lensgeomlistener.h"
#include "toolpanel.h"
class PerspCorrectionPanelListener
{
public:
virtual ~PerspCorrectionPanelListener() = default;
virtual void controlLineEditModeChanged(bool active) = 0;
};
class PerspCorrection final :
public ToolParamBlock,
public AdjusterListener,
@@ -79,6 +87,7 @@ protected:
rtengine::ProcEvent* event_persp_proj_rotate;
rtengine::ProcEvent* event_persp_proj_angle;
LensGeomListener* lens_geom_listener;
PerspCorrectionPanelListener* panel_listener;
const rtengine::FramesMetaData* metadata;
void applyControlLines (void);
@@ -101,12 +110,18 @@ public:
void linesEditButtonPressed (void);
void linesEraseButtonPressed (void);
void methodChanged (void);
void requestApplyControlLines(void);
void setAdjusterBehavior (bool badd, bool camera_focal_length_add, bool camera_shift_add, bool camera_angle_add, bool projection_angle_add, bool projection_shift_add, bool projection_rotate_add);
void setControlLineEditMode(bool active);
void setEditProvider (EditDataProvider* provider) override;
void setLensGeomListener (LensGeomListener* listener)
{
lens_geom_listener = listener;
}
void setPerspCorrectionPanelListener(PerspCorrectionPanelListener* listener)
{
panel_listener = listener;
}
void setMetadata (const rtengine::FramesMetaData* metadata);
void switchOffEditMode (void);
void trimValues (rtengine::procparams::ProcParams* pp) override;