 BackgroundStateAbstractBase | Background image state machine state base class |
 BackgroundStateContext | Context class that manages the background image state machine |
 BackgroundStateCurve | Background image state for showing filter image from current curve |
 BackgroundStateNone | Background image state for showing no image |
 BackgroundStateOriginal | Background image state for showing original (=unfiltered) image |
 BackgroundStateUnloaded | Background image state for interval between startup and loading of the image |
 CallbackAddPointsInCurvesGraphs | Callback that is used when iterating through a read-only CurvesGraphs to add corresponding points in Document |
 CallbackAxesCheckerFromAxesPoints | Callback for positioning the axes indicator according to the axes points |
 CallbackAxisPointsAbstract | Callback for collecting axis points and then performing common calculations on those axis points |
 CallbackBoundingRects | Callback for computing the bounding rectangles of the screen and graph coordinates of the points in the Document |
 CallbackCheckAddPointAxis | Callback for sanity checking the screen and graph coordinates of an axis point, before it is added to the axes curve |
 CallbackCheckEditPointAxis | Callback for sanity checking the screen and graph coordinates of an axis point that is in the axes curve, before changing its graph coordinates |
 CallbackDocumentHash | Callback for DocumentHash value for a Document |
 CallbackGatherXThetaValuesFunctions | Callback for collecting X/Theta independent variables, for functions, in preparation for exporting |
 CallbackNextOrdinal | Callback for computing the next ordinal for a new point |
 CallbackPointOrdinal | Callback for computing the ordinal for a specified point, as a function of the LineStyle and curve geometry |
 CallbackRemovePointsInCurvesGraphs | Callback that is used when iterating through a read-only CurvesGraphs to remove corresponding points in Document |
 CallbackScaleBar | Callback for identifying, for the scale bar of a map, various quantities |
 CallbackSceneUpdateAfterCommand | Callback for updating the QGraphicsItems in the scene after a command may have modified Points in Curves |
 CallbackUpdateTransform | Callback for collecting axis points and then calculating the current transform from those axis points |
 Checker | Box shape that is drawn through the three axis points, to temporarily (usually) or permanently (rarely) highlight the local up/down/left/right directions when all axis points have been defined |
 ChecklistGuide | Dockable text window containing checklist guide |
 ChecklistGuideBrowser | Class that adds rudimentary tree collapse/expand functionality to QTextBrowser |
 ChecklistGuidePage | This class customizes QWizardPage for ChecklistGuideWizard |
 ChecklistGuidePageConclusion | This class uses the validation method of the Conclusion page to perform final processing for ChecklistGuideWizard |
 ChecklistGuidePageCurves | This class adds validation to the Curves page |
 ChecklistGuidePageIntro | This class sets up the introduction page |
 ChecklistGuideWizard | Wizard for setting up the checklist guide |
 ChecklistLineEdit | Adds key event handling to QLineEdit |
 CmdAbstract | Wrapper around QUndoCommand. This simplifies the more complicated feature set of QUndoCommand |
 CmdAddPointAxis | Command for adding one axis point |
 CmdAddPointGraph | Command for adding one graph point |
 CmdAddPointsGraph | Command for adding one or more graph points. This is for Segment Fill mode |
 CmdAddScale | Command for adding one scale point |
 CmdCopy | Command for moving all selected Points by a specified translation |
 CmdCut | Command for cutting all selected Points |
 CmdDelete | Command for deleting all selected Points |
 CmdEditPointAxis | Command for editing the graph coordinates one axis point |
 CmdEditPointGraph | Command for editing the graph coordinates of one or more graph points |
 CmdFactory | Factory for CmdAbstractBase objects |
 CmdMediator | Command queue stack |
 CmdMoveBy | Command for moving all selected Points by a specified translation |
 CmdPointChangeBase | Base class for CmdBase leaf subclasses that involve point additions, deletions and/or modifications |
 CmdRedoForTest | Command for performing Redo during testing |
 CmdSelectCoordSystem | Command for changing the currently selected CoordSystem |
 CmdSettingsAxesChecker | Command for DlgSettingsAxesChecker |
 CmdSettingsColorFilter | Command for DlgSettingsColorFilter |
 CmdSettingsCoords | Command for DlgSettingsCoords |
 CmdSettingsCurveAddRemove | Command for DlgSettingsCurveAddRemove |
 CmdSettingsCurveProperties | Command for DlgSettingsCurveProperties |
 CmdSettingsDigitizeCurve | Command for DlgSettingsDigitizeCurve |
 CmdSettingsExportFormat | Command for DlgSettingsExportFormat |
 CmdSettingsGeneral | Command for DlgSettingsGeneral |
 CmdSettingsGridDisplay | Command for DlgSettingsGridDisplay |
 CmdSettingsGridRemoval | Command for DlgSettingsGridRemoval |
 CmdSettingsPointMatch | Command for DlgSettingsPointMatch |
 CmdSettingsSegments | Command for DlgSettingsSegments |
 CmdStackShadow | Command stack that shadows the CmdMediator command stack at startup when reading commands from an error report file |
 CmdUndoForTest | Command for performing Undo during testing |
 ColorFilter | Class for filtering image to remove unimportant information |
 ColorFilterEntry | Helper class so ColorFilter class can compute the background color |
 ColorFilterHistogram | Class that generates a histogram according to the current filter |
 ColorFilterSettings | Color filter parameters for one curve. For a class, this is handled the same as LineStyle and PointStyle |
 ColorFilterSettingsStrategyAbstractBase | Base class for strategy pattern whose subclasses process the different color filter settings modes (one strategy per mode) |
 ColorFilterSettingsStrategyForeground | Leaf class for foreground strategy for ColorFilterSettings |
 ColorFilterSettingsStrategyHue | Leaf class for hue strategy for ColorFilterSettings |
 ColorFilterSettingsStrategyIntensity | Leaf class for intensity strategy for ColorFilterSettings |
 ColorFilterSettingsStrategySaturation | Leaf class for saturation strategy for ColorFilterSettings |
 ColorFilterSettingsStrategyValue | Leaf class for value strategy for ColorFilterSettings |
 ColorFilterStrategyAbstractBase | Base class for strategy pattern whose subclasses process the different color filter settings modes (one strategy per mode) |
 ColorFilterStrategyForeground | Leaf class for foreground strategy for ColorFilter |
 ColorFilterStrategyHue | Leaf class for hue strategy for ColorFilter |
 ColorFilterStrategyIntensity | Leaf class for intensity strategy for ColorFilter |
 ColorFilterStrategySaturation | Leaf class for saturation strategy for ColorFilter |
 ColorFilterStrategyValue | Leaf class for value strategy for ColorFilter |
 CoordSystem | Storage of data belonging to one coordinate system |
 CoordSystemContext | This class plays the role of context class in a state machine, although the 'states' are actually different instantiations of the CoordSystem class |
 CoordSystemInterface | Interface common to CoordSystemContext and CoordSystem classes |
 Correlation | Fast cross correlation between two functions |
 CursorFactory | Create standard cross cursor, or custom cursor, according to settings |
 Curve | Container for one set of digitized Points |
 CurveNameList | Model for DlgSettingsCurveAddRemove and CmdSettingsCurveAddRemove |
 CurveSettingsInt | Internal settings for one curve, such as LineStyle, PointStyle and CurveFilter |
 CurvesGraphs | Container for all graph curves. The axes point curve is external to this class |
 CurveStyle | Container for LineStyle and PointStyle for one Curve |
 CurveStyles | Model for DlgSettingsCurveProperties and CmdSettingsCurveProperties |
 DigitizeStateAbstractBase | Base class for all digitizing states. This serves as an interface to DigitizeStateContext |
 DigitizeStateAxis | Digitizing state for digitizing one axis point at a time |
 DigitizeStateColorPicker | Digitizing state for selecting a color for DigitizeStateSegment |
 DigitizeStateContext | Container for all DigitizeStateAbstractBase subclasses. This functions as the context class in a standard state machine implementation |
 DigitizeStateCurve | Digitizing state for creating Curve Points, one at a time |
 DigitizeStateEmpty | Digitizing state before a Document has been created. In this state, the cursor is Qt::ArrowCursor |
 DigitizeStatePointMatch | Digitizing state for matching Curve Points, one at a time |
 DigitizeStateScale | Digitizing state for creating the scale bar |
 DigitizeStateSegment | Digitizing state for creating multiple Points along a highlighted segment |
 DigitizeStateSelect | Digitizing state for selecting one or more Points in the Document |
 DlgAbout | About Engauge dialog. This provides a hidden shortcut for triggering ENGAUGE_ASSERT |
 DlgEditPointAxis | Dialog box for editing the information of one axis point, in a graph with two axes |
 DlgEditPointGraph | Dialog box for editing the information of one or more points |
 DlgEditPointGraphLineEdit | Adds hover highlighting to QLineEdit |
 DlgEditScale | Dialog box for editing the information of the map scale |
 DlgErrorReportAbstractBase | Base class for dialogs that handle the error report |
 DlgErrorReportLocal | Dialog for saving error report to local hard drive |
 DlgErrorReportNetworking | Dialog for sending error report with networking |
 DlgFilterCommand | Command pattern object for receiving new parameters in DlgFilterWorker from GUI thread |
 DlgFilterThread | Class for processing new filter settings. This is based on http://blog.debao.me/2013/08/how-to-use-qthread-in-the-right-way-part-1/ |
 DlgFilterWorker | Class for processing new filter settings. This is based on http://blog.debao.me/2013/08/how-to-use-qworker-in-the-right-way-part-1/ |
 DlgImportAdvanced | Dialog for setting the advanced parameters in a newly imported Document |
 DlgImportCroppingNonPdf | Dialog for selecting a page and frame on that page when importing an image from a non-pdf file |
 DlgImportCroppingPdf | Dialog for selecting a page and frame on that page when importing an image from a pdf file |
 DlgRequiresTransform | Dialog to be displayed whenever some operation or processing cannot be performed since the axis points are not defined |
 DlgSettingsAbstractBase | Abstract base class for all Settings dialogs |
 DlgSettingsAxesChecker | Dialog for editing axes checker settings |
 DlgSettingsColorFilter | Dialog for editing filtering settings |
 DlgSettingsCoords | Dialog for editing coordinates settings |
 DlgSettingsCurveAddRemove | Dialog for editing curve names settings |
 DlgSettingsCurveProperties | Dialog for editing curve properties settings |
 DlgSettingsDigitizeCurve | Dialog for editing DigitizeStateCurve settings |
 DlgSettingsExportFormat | Dialog for editing exporting settings |
 DlgSettingsGeneral | Dialog for editing general settings |
 DlgSettingsGridDisplay | Dialog for editing grid display settings |
 DlgSettingsGridRemoval | Dialog for editing grid removal settings |
 DlgSettingsMainWindow | Dialog for editing main window settings, which are entirely independent of all documents |
 DlgSettingsPointMatch | Dialog for editing point match settings, for DigitizeStatePointMatch |
 DlgSettingsSegments | Dialog for editing Segments settings, for DigitizeStateSegment |
 DlgValidatorAboveZero | Validator for generic (=simple) numbers that must be greater than zero |
 DlgValidatorAbstract | Abstract validator for all numeric formats |
 DlgValidatorDateTime | Validator for numeric value expressed as date and/or time |
 DlgValidatorDegreesMinutesSeconds | Validator for angles in real degrees, integer degrees and real minutes, or integer degrees with integer minutes with real seconds |
 DlgValidatorFactory | Validator factory |
 DlgValidatorNumber | Validator for generic (=simple) numbers |
 Document | Storage of one imported image and the data attached to that image |
 DocumentHashGenerator | Generates a DocumentHash value representing the state of the entire Document |
 DocumentModelAbstractBase | Abstract base class for document models. This class enforces a common interface for the leaf subclasses |
 DocumentModelAxesChecker | Model for DlgSettingsAxesChecker and CmdSettingsAxesChecker |
 DocumentModelColorFilter | Model for DlgSettingsColorFilter and CmdSettingsColorFilter |
 DocumentModelCoords | Model for DlgSettingsCoords and CmdSettingsCoords |
 DocumentModelDigitizeCurve | Model for DlgSettingsDigitizeCurve and CmdSettingsDigitizeCurve |
 DocumentModelExportFormat | Model for DlgSettingsExportFormat and CmdSettingsExportFormat |
 DocumentModelGeneral | Model for DlgSettingsGeneral and CmdSettingsGeneral |
 DocumentModelGridDisplay | Model for DlgSettingsGridDisplay and CmdSettingsGridDisplay |
 DocumentModelGridRemoval | Model for DlgSettingsGridRemoval and CmdSettingsGridRemoval. The settings are unstable until the user approves |
 DocumentModelPointMatch | Model for DlgSettingsPointMatch and CmdSettingsPointMatch |
 DocumentModelSegments | Model for DlgSettingsSegments and CmdSettingsSegments |
 ExportAlignLinear | Pick first simplest x value between specified min and max, for linear scaling |
 ExportAlignLog | Pick first simplest x value between specified min and max, for log scaling |
 ExportFileAbstractBase | Strategy base class for exporting to a file. This class provides common methods |
 ExportFileFunctions | Strategy class for exporting to a file. This strategy is external to the Document class so that class is simpler |
 ExportFileRelations | Strategy class for exporting to a file. This strategy is external to the Document class so that class is simpler |
 ExportImageForRegression | Class for exporting during regression, when the Transformation has not yet been defined |
 ExportOrdinalsSmooth | Utility class to interpolate points spaced evenly along a piecewise defined curve with fitted spline |
 ExportOrdinalsStraight | Utility class to interpolate points spaced evenly along a piecewise defined curve with line segments between points |
 ExportToClipboard | Strategy class for exporting to the clipboard. This strategy is external to the Document class so that class is simpler |
 ExportToFile | Strategy class for exporting to a file. This strategy is external to the Document class so that class is simpler |
 ExportXThetaValuesMergedFunctions | Creates the set of merged x/theta values for exporting functions, using interpolation |
 FileCmdAbstract | Base class for 'file commands' that are used specifically for regression testing of file import/open/export features |
 FileCmdClose | Command for closing a file |
 FileCmdExport | Command for exporting a file |
 FileCmdFactory | Factory that creates FileCmds from a file cmd script file, in xml format |
 FileCmdImport | Command for importing a file |
 FileCmdOpen | Command for opening a file |
 FileCmdScript | File that manages a command stack for regression testing of file import/open/export/close |
 FilterImage | Filters an image using a combination of color filtering and grid removal |
 FittingCurve | Curve that overlays the current scene so the regression-fitted curve is visible |
 FittingModel | Model for FittingWindow |
 FittingStatistics | This class does the math to compute statistics for FittingWindow |
 FittingWindow | Window that displays curve fitting as applied to the currently selected curve |
 FormatCoordsUnits | Highest-level wrapper around other Formats classes |
 FormatCoordsUnitsStrategyAbstractBase | Common methods for formatting strategies |
 FormatCoordsUnitsStrategyNonPolarTheta | Format conversions between unformatted and formatted for CoordUnitsNonPolarTheta |
 FormatCoordsUnitsStrategyPolarTheta | Format conversions between unformatted and formatted for CoordUnitsStrategyPolarTheta |
 FormatDateTime | Input parsing and output formatting for date/time values |
 FormatDegreesMinutesSecondsBase | Common input parsing and output formatting for degrees/minutes/seconds values |
 FormatDegreesMinutesSecondsNonPolarTheta | Angular units according to CoordUnitsNonPolarTheta |
 FormatDegreesMinutesSecondsPolarTheta | Angular units according to CoordUnitsPolarTheta |
 GeometryModel | Model that adds row highlighting according to the currently select point identifier |
 GeometryStrategyAbstractBase | Base class for all geometry strategies |
 GeometryStrategyContext | Class for that manages geometry strategies |
 GeometryStrategyFunctionSmooth | Calculate for line through the points that is smoothly connected as a function |
 GeometryStrategyFunctionStraight | Calculate for line through the points that is straightly connected as a function |
 GeometryStrategyRelationSmooth | Calculate for line through the points that is smoothly connected as a relation |
 GeometryStrategyRelationStraight | Calculate for line through the points that is straightly connected as a relation |
 GeometryWindow | Window that displays the geometry information, as a table, for the current curve |
 GhostEllipse | Ghost for a QGraphicsEllipseItem |
 GhostPath | Ghost for a QGraphicsPathItem |
 GhostPolygon | Ghost for a QGraphicsPolygonItem |
 Ghosts | Class for showing points and lines for all coordinate systems simultaneously, even though the code normally only allows graphical items for once coordinate system to be visible at a time |
 GraphicsArcItem | Draw an arc as an ellipse but without lines from the center to the start and end points |
 GraphicsItemsExtractor | This class consolidates utility routines that deal with graphics items that are getting extracted from the scene |
 GraphicsLinesForCurve | This class stores the GraphicsLine objects for one Curve |
 GraphicsLinesForCurves | This class stores the GraphicsLinesForCurves objects, one per Curve |
 GraphicsPoint | Graphics item for drawing a circular or polygonal Point |
 GraphicsPointAbstractBase | Base class for adding identifiers to graphics items that represent Points |
 GraphicsPointEllipse | This class add event handling to QGraphicsEllipseItem |
 GraphicsPointFactory | Factor for generating GraphicsPointAbstractBase class objects |
 GraphicsPointPolygon | This class add event handling to QGraphicsPolygonItem |
 GraphicsScene | Add point and line handling to generic QGraphicsScene |
 GraphicsView | QGraphicsView class with event handling added. Typically the events are sent to the active digitizing state |
 GridClassifier | Classify the grid pattern in an original image |
 GridHealer | Class that 'heals' the curves after grid lines have been removed |
 GridInitializer | This class initializes the count, start, step and stop parameters for one coordinate (either x/theta or y/range) |
 GridLine | Single grid line drawn a straight or curved line |
 GridLineFactory | Factory class for generating the points, composed of QGraphicsItem objects, along a GridLine |
 GridLineLimiter | Limit the number of grid lines so a bad combination of start/step/stop value will not lead to extremely long delays when the step size is much too small for the start/stop values |
 GridLines | Container class for GridLine objects |
 GridRemoval | Strategy class for grid removal |
 HelpBrowser | Text browser with resource loading enhanced for use as help text browser |
 HelpWindow | Dockable help window |
 ImportCroppingUtilBase | Utility class for import cropping options |
 ImportCroppingUtilNonPdf | Import of non-pdf files |
 ImportCroppingUtilPdf | Import of pdf files |
 Jpeg2000 | Wrapper around OpenJPEG library, in C, for opening jpeg2000 files |
 LinearToLog | Warps log coordinates to make them linear before passing them to code that accepts only linear coordinates |
 LineStyle | Details for a specific Line |
 LoadFileInfo | Returns information about files |
 LoadImageFromUrl | Load QImage from url. This is trivial for a file, but requires an asynchronous download step for http urls |
 LoggerUpload | Upload logging information to website for developer support |
 MainDirectoryPersist | Persist the directory between successive Import/Open operations, or successive Export/Save operations |
 MainWindow | Main window consisting of menu, graphics scene, status bar and optional toolbars as a Single Document Interface |
 MainWindowModel | Model for DlgSettingsMainWindow |
 Matrix | Matrix class that supports arbitrary NxN size |
 MigrateToVersion6 | Converts old (=pre version 6) enums to new (=version 6) enums, for reading of old document files |
 MimePointsDetector | Detect if text is acceptable for ingestion by MimePoints |
 MimePointsExport | Custom mime type for separate treatment of graph coordinates and, when there is no transform, points coordinates |
 MimePointsImport | Import of point data from clipboard |
 NetworkClient | Client for interacting with Engauge server |
 NonPdf | Wrapper around the QImage class for read and importing non-PDF files |
 NonPdfCropping | This class shows a frame around the selected portion of the import preview window |
 NonPdfFrameHandle | This class acts as a single handle for the NonPdfCropping class |
 OrdinalGenerator | Utility class for generating ordinal numbers |
 Pdf | Wrapper around the Poppler library |
 PdfCropping | This class shows a frame around the selected portion of the pdf import preview window |
 PdfFrameHandle | This class acts as a single handle for the PdfCropping class |
 Point | Class that represents one digitized point. The screen-to-graph coordinate transformation is always external to this class |
 PointComparator | Comparator for sorting Point class |
 PointIdentifiers | Hash table class that tracks point identifiers as the key, with a corresponding boolean value |
 PointMatchAlgorithm | Algorithm returning a list of points that match the specified point |
 PointMatchPixel | Single on or off pixel out of the pixels that define the point match mode's candidate point |
 PointMatchTriplet | Representation of one matched point as produced from the point match algorithm |
 PointStyle | Details for a specific Point |
 ScaleBarAxisPointsUnite | Given a set of point identifiers, if a map is in effect (with its two axis endpoints) then both axis points must be handled as a unit |
 Segment | Selectable piecewise-defined line that follows a filtered line in the image |
 SegmentFactory | Factory class for Segment objects |
 SegmentLine | This class is a special case of the standard QGraphicsLineItem for segments |
 SettingsForGraph | Manage storage and retrieval of the settings for the curves |
 Spline | Cubic interpolation given independent and dependent value vectors |
 SplineCoeff | Four element vector of a,b,c,d coefficients and the associated x value, for one interval of a set of piecewise-defined intervals |
 SplinePair | Single X/Y pair for cubic spline interpolation initialization and calculations |
 StatusBar | Wrapper around QStatusBar to manage permanent widgets |
 TestCorrelation | Unit tests of fast correlation algorithm |
 TestExport | Unit test of Export classes |
 TestFitting | Unit test of Fitting classes |
 TestFormats | Unit tests of formats |
 TestGraphCoords | Unit tests of graph coordinate sanity checking |
 TestGridLineLimiter | Unit test of GridLineLimiter class |
 TestMatrix | Unit tests of matrix |
 TestProjectedPoint | Unit test of spline library |
 TestSegmentFill | Unit test of segment fill feature |
 TestSpline | Unit test of spline library |
 TestTransformation | Unit test of transformation class. Checking mostly involves verifying forward/reverse are inverses of each other |
 TestValidators | Unit tests of validators |
 TestZoomTransition | Unit test of ZoomTransition class |
 Transformation | Affine transformation between screen and graph coordinates, based on digitized axis points |
 TransformationStateAbstractBase | Base class for all transformation states. This serves as an interface to TransformationStateContext |
 TransformationStateContext | Context class for transformation state machine |
 TransformationStateDefined | Class to show transformation since transformation is defined |
 TransformationStateUndefined | Class to not show transformation since transformation is undefined |
 TranslatorContainer | Class that stores QTranslator objects for the duration of application execution |
 TutorialButton | Show a button with text for clicking ion. The button is implemented using layering of two graphics items (text and rectangle) |
 TutorialButtonRect | This class customizes QGraphicsRectItem so it performs a callback after a mouse event |
 TutorialButtonText | This class customizes QGraphicsTextItem so it performs a callback after a mouse event |
 TutorialDlg | Tutorial using a strategy like a comic strip with decision points deciding which panels appear |
 TutorialStateAbstractBase | One state manages one panel of the tutorial |
 TutorialStateAxisPoints | Axis points panel discusses axis point digitization |
 TutorialStateChecklistWizardAbstract | Abstract class that supports checklist wizard panels |
 TutorialStateChecklistWizardLines | Checklist wizard panel for lines discusses the checklist wizard, and returns to TRANSITION_STATE_SEGMENT_FILL |
 TutorialStateChecklistWizardPoints | Checklist wizard panel for points discusses the checklist wizard, and returns to TRANSITION_STATE_POINT_MATCH |
 TutorialStateColorFilter | Color filter panel discusses the curve-specific color filtering |
 TutorialStateContext | Context class for tutorial state machine |
 TutorialStateCurveSelection | Curve selection panel discusses how to select a curve, and perform setup on the selected curve |
 TutorialStateCurveType | Curve type state/panel lets user select the curve type (lines or points) |
 TutorialStateIntroduction | Introduction state/panel is the first panel the user sees |
 TutorialStatePointMatch | Point match panel discusses the matching of points in curves without lines |
 TutorialStateSegmentFill | Segment fill panel discusses the digitization of points along curve lines |
 ViewPointStyle | Class that displays a view of the current Curve's point style |
 ViewPreview | Class that modifies QGraphicsView to automatically expand/shrink the view to fit the window, after resize events |
 ViewProfile | Class that modifies QGraphicsView to present a two-dimensional profile, with movable dividers for selecting a range |
 ViewProfileDivider | Divider that can be dragged, in a dialog QGraphicsView |
 ViewProfileScale | Linear horizontal scale, with the spectrum reflecting the active filter parameter |
 ViewSegmentFilter | Class that displays the current Segment Filter in a MainWindow toolbar |
 WindowAbstractBase | Dockable widget abstract base class |
 WindowModelBase | Model for WindowTable |
 WindowTable | Table view class with support for both drag-and-drop and copy-and-paste |
 ZoomTransition | Perform calculations to determine the next zoom setting given the current zoom setting, when zooming in or out |