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