annotate gui/app.h @ 31794:543698dab5d2

Properly close file on error or uninit. Avoids failing with "device busy" e.g. when reinitializing the ao. Fixes bug #1746.
author reimar
date Fri, 30 Jul 2010 18:28:02 +0000
parents 4d6bb9606833
children 6b394b24f81c
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
26458
b0a7b35b78d2 Add standard GPL header to individual files.
diego
parents: 26029
diff changeset
1 /*
b0a7b35b78d2 Add standard GPL header to individual files.
diego
parents: 26029
diff changeset
2 * This file is part of MPlayer.
b0a7b35b78d2 Add standard GPL header to individual files.
diego
parents: 26029
diff changeset
3 *
b0a7b35b78d2 Add standard GPL header to individual files.
diego
parents: 26029
diff changeset
4 * MPlayer is free software; you can redistribute it and/or modify
b0a7b35b78d2 Add standard GPL header to individual files.
diego
parents: 26029
diff changeset
5 * it under the terms of the GNU General Public License as published by
b0a7b35b78d2 Add standard GPL header to individual files.
diego
parents: 26029
diff changeset
6 * the Free Software Foundation; either version 2 of the License, or
b0a7b35b78d2 Add standard GPL header to individual files.
diego
parents: 26029
diff changeset
7 * (at your option) any later version.
b0a7b35b78d2 Add standard GPL header to individual files.
diego
parents: 26029
diff changeset
8 *
b0a7b35b78d2 Add standard GPL header to individual files.
diego
parents: 26029
diff changeset
9 * MPlayer is distributed in the hope that it will be useful,
b0a7b35b78d2 Add standard GPL header to individual files.
diego
parents: 26029
diff changeset
10 * but WITHOUT ANY WARRANTY; without even the implied warranty of
b0a7b35b78d2 Add standard GPL header to individual files.
diego
parents: 26029
diff changeset
11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
b0a7b35b78d2 Add standard GPL header to individual files.
diego
parents: 26029
diff changeset
12 * GNU General Public License for more details.
b0a7b35b78d2 Add standard GPL header to individual files.
diego
parents: 26029
diff changeset
13 *
b0a7b35b78d2 Add standard GPL header to individual files.
diego
parents: 26029
diff changeset
14 * You should have received a copy of the GNU General Public License along
b0a7b35b78d2 Add standard GPL header to individual files.
diego
parents: 26029
diff changeset
15 * with MPlayer; if not, write to the Free Software Foundation, Inc.,
b0a7b35b78d2 Add standard GPL header to individual files.
diego
parents: 26029
diff changeset
16 * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
b0a7b35b78d2 Add standard GPL header to individual files.
diego
parents: 26029
diff changeset
17 */
b0a7b35b78d2 Add standard GPL header to individual files.
diego
parents: 26029
diff changeset
18
26029
4129c8cfa742 Add MPLAYER_ prefix to multiple inclusion guards.
diego
parents: 25535
diff changeset
19 #ifndef MPLAYER_GUI_APP_H
4129c8cfa742 Add MPLAYER_ prefix to multiple inclusion guards.
diego
parents: 25535
diff changeset
20 #define MPLAYER_GUI_APP_H
23077
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
21
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
22 #include "bitmap.h"
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
23 #include "wm/ws.h"
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
24 #include "wm/wskeys.h"
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
25
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
26 // --- User events ------
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
27
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
28 #define evNone 0
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
29 #define evPlay 1
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
30 #define evStop 2
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
31 #define evPause 3
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
32 #define evPrev 6
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
33 #define evNext 7
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
34 #define evLoad 8
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
35 #define evEqualizer 9
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
36 #define evPlayList 10
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
37 #define evIconify 11
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
38 #define evAbout 12
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
39 #define evLoadPlay 13
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
40 #define evPreferences 14
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
41 #define evSkinBrowser 15
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
42 #define evPlaySwitchToPause 16
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
43 #define evPauseSwitchToPlay 17
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
44
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
45 #define evBackward10sec 18
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
46 #define evForward10sec 19
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
47 #define evBackward1min 20
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
48 #define evForward1min 21
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
49 #define evBackward10min 22
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
50 #define evForward10min 23
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
51
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
52 #define evHalfSize 301
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
53 #define evNormalSize 24
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
54 #define evDoubleSize 25
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
55 #define evFullScreen 26
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
56
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
57 #define evSetMoviePosition 27
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
58 #define evSetVolume 28
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
59 #define evSetBalance 29
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
60 #define evMute 30
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
61
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
62 #define evIncVolume 31
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
63 #define evDecVolume 32
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
64 #define evIncAudioBufDelay 33
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
65 #define evDecAudioBufDelay 34
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
66 #define evIncBalance 35
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
67 #define evDecBalance 36
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
68
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
69 #define evHelp 37
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
70
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
71 #define evLoadSubtitle 38
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
72 #define evDropSubtitle 43
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
73 #define evPlayDVD 39
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
74 #define evPlayVCD 40
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
75 #define evPlayNetwork 41
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
76 #define evLoadAudioFile 42
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
77 #define evSetAspect 44
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
78 #define evSetAudio 45
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
79 #define evSetVideo 46
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
80 #define evSetSubtitle 47
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
81 // 48 ...
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
82
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
83 #define evExit 1000
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
84
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
85 // --- General events ---
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
86
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
87 #define evFileLoaded 5000
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
88 #define evHideMouseCursor 5001
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
89 #define evMessageBox 5002
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
90 #define evGeneralTimer 5003
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
91 #define evGtkIsOk 5004
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
92 #define evShowPopUpMenu 5005
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
93 #define evHidePopUpMenu 5006
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
94 #define evSetDVDAudio 5007
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
95 #define evSetDVDSubtitle 5008
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
96 #define evSetDVDTitle 5009
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
97 #define evSetDVDChapter 5010
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
98 #define evSubtitleLoaded 5011
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
99 #define evSetVCDTrack 5012
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
100 #define evSetURL 5013
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
101
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
102 #define evFName 7000
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
103 #define evMovieTime 7001
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
104 #define evRedraw 7002
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
105 #define evHideWindow 7003
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
106 #define evShowWindow 7004
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
107 #define evFirstLoad 7005
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
108
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
109 // ----------------------
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
110
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
111 typedef struct
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
112 {
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
113 int msg;
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
114 const char * name;
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
115 } evName;
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
116
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
117 #define itNULL 0
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
118 #define itButton 101 // button
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
119 #define itHPotmeter 102 // horizontal potmeter
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
120 #define itVPotmeter 103 // vertical potmeter
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
121 #define itSLabel 104 // static label
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
122 #define itDLabel 105 // dynamic label
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
123 #define itBase 106
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
124 #define itPotmeter 107
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
125 #define itFont 108
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
126 // ---
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
127 #define btnPressed 0
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
128 #define btnReleased 1
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
129 #define btnDisabled 2
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
130 // ---
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
131 typedef struct
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
132 {
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
133 int type;
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
134 // ---
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
135 int x,y;
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
136 int width,height;
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
137 // ---
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
138 int px,py,psx,psy;
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
139 // ---
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
140 int msg,msg2;
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
141 int pressed,tmp;
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
142 int key,key2;
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
143 int phases;
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
144 float value;
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
145 txSample Bitmap;
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
146 txSample Mask;
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
147 // ---
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
148 int fontid;
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
149 int align;
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
150 char * label;
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
151 // ---
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
152 int event;
29263
0f1b5b68af32 whitespace cosmetics: Remove all trailing whitespace.
diego
parents: 28051
diff changeset
153 // ---
23077
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
154 int R,G,B;
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
155 } wItem;
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
156
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
157 typedef struct
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
158 {
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
159 wItem main;
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
160 wsTWindow mainWindow;
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
161 int mainDecoration;
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
162
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
163 wItem sub;
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
164 wsTWindow subWindow;
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
165
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
166 wItem bar;
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
167 wsTWindow barWindow;
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
168 int barIsPresent;
29263
0f1b5b68af32 whitespace cosmetics: Remove all trailing whitespace.
diego
parents: 28051
diff changeset
169
23077
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
170 wItem menuBase;
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
171 wItem menuSelected;
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
172 wsTWindow menuWindow;
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
173 int menuIsPresent;
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
174
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
175 // ---
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
176 int NumberOfItems;
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
177 wItem Items[256];
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
178 // ---
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
179 int NumberOfMenuItems;
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
180 wItem MenuItems[64];
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
181 // ---
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
182 int NumberOfBarItems;
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
183 wItem barItems[256];
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
184 } listItems;
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
185
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
186 extern listItems appMPlayer;
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
187
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
188 extern char * skinDirInHome;
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
189 extern char * skinDirInHome_obsolete;
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
190 extern char * skinMPlayerDir;
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
191 extern char * skinMPlayerDir_obsolete;
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
192
28051
9e739bdb049c Get rid of pointless 'extern' keywords.
diego
parents: 26458
diff changeset
193 void appInitStruct( listItems * item );
9e739bdb049c Get rid of pointless 'extern' keywords.
diego
parents: 26458
diff changeset
194 void appClearItem( wItem * item );
9e739bdb049c Get rid of pointless 'extern' keywords.
diego
parents: 26458
diff changeset
195 void appCopy( listItems * item1, listItems * item2 );
9e739bdb049c Get rid of pointless 'extern' keywords.
diego
parents: 26458
diff changeset
196 int appFindMessage( unsigned char * str );
9e739bdb049c Get rid of pointless 'extern' keywords.
diego
parents: 26458
diff changeset
197 int appFindKey( unsigned char * name );
23077
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
198
28051
9e739bdb049c Get rid of pointless 'extern' keywords.
diego
parents: 26458
diff changeset
199 void btnModify( int event, float state );
9e739bdb049c Get rid of pointless 'extern' keywords.
diego
parents: 26458
diff changeset
200 float btnGetValue( int event );
9e739bdb049c Get rid of pointless 'extern' keywords.
diego
parents: 26458
diff changeset
201 void btnSet( int event, int set );
23077
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
202
26029
4129c8cfa742 Add MPLAYER_ prefix to multiple inclusion guards.
diego
parents: 25535
diff changeset
203 #endif /* MPLAYER_GUI_APP_H */