1 // -*- c-basic-offset: 4 -*-
2 
3 /** @file PreviewGuideTool.h
4  *
5  *  @author T. Modes
6  *
7  *  @brief interface to ToolHelper for drawing guide lines over pano
8  *
9  */
10 
11 /*  This program is free software; you can redistribute it and/or
12  *  modify it under the terms of the GNU General Public
13  *  License as published by the Free Software Foundation; either
14  *  version 2 of the License, or (at your option) any later version.
15  *
16  *  This software is distributed in the hope that it will be useful,
17  *  but WITHOUT ANY WARRANTY; without even the implied warranty of
18  *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
19  *  General Public License for more details.
20  *
21  *  You should have received a copy of the GNU General Public
22  *  License along with this software. If not, see
23  *  <http://www.gnu.org/licenses/>.
24  *
25  */
26 
27 #ifndef _PREVIEWGUIDETOOL_H
28 #define _PREVIEWGUIDETOOL_H
29 
30 #include "Tool.h"
31 
32 /** Draws guide lines over the panorama in fast preview window
33  */
34 class PreviewGuideTool : public PreviewTool
35 {
36 public:
37     enum Guides
38     {
39         NONE=0,
40         THIRDS=1,
41         GOLDENRATIO=2,
42         DIAGONAL=3,
43         DIAGONAL_METHOD=4,
44         TRIANGLE_DOWN=5,
45         TRIANGLE_UP=6
46     };
47     /** constructor */
48     explicit PreviewGuideTool(PreviewToolHelper *helper);
49     /** activate the tool */
50     void Activate();
51     /** draws the lines */
52     void ReallyAfterDrawImagesEvent();
53     /** sets the guide style to the given style */
54     void SetGuideStyle(const Guides newGuideStyle);
55     /** returns the current guide style */
56     const Guides GetGuideStyle() const;
57 private:
58     Guides m_guide;
59 };
60 
61 #endif
62