]> git.sesse.net Git - vlc/blob - modules/gui/skins/controls/checkbox.h
* modules/gui/skins/*: compilation fixes.
[vlc] / modules / gui / skins / controls / checkbox.h
1 /*****************************************************************************
2  * checkbox.h: Checkbox control
3  *****************************************************************************
4  * Copyright (C) 2003 VideoLAN
5  * $Id: checkbox.h,v 1.3 2003/04/21 21:51:16 asmax Exp $
6  *
7  * Authors: Olivier Teulière <ipkiss@via.ecp.fr>
8  *          Emmanuel Puig    <karibu@via.ecp.fr>
9  *
10  * This program is free software; you can redistribute it and/or modify
11  * it under the terms of the GNU General Public License as published by
12  * the Free Software Foundation; either version 2 of the License, or
13  * (at your option) any later version.
14  *
15  * This program is distributed in the hope that it will be useful,
16  * but WITHOUT ANY WARRANTY; without even the implied warranty of
17  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
18  * GNU General Public License for more details.
19  *
20  * You should have received a copy of the GNU General Public License
21  * along with this program; if not, write to the Free Software
22  * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111,
23  * USA.
24  *****************************************************************************/
25
26
27 #ifndef VLC_SKIN_CONTROL_CHECKBOX
28 #define VLC_SKIN_CONTROL_CHECKBOX
29
30 //--- GENERAL ---------------------------------------------------------------
31 #include <string>
32 using namespace std;
33
34 //---------------------------------------------------------------------------
35 class Action;
36 class Graphics;
37 class SkinWindow;
38
39 //---------------------------------------------------------------------------
40 class ControlCheckBox : public GenericControl
41 {
42     private:
43         // Image IDs
44         string Img1;
45         string Img2;
46         string Click1;
47         string Click2;
48         string Disabled1;
49         string Disabled2;
50
51         // Behaviour
52         bool Enabled1;
53         bool Enabled2;
54         bool Selected;
55         bool CursorIn;
56
57         // List of actions to execute when clicking
58         int      Act;
59         Action  *ClickAction1;
60         string   ClickActionName1;
61         Action  *ClickAction2;
62         string   ClickActionName2;
63
64         Action     *MouseOverAction1;
65         string      MouseOverActionName1;
66         Action     *MouseOutAction1;
67         string      MouseOutActionName1;
68         Action     *MouseOverAction2;
69         string      MouseOverActionName2;
70         Action     *MouseOutAction2;
71         string      MouseOutActionName2;
72
73         // ToolTip text
74         string      ToolTipText1;
75         string      ToolTipText2;
76
77     public:
78         // Constructor
79         ControlCheckBox(
80             string id,
81             bool visible,
82             int x, int y,
83             string img1, string img2,  string clickimg1, string clickimg2,
84             string disabled1, string disabled2,
85             string onclick1, string onclick2, string onmouseover1,
86             string onmouseout1, string onmouseover2, string onmouseout2,
87             string tooltiptext1, string tooltiptext2, string help,
88             SkinWindow *Parent );
89
90         // Destructor
91         virtual ~ControlCheckBox();
92
93         // initialization
94         virtual void Init();
95         virtual bool ProcessEvent( Event *evt );
96
97         // Draw button
98         virtual void Draw( int x1, int y1, int x2, int y2, Graphics *dest );
99
100         // Mouse events
101         virtual bool MouseUp( int x, int y, int button );
102         virtual bool MouseDown( int x, int y, int button );
103         virtual bool MouseMove( int x, int y, int button );
104         virtual bool MouseOver( int x, int y );
105         virtual bool ToolTipTest( int x, int y );
106
107         // Translate control
108         virtual void MoveRelative( int xOff, int yOff );
109
110         // Enabling control
111         virtual void Enable( Event *event, bool enabled );
112 };
113 //---------------------------------------------------------------------------
114
115 #endif