All Classes Namespaces Functions Variables Enumerations Properties Pages
pegbaraligner.h
1 /*
2 
3 Pencil2D - Traditional Animation Software
4 Copyright (C) 2005-2007 Patrick Corrieri & Pascal Naidon
5 Copyright (C) 2012-2020 Matthew Chiawen Chang
6 
7 This program is free software; you can redistribute it and/or
8 modify it under the terms of the GNU General Public License
9 as published by the Free Software Foundation; version 2 of the License.
10 
11 This program is distributed in the hope that it will be useful,
12 but WITHOUT ANY WARRANTY; without even the implied warranty of
13 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 GNU General Public License for more details.
15 
16 */
17 #ifndef PEGBARALIGNER_H
18 #define PEGBARALIGNER_H
19 
20 #include <pencilerror.h>
21 
22 #include <QPoint>
23 #include <QRectF>
24 
25 class BitmapImage;
26 class Editor;
27 
28 class PegStatus : public Status
29 {
30 public:
31  PegStatus(ErrorCode code, QPoint point = {});
32  QPoint point;
33 };
34 
36 {
37  Q_DECLARE_TR_FUNCTIONS(PegBarAligner)
38 public:
39  PegBarAligner(Editor* editor, QRect searchRect);
40 
41  Status align(const QStringList& layers);
42 
43 private:
44  PegStatus findPoint(const BitmapImage& image) const;
45 
46  Editor* mEditor = nullptr;
47 
48  const int mGrayThreshold = 121;
49  QRect mPegSearchRect;
50 };
51 
52 #endif // PEGBARALIGNER_H
Definition: editor.h:55