Mercurial > mplayer.hg
annotate gui/app.h @ 34339:f05c75392897
Enable gui slave commands.
Allow sending the GUI skin messages which enables operating the GUI
with a remote control.
Only messages defined in current skin window will be executed, i.e.
only messages that could result from mouse clicks as well.
author | ib |
---|---|
date | Sun, 11 Dec 2011 14:43:16 +0000 |
parents | e8e4e6f9b7ac |
children | 0ba85cad4c7e |
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 | |
32897 | 25 // User events |
23077 | 26 |
27 #define evNone 0 | |
34317 | 28 |
23077 | 29 #define evPlay 1 |
30 #define evStop 2 | |
31 #define evPause 3 | |
32 #define evPrev 6 | |
33 #define evNext 7 | |
34 #define evLoad 8 | |
34317 | 35 #define evLoadPlay 13 |
36 #define evLoadAudioFile 42 | |
37 #define evLoadSubtitle 38 | |
38 #define evDropSubtitle 43 | |
34321
daebf766dea6
Cosmetic: Synchronize evPlaylist event and message names.
ib
parents:
34317
diff
changeset
|
39 #define evPlaylist 10 |
34317 | 40 #define evPlayVCD 40 |
41 #define evPlayDVD 39 | |
34324 | 42 #define evLoadURL 5013 |
23077 | 43 #define evPlaySwitchToPause 16 |
44 #define evPauseSwitchToPlay 17 | |
45 | |
46 #define evBackward10sec 18 | |
47 #define evForward10sec 19 | |
48 #define evBackward1min 20 | |
49 #define evForward1min 21 | |
50 #define evBackward10min 22 | |
51 #define evForward10min 23 | |
34317 | 52 #define evSetMoviePosition 27 |
23077 | 53 |
54 #define evHalfSize 301 | |
55 #define evDoubleSize 25 | |
56 #define evFullScreen 26 | |
34317 | 57 #define evNormalSize 24 |
34322 | 58 #define evSetAspect 44 |
23077 | 59 |
60 #define evIncVolume 31 | |
61 #define evDecVolume 32 | |
34317 | 62 #define evSetVolume 28 |
63 #define evMute 30 | |
64 #define evSetBalance 29 | |
65 #define evEqualizer 9 | |
66 | |
67 #define evAbout 12 | |
68 #define evPreferences 14 | |
69 #define evSkinBrowser 15 | |
70 | |
71 #define evIconify 11 | |
72 #define evExit 1000 | |
73 | |
74 // Internal events | |
75 | |
34333 | 76 #define ivSetAudio 45 |
77 #define ivSetVideo 46 | |
78 #define ivSetSubtitle 47 | |
23077 | 79 |
34333 | 80 #define ivShowPopUpMenu 5005 |
81 #define ivHidePopUpMenu 5006 | |
82 #define ivSetDVDAudio 5007 | |
83 #define ivSetDVDSubtitle 5008 | |
84 #define ivSetDVDTitle 5009 | |
85 #define ivSetDVDChapter 5010 | |
86 #define ivSetVCDTrack 5012 | |
23077 | 87 |
34333 | 88 #define ivRedraw 7002 |
23077 | 89 |
32897 | 90 typedef struct { |
32911 | 91 int message; |
32897 | 92 const char *name; |
23077 | 93 } evName; |
94 | |
32897 | 95 // Skin items |
96 | |
32919 | 97 #define itNone 0 |
32897 | 98 #define itButton 101 |
99 #define itHPotmeter 102 | |
100 #define itVPotmeter 103 | |
101 #define itSLabel 104 | |
102 #define itDLabel 105 | |
23077 | 103 #define itBase 106 |
104 #define itPotmeter 107 | |
33100 | 105 #define itMenu 108 |
32897 | 106 |
32919 | 107 #define itPLMButton (itNone - 1) |
108 #define itPRMButton (itNone - 2) | |
109 | |
32897 | 110 // Button states |
111 | |
32920 | 112 #define btnDisabled 0 |
23077 | 113 #define btnReleased 1 |
32920 | 114 #define btnPressed 2 |
32897 | 115 |
32938 | 116 // Item definition |
117 | |
118 #define MAX_ITEMS 64 | |
119 | |
32897 | 120 typedef struct { |
121 int type; | |
122 | |
123 int x, y; | |
124 int width, height; | |
125 | |
33555 | 126 guiImage Bitmap; |
127 guiImage Mask; | |
32897 | 128 |
129 int fontid; | |
130 int align; | |
131 char *label; | |
132 | |
32911 | 133 int pwidth, pheight; |
134 int numphases; | |
135 float value; | |
136 | |
137 int message; | |
138 | |
139 int R, G, B; | |
140 | |
32897 | 141 char *text; |
142 int textwidth; | |
143 unsigned int starttime; | |
144 int last_x; | |
145 | |
33103 | 146 int pressed; |
23077 | 147 } wItem; |
148 | |
32897 | 149 typedef struct { |
150 wItem main; | |
151 wsTWindow mainWindow; | |
152 int mainDecoration; | |
23077 | 153 |
32897 | 154 wItem sub; |
155 wsTWindow subWindow; | |
23077 | 156 |
33555 | 157 wItem playbar; |
158 wsTWindow playbarWindow; | |
159 int playbarIsPresent; | |
29263
0f1b5b68af32
whitespace cosmetics: Remove all trailing whitespace.
diego
parents:
28051
diff
changeset
|
160 |
33084 | 161 wItem menu; |
32897 | 162 wItem menuSelected; |
163 wsTWindow menuWindow; | |
164 int menuIsPresent; | |
23077 | 165 |
32931
03b1051bed5c
Rename the 'NumberOf' members of the listItems structure.
ib
parents:
32927
diff
changeset
|
166 int IndexOfMainItems; |
32938 | 167 wItem mainItems[MAX_ITEMS]; |
32897 | 168 |
33555 | 169 int IndexOfPlaybarItems; |
170 wItem playbarItems[MAX_ITEMS]; | |
32912 | 171 |
32931
03b1051bed5c
Rename the 'NumberOf' members of the listItems structure.
ib
parents:
32927
diff
changeset
|
172 int IndexOfMenuItems; |
32938 | 173 wItem menuItems[MAX_ITEMS]; |
32937 | 174 } guiItems; |
23077 | 175 |
33555 | 176 extern guiItems guiApp; |
23077 | 177 |
34339 | 178 wItem *appFindItem(int event); |
34328 | 179 int appFindMessage(const char *name); |
32932 | 180 void appFreeStruct(void); |
32948 | 181 void btnModify(int event, float state); |
182 void btnSet(int event, int set); | |
23077 | 183 |
26029 | 184 #endif /* MPLAYER_GUI_APP_H */ |