]> git.saurik.com Git - wxWidgets.git/blob - utils/screenshotgen/src/ctrlmaskout.h
1e0ec6832e9f7ebbb905d710534630820b46bfd8
[wxWidgets.git] / utils / screenshotgen / src / ctrlmaskout.h
1 /////////////////////////////////////////////////////////////////////////////
2 // Name: ctrlmaskout.h
3 // Purpose: Defines the CtrlMaskOut class
4 // Author: Utensil Candel (UtensilCandel@@gmail.com)
5 // RCS-ID: $Id$
6 // Licence: wxWindows license
7 /////////////////////////////////////////////////////////////////////////////
8
9 #ifndef _CTRLMASKOUT_H_
10 #define _CTRLMASKOUT_H_
11
12 #include "wx/filename.h"
13
14
15 // ----------------------------------------------------------------------------
16 // class CtrlMaskOut
17 // ----------------------------------------------------------------------------
18
19 class CtrlMaskOut : public wxEvtHandler
20 {
21 public:
22 CtrlMaskOut();
23 ~CtrlMaskOut();
24
25 public:
26 void OnLeftButtonDown(wxMouseEvent& event);
27 void OnLeftButtonUp(wxMouseEvent& event);
28 void OnMouseMoving(wxMouseEvent& event);
29
30 void Capture(wxRect rect, wxString fileName);
31 void Capture(int x, int y, int width, int height, wxString fileName);
32
33 wxString GetDefaultDirectory() const
34 { return m_defaultDir; }
35 wxString GetDefaultDirectoryAbsPath() const
36 {
37 wxFileName output = wxFileName::DirName(GetDefaultDirectory());
38 output.MakeAbsolute();
39 return output.GetFullPath();
40 }
41
42 private:
43 // Helper functions
44 void CreateMask(wxWindow* parent);
45 void DestroyMask();
46 void DetermineCtrlNameAndRect();
47
48 void OnTimingFinished(wxTimerEvent& event);
49
50
51 // Data members
52 wxString m_defaultDir;
53
54 wxString m_controlName;
55 wxRect m_currentRect;
56 wxCoord m_inflateBorder;
57
58 wxFrame * m_mask;
59
60 bool m_isTiming;
61 };
62
63 #endif // _CTRLMASKOUT_H_
64
65