Engauge Digitizer  2
GridRemoval.h
1 /******************************************************************************************************
2  * (C) 2014 markummitchell@github.com. This file is part of Engauge Digitizer, which is released *
3  * under GNU General Public License version 2 (GPLv2) or (at your option) any later version. See file *
4  * LICENSE or go to gnu.org/licenses for details. Distribution requires prior written permission. *
5  ******************************************************************************************************/
6 
7 #ifndef GRID_REMOVAL_H
8 #define GRID_REMOVAL_H
9 
10 #include "GridLog.h"
11 #include <QList>
12 #include <QPixmap>
13 #include <QPointF>
14 
17 class QImage;
18 class Transformation;
19 
21 typedef QList<GridHealerAbstractBase*> GridHealers;
22 
25 {
26  public:
28  GridRemoval(bool isGnuplot);
29 
31  QPixmap remove (const Transformation &transformation,
32  const DocumentModelGridRemoval &modelGridRemoval,
33  const QImage &imageBefore);
34 
35 private:
36  GridRemoval();
37 
39  QPointF clipX (const QPointF &posUnprojected,
40  double xBoundary,
41  const QPointF &posOther) const;
42 
44  QPointF clipY (const QPointF &posUnprojected,
45  double yBoundary,
46  const QPointF &posOther) const;
47 
48  void removeLine (const QPointF &pos1,
49  const QPointF &pos2,
50  QImage &image,
51  const DocumentModelGridRemoval &modelGridRemoval,
52  GridHealers &gridHealers);
53 
54  GridLog m_gridLog;
55 };
56 
57 #endif // GRID_REMOVAL_H
Class that does special logging for GridLog and GridRemoval classes.
Definition: GridLog.h:16
Class that 'heals' the curves after one grid line has been removed.
Affine transformation between screen and graph coordinates, based on digitized axis points.
QPixmap remove(const Transformation &transformation, const DocumentModelGridRemoval &modelGridRemoval, const QImage &imageBefore)
Process QImage into QPixmap, removing the grid lines.
Definition: GridRemoval.cpp:53
Model for DlgSettingsGridRemoval and CmdSettingsGridRemoval. The settings are unstable until the user...
Strategy class for grid removal.
Definition: GridRemoval.h:24