1 //------------------------------------------------------------------------------
2 // emLabel.h
3 //
4 // Copyright (C) 2005-2010,2014,2016 Oliver Hamann.
5 //
6 // Homepage: http://eaglemode.sourceforge.net/
7 //
8 // This program is free software: you can redistribute it and/or modify it under
9 // the terms of the GNU General Public License version 3 as published by the
10 // Free Software Foundation.
11 //
12 // This program is distributed in the hope that it will be useful, but WITHOUT
13 // ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
14 // FOR A PARTICULAR PURPOSE. See the GNU General Public License version 3 for
15 // more details.
16 //
17 // You should have received a copy of the GNU General Public License version 3
18 // along with this program. If not, see <http://www.gnu.org/licenses/>.
19 //------------------------------------------------------------------------------
20 
21 #ifndef emLabel_h
22 #define emLabel_h
23 
24 #ifndef emBorder_h
25 #include <emCore/emBorder.h>
26 #endif
27 
28 
29 //==============================================================================
30 //================================== emLabel ===================================
31 //==============================================================================
32 
33 class emLabel : public emBorder {
34 
35 public:
36 
37 	// A panel of this class simply shows the label as the content, and it
38 	// is not focusable by default.
39 
40 	emLabel(
41 		ParentArg parent, const emString & name,
42 		const emString & caption=emString(),
43 		const emString & description=emString(),
44 		const emImage & icon=emImage()
45 	);
46 		// Like emBorder, but it performs:
47 		//  SetOuterBorderType(OBT_MARGIN);
48 		//  SetLabelInBorder(false);
49 		//  SetFocusable(false);
50 
51 protected:
52 
53 	virtual void PaintContent(
54 		const emPainter & painter, double x, double y, double w,
55 		double h, emColor canvasColor
56 	) const;
57 		// Paints the label.
58 };
59 
60 
61 #endif
62