Add const where appropriate, also gets rid of a compiler warning.
[mplayer/glamo.git] / gui / interface.h
blob5ac532c481109d0c9e6b68ad3bdf8f3de077a55d
1 /*
2 * This file is part of MPlayer.
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.
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.
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.
19 #ifndef MPLAYER_GUI_INTERFACE_H
20 #define MPLAYER_GUI_INTERFACE_H
22 #include "config.h"
23 #include "mplayer/play.h"
24 #include "libvo/font_load.h"
25 #include "cfg.h"
26 #include "stream/stream.h"
28 typedef struct
30 int x;
31 int y;
32 int width;
33 int height;
34 } guiResizeStruct;
36 typedef struct
38 int signal;
39 char module[512];
40 } guiUnknownErrorStruct;
42 typedef struct
44 int seek;
45 int format;
46 int width;
47 int height;
48 char codecdll[128];
49 } guiVideoStruct;
51 #ifdef CONFIG_DVDREAD
52 typedef struct
54 int titles;
55 int chapters;
56 int angles;
57 int current_chapter;
58 int current_title;
59 int current_angle;
60 int nr_of_audio_channels;
61 stream_language_t audio_streams[32];
62 int nr_of_subtitles;
63 stream_language_t subtitles[32];
64 } guiDVDStruct;
65 #endif
67 typedef struct
69 int message;
70 guiResizeStruct resize;
71 guiVideoStruct videodata;
72 guiUnknownErrorStruct error;
74 struct MPContext * mpcontext;
75 void * sh_video;
76 void * afilter;
77 void * demuxer;
78 void * event_struct;
80 int DiskChanged;
81 int NewPlay;
83 #ifdef CONFIG_DVDREAD
84 guiDVDStruct DVD;
85 int Title;
86 int Angle;
87 int Chapter;
88 #endif
90 #ifdef CONFIG_VCD
91 int VCDTracks;
92 #endif
94 int Playing;
95 float Position;
97 int MovieWidth;
98 int MovieHeight;
99 int NoWindow;
101 float Volume;
102 float Balance;
104 int Track;
105 int AudioType;
106 int StreamType;
107 int AudioOnly;
108 int TimeSec;
109 int LengthInSec;
110 int FrameDrop;
111 int FileFormat;
112 float FPS;
114 char * Filename;
115 int FilenameChanged;
117 char * Subtitlename;
118 int SubtitleChanged;
120 char * Othername;
121 int OtherChanged;
123 char * AudioFile;
124 int AudioFileChanged;
126 int SkinChange;
127 } guiInterface_t;
129 extern guiInterface_t guiIntfStruct;
131 #define guiXEvent 0
132 #define guiCEvent 1
133 #define guiIEvent 2
134 #define guiSetDVD 3
135 #define guiSetFileName 4
136 #define guiSetState 5
137 #define guiSetAudioOnly 6
138 #define guiReDrawSubWindow 7
139 #define guiSetShVideo 8
140 #define guiSetStream 9
141 #define guiReDraw 10
142 #define guiSetVolume 11
143 #define guiSetDefaults 12
144 #define guiSetValues 13
145 #define guiSetFileFormat 14
146 #define guiSetDemuxer 15
147 #define guiSetParameters 16
148 #define guiSetAfilter 17
149 #define guiSetContext 18
151 #define guiSetStop 0
152 #define guiSetPlay 1
153 #define guiSetPause 2
155 #define guiDVD 1
156 #define guiVCD 2
157 #define guiFilenames 4
158 #define guiALL 0xffffffff
160 extern int use_gui;
162 void guiInit( void );
163 void guiDone( void );
164 int guiGetEvent( int type,char * arg );
165 void guiEventHandling( void );
166 void guiLoadFont( void );
167 void guiLoadSubtitle( char * name );
168 void guiMessageBox(int level, char * str);
170 typedef struct plItem
172 struct plItem * prev,* next;
173 int played;
174 char * path;
175 char * name;
176 } plItem;
178 typedef struct urlItem
180 struct urlItem *next;
181 char * url;
182 } URLItem;
184 extern plItem * plList;
185 extern plItem * plCurrent;
186 extern plItem * plLastPlayed;
188 extern URLItem * URLList;
190 #define fsPersistant_MaxPath 512
191 #define fsPersistant_MaxPos 5
192 extern char * fsHistory[fsPersistant_MaxPos];
194 #define gtkSetContrast 0
195 #define gtkSetBrightness 1
196 #define gtkSetHue 2
197 #define gtkSetSaturation 3
198 #define gtkSetEqualizer 4
199 #define gtkAddPlItem 5
200 #define gtkGetNextPlItem 6
201 #define gtkGetPrevPlItem 7
202 #define gtkGetCurrPlItem 8
203 #define gtkDelPl 9
204 #define gtkSetExtraStereo 10
205 #define gtkSetPanscan 11
206 #define gtkSetFontFactor 12
207 #define gtkSetAutoq 13
208 #define gtkClearStruct 14
209 #define gtkAddURLItem 15
210 #define gtkSetFontOutLine 16
211 #define gtkSetFontBlur 17
212 #define gtkSetFontTextScale 18
213 #define gtkSetFontOSDScale 19
214 #define gtkSetFontEncoding 20
215 #define gtkSetFontAutoScale 21
216 #define gtkSetSubEncoding 22
217 #define gtkDelCurrPlItem 23
218 #define gtkInsertPlItem 24
219 #define gtkSetCurrPlItem 25
221 extern float gtkEquChannels[6][10];
223 void * gtkSet( int cmd, float param, void * vparam );
225 char * gstrdup( const char * str );
226 int gstrcmp( const char * a, const char * b );
227 void gfree( void ** p );
228 void gaddlist( char *** list, const char * entry );
229 char * gstrchr( char * str, int c );
231 #define guiSetFilename( s,n ) { gfree( (void **)&s ); s=gstrdup( n ); }
233 #define guiSetDF( s,d,n ) \
235 gfree( (void **)&s ); \
236 s=malloc( strlen( d ) + strlen( n ) + 5 ); \
237 sprintf( s,"%s/%s",d,n ); \
240 #endif /* MPLAYER_GUI_INTERFACE_H */