Mercurial > mplayer.hg
annotate gui/app.h @ 35503:ac6c531dc9d1
Replace symbolic GUI message (event) constants by enums.
Additionally, rearrange and add doxygen comments.
author | ib |
---|---|
date | Wed, 05 Dec 2012 01:42:50 +0000 |
parents | ac6b38cd0d45 |
children | cfcf52c6176f |
rev | line source |
---|---|
26458 | 1 /* |
2 * This file is part of MPlayer. | |
3 * | |
4 * MPlayer is free software; you can redistribute it and/or modify | |
5 * it under the terms of the GNU General Public License as published by | |
6 * the Free Software Foundation; either version 2 of the License, or | |
7 * (at your option) any later version. | |
8 * | |
9 * MPlayer is distributed in the hope that it will be useful, | |
10 * but WITHOUT ANY WARRANTY; without even the implied warranty of | |
11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |
12 * GNU General Public License for more details. | |
13 * | |
14 * You should have received a copy of the GNU General Public License along | |
15 * with MPlayer; if not, write to the Free Software Foundation, Inc., | |
16 * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. | |
17 */ | |
18 | |
26029 | 19 #ifndef MPLAYER_GUI_APP_H |
20 #define MPLAYER_GUI_APP_H | |
23077 | 21 |
33046 | 22 #include "util/bitmap.h" |
23077 | 23 #include "wm/ws.h" |
24 | |
35503
ac6c531dc9d1
Replace symbolic GUI message (event) constants by enums.
ib
parents:
34697
diff
changeset
|
25 /// GUI messages (user events) |
ac6c531dc9d1
Replace symbolic GUI message (event) constants by enums.
ib
parents:
34697
diff
changeset
|
26 enum { |
ac6c531dc9d1
Replace symbolic GUI message (event) constants by enums.
ib
parents:
34697
diff
changeset
|
27 evNone, |
ac6c531dc9d1
Replace symbolic GUI message (event) constants by enums.
ib
parents:
34697
diff
changeset
|
28 evPlay, |
ac6c531dc9d1
Replace symbolic GUI message (event) constants by enums.
ib
parents:
34697
diff
changeset
|
29 evStop, |
ac6c531dc9d1
Replace symbolic GUI message (event) constants by enums.
ib
parents:
34697
diff
changeset
|
30 evPause, |
ac6c531dc9d1
Replace symbolic GUI message (event) constants by enums.
ib
parents:
34697
diff
changeset
|
31 evPrev, |
ac6c531dc9d1
Replace symbolic GUI message (event) constants by enums.
ib
parents:
34697
diff
changeset
|
32 evNext, |
ac6c531dc9d1
Replace symbolic GUI message (event) constants by enums.
ib
parents:
34697
diff
changeset
|
33 evLoad, |
ac6c531dc9d1
Replace symbolic GUI message (event) constants by enums.
ib
parents:
34697
diff
changeset
|
34 evLoadPlay, |
ac6c531dc9d1
Replace symbolic GUI message (event) constants by enums.
ib
parents:
34697
diff
changeset
|
35 evLoadAudioFile, |
ac6c531dc9d1
Replace symbolic GUI message (event) constants by enums.
ib
parents:
34697
diff
changeset
|
36 evLoadSubtitle, |
ac6c531dc9d1
Replace symbolic GUI message (event) constants by enums.
ib
parents:
34697
diff
changeset
|
37 evDropSubtitle, |
ac6c531dc9d1
Replace symbolic GUI message (event) constants by enums.
ib
parents:
34697
diff
changeset
|
38 evPlaylist, |
ac6c531dc9d1
Replace symbolic GUI message (event) constants by enums.
ib
parents:
34697
diff
changeset
|
39 evPlayCD, |
ac6c531dc9d1
Replace symbolic GUI message (event) constants by enums.
ib
parents:
34697
diff
changeset
|
40 evPlayVCD, |
ac6c531dc9d1
Replace symbolic GUI message (event) constants by enums.
ib
parents:
34697
diff
changeset
|
41 evPlayDVD, |
ac6c531dc9d1
Replace symbolic GUI message (event) constants by enums.
ib
parents:
34697
diff
changeset
|
42 evLoadURL, |
ac6c531dc9d1
Replace symbolic GUI message (event) constants by enums.
ib
parents:
34697
diff
changeset
|
43 evPlaySwitchToPause, |
ac6c531dc9d1
Replace symbolic GUI message (event) constants by enums.
ib
parents:
34697
diff
changeset
|
44 evPauseSwitchToPlay, |
ac6c531dc9d1
Replace symbolic GUI message (event) constants by enums.
ib
parents:
34697
diff
changeset
|
45 evBackward10sec, |
ac6c531dc9d1
Replace symbolic GUI message (event) constants by enums.
ib
parents:
34697
diff
changeset
|
46 evForward10sec, |
ac6c531dc9d1
Replace symbolic GUI message (event) constants by enums.
ib
parents:
34697
diff
changeset
|
47 evBackward1min, |
ac6c531dc9d1
Replace symbolic GUI message (event) constants by enums.
ib
parents:
34697
diff
changeset
|
48 evForward1min, |
ac6c531dc9d1
Replace symbolic GUI message (event) constants by enums.
ib
parents:
34697
diff
changeset
|
49 evBackward10min, |
ac6c531dc9d1
Replace symbolic GUI message (event) constants by enums.
ib
parents:
34697
diff
changeset
|
50 evForward10min, |
ac6c531dc9d1
Replace symbolic GUI message (event) constants by enums.
ib
parents:
34697
diff
changeset
|
51 evSetMoviePosition, |
ac6c531dc9d1
Replace symbolic GUI message (event) constants by enums.
ib
parents:
34697
diff
changeset
|
52 evHalfSize, |
ac6c531dc9d1
Replace symbolic GUI message (event) constants by enums.
ib
parents:
34697
diff
changeset
|
53 evDoubleSize, |
ac6c531dc9d1
Replace symbolic GUI message (event) constants by enums.
ib
parents:
34697
diff
changeset
|
54 evFullScreen, |
ac6c531dc9d1
Replace symbolic GUI message (event) constants by enums.
ib
parents:
34697
diff
changeset
|
55 evNormalSize, |
ac6c531dc9d1
Replace symbolic GUI message (event) constants by enums.
ib
parents:
34697
diff
changeset
|
56 evSetAspect, |
ac6c531dc9d1
Replace symbolic GUI message (event) constants by enums.
ib
parents:
34697
diff
changeset
|
57 evIncVolume, |
ac6c531dc9d1
Replace symbolic GUI message (event) constants by enums.
ib
parents:
34697
diff
changeset
|
58 evDecVolume, |
ac6c531dc9d1
Replace symbolic GUI message (event) constants by enums.
ib
parents:
34697
diff
changeset
|
59 evSetVolume, |
ac6c531dc9d1
Replace symbolic GUI message (event) constants by enums.
ib
parents:
34697
diff
changeset
|
60 evMute, |
ac6c531dc9d1
Replace symbolic GUI message (event) constants by enums.
ib
parents:
34697
diff
changeset
|
61 evSetBalance, |
ac6c531dc9d1
Replace symbolic GUI message (event) constants by enums.
ib
parents:
34697
diff
changeset
|
62 evEqualizer, |
ac6c531dc9d1
Replace symbolic GUI message (event) constants by enums.
ib
parents:
34697
diff
changeset
|
63 evAbout, |
ac6c531dc9d1
Replace symbolic GUI message (event) constants by enums.
ib
parents:
34697
diff
changeset
|
64 evPreferences, |
ac6c531dc9d1
Replace symbolic GUI message (event) constants by enums.
ib
parents:
34697
diff
changeset
|
65 evSkinBrowser, |
ac6c531dc9d1
Replace symbolic GUI message (event) constants by enums.
ib
parents:
34697
diff
changeset
|
66 evMenu, |
ac6c531dc9d1
Replace symbolic GUI message (event) constants by enums.
ib
parents:
34697
diff
changeset
|
67 evIconify, |
ac6c531dc9d1
Replace symbolic GUI message (event) constants by enums.
ib
parents:
34697
diff
changeset
|
68 evExit = 100 |
ac6c531dc9d1
Replace symbolic GUI message (event) constants by enums.
ib
parents:
34697
diff
changeset
|
69 }; |
23077 | 70 |
35503
ac6c531dc9d1
Replace symbolic GUI message (event) constants by enums.
ib
parents:
34697
diff
changeset
|
71 /// Internal messages (events) |
ac6c531dc9d1
Replace symbolic GUI message (event) constants by enums.
ib
parents:
34697
diff
changeset
|
72 enum { |
ac6c531dc9d1
Replace symbolic GUI message (event) constants by enums.
ib
parents:
34697
diff
changeset
|
73 ivSetVideo = 1000, |
ac6c531dc9d1
Replace symbolic GUI message (event) constants by enums.
ib
parents:
34697
diff
changeset
|
74 ivSetAudio, |
ac6c531dc9d1
Replace symbolic GUI message (event) constants by enums.
ib
parents:
34697
diff
changeset
|
75 ivSetSubtitle, |
ac6c531dc9d1
Replace symbolic GUI message (event) constants by enums.
ib
parents:
34697
diff
changeset
|
76 ivSetCDTrack, |
ac6c531dc9d1
Replace symbolic GUI message (event) constants by enums.
ib
parents:
34697
diff
changeset
|
77 ivSetVCDTrack, |
ac6c531dc9d1
Replace symbolic GUI message (event) constants by enums.
ib
parents:
34697
diff
changeset
|
78 ivSetDVDTitle, |
ac6c531dc9d1
Replace symbolic GUI message (event) constants by enums.
ib
parents:
34697
diff
changeset
|
79 ivSetDVDChapter, |
ac6c531dc9d1
Replace symbolic GUI message (event) constants by enums.
ib
parents:
34697
diff
changeset
|
80 ivSetDVDAudio, |
ac6c531dc9d1
Replace symbolic GUI message (event) constants by enums.
ib
parents:
34697
diff
changeset
|
81 ivSetDVDSubtitle, |
ac6c531dc9d1
Replace symbolic GUI message (event) constants by enums.
ib
parents:
34697
diff
changeset
|
82 ivPlayDVD, |
ac6c531dc9d1
Replace symbolic GUI message (event) constants by enums.
ib
parents:
34697
diff
changeset
|
83 ivShowPopUpMenu, |
ac6c531dc9d1
Replace symbolic GUI message (event) constants by enums.
ib
parents:
34697
diff
changeset
|
84 ivHidePopUpMenu, |
ac6c531dc9d1
Replace symbolic GUI message (event) constants by enums.
ib
parents:
34697
diff
changeset
|
85 ivRedraw |
ac6c531dc9d1
Replace symbolic GUI message (event) constants by enums.
ib
parents:
34697
diff
changeset
|
86 }; |
23077 | 87 |
32897 | 88 typedef struct { |
32911 | 89 int message; |
32897 | 90 const char *name; |
23077 | 91 } evName; |
92 | |
34684 | 93 /* Skin items */ |
32897 | 94 |
32919 | 95 #define itNone 0 |
32897 | 96 #define itButton 101 |
97 #define itHPotmeter 102 | |
98 #define itVPotmeter 103 | |
99 #define itSLabel 104 | |
100 #define itDLabel 105 | |
23077 | 101 #define itBase 106 |
102 #define itPotmeter 107 | |
33100 | 103 #define itMenu 108 |
32897 | 104 |
32919 | 105 #define itPLMButton (itNone - 1) |
106 #define itPRMButton (itNone - 2) | |
107 | |
34684 | 108 /* Button states */ |
32897 | 109 |
32920 | 110 #define btnDisabled 0 |
23077 | 111 #define btnReleased 1 |
32920 | 112 #define btnPressed 2 |
32897 | 113 |
34684 | 114 /* Item definition */ |
32938 | 115 |
116 #define MAX_ITEMS 64 | |
117 | |
32897 | 118 typedef struct { |
119 int type; | |
120 | |
121 int x, y; | |
122 int width, height; | |
123 | |
33555 | 124 guiImage Bitmap; |
125 guiImage Mask; | |
32897 | 126 |
127 int fontid; | |
128 int align; | |
129 char *label; | |
130 | |
32911 | 131 int pwidth, pheight; |
132 int numphases; | |
133 float value; | |
134 | |
135 int message; | |
136 | |
137 int R, G, B; | |
138 | |
32897 | 139 char *text; |
140 int textwidth; | |
141 unsigned int starttime; | |
142 int last_x; | |
143 | |
33103 | 144 int pressed; |
23077 | 145 } wItem; |
146 | |
32897 | 147 typedef struct { |
148 wItem main; | |
149 wsTWindow mainWindow; | |
150 int mainDecoration; | |
23077 | 151 |
34697 | 152 wItem video; |
153 wsTWindow videoWindow; | |
23077 | 154 |
33555 | 155 wItem playbar; |
156 wsTWindow playbarWindow; | |
157 int playbarIsPresent; | |
29263
0f1b5b68af32
whitespace cosmetics: Remove all trailing whitespace.
diego
parents:
28051
diff
changeset
|
158 |
33084 | 159 wItem menu; |
32897 | 160 wItem menuSelected; |
161 wsTWindow menuWindow; | |
162 int menuIsPresent; | |
23077 | 163 |
32931
03b1051bed5c
Rename the 'NumberOf' members of the listItems structure.
ib
parents:
32927
diff
changeset
|
164 int IndexOfMainItems; |
32938 | 165 wItem mainItems[MAX_ITEMS]; |
32897 | 166 |
33555 | 167 int IndexOfPlaybarItems; |
168 wItem playbarItems[MAX_ITEMS]; | |
32912 | 169 |
32931
03b1051bed5c
Rename the 'NumberOf' members of the listItems structure.
ib
parents:
32927
diff
changeset
|
170 int IndexOfMenuItems; |
32938 | 171 wItem menuItems[MAX_ITEMS]; |
32937 | 172 } guiItems; |
23077 | 173 |
33555 | 174 extern guiItems guiApp; |
23077 | 175 |
34339 | 176 wItem *appFindItem(int event); |
34328 | 177 int appFindMessage(const char *name); |
32932 | 178 void appFreeStruct(void); |
32948 | 179 void btnModify(int event, float state); |
180 void btnSet(int event, int set); | |
23077 | 181 |
26029 | 182 #endif /* MPLAYER_GUI_APP_H */ |