Mercurial > mplayer.hg
annotate gui/app.h @ 33526:140525bcc32f
Fix GUI icon bug.
The GUI icon did not display properly but showed up with various distortions.
The reason was the icon mask which hadn't been put to the X server yet when
used.
The icon itself was okay, but is rendered now in a way that doesn't need a
drawable which spares creating a GTK window and destroying it right after.
The locally used GDK variables have been moved inside the function where
they are needed.
Patch with grateful support by Steaphan Greene, sgreene cs.binghamton edu.
This closes Bugzilla #582.
author | ib |
---|---|
date | Tue, 14 Jun 2011 17:51:17 +0000 |
parents | de4f5f183ddb |
children | c5a19bbeac2b |
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 | |
28 #define evPlay 1 | |
29 #define evStop 2 | |
30 #define evPause 3 | |
31 #define evPrev 6 | |
32 #define evNext 7 | |
33 #define evLoad 8 | |
34 #define evEqualizer 9 | |
35 #define evPlayList 10 | |
36 #define evIconify 11 | |
37 #define evAbout 12 | |
38 #define evLoadPlay 13 | |
39 #define evPreferences 14 | |
40 #define evSkinBrowser 15 | |
41 #define evPlaySwitchToPause 16 | |
42 #define evPauseSwitchToPlay 17 | |
43 | |
44 #define evBackward10sec 18 | |
45 #define evForward10sec 19 | |
46 #define evBackward1min 20 | |
47 #define evForward1min 21 | |
48 #define evBackward10min 22 | |
49 #define evForward10min 23 | |
50 | |
51 #define evHalfSize 301 | |
52 #define evNormalSize 24 | |
53 #define evDoubleSize 25 | |
54 #define evFullScreen 26 | |
55 | |
56 #define evSetMoviePosition 27 | |
57 #define evSetVolume 28 | |
58 #define evSetBalance 29 | |
59 #define evMute 30 | |
60 | |
61 #define evIncVolume 31 | |
62 #define evDecVolume 32 | |
32897 | 63 #define evIncAudioBufDelay 33 // NOTE TO MYSELF: not all of these events |
64 #define evDecAudioBufDelay 34 // are actually implemented, and update doc | |
23077 | 65 #define evIncBalance 35 |
66 #define evDecBalance 36 | |
67 | |
68 #define evHelp 37 | |
69 | |
70 #define evLoadSubtitle 38 | |
71 #define evDropSubtitle 43 | |
72 #define evPlayDVD 39 | |
32897 | 73 #define evPlayVCD 40 |
23077 | 74 #define evPlayNetwork 41 |
32897 | 75 #define evLoadAudioFile 42 |
23077 | 76 #define evSetAspect 44 |
32897 | 77 #define evSetAudio 45 |
78 #define evSetVideo 46 | |
23077 | 79 #define evSetSubtitle 47 |
80 | |
81 #define evExit 1000 | |
82 | |
32897 | 83 // General events |
23077 | 84 |
85 #define evFileLoaded 5000 | |
86 #define evHideMouseCursor 5001 | |
87 #define evMessageBox 5002 | |
88 #define evGeneralTimer 5003 | |
89 #define evGtkIsOk 5004 | |
90 #define evShowPopUpMenu 5005 | |
91 #define evHidePopUpMenu 5006 | |
92 #define evSetDVDAudio 5007 | |
93 #define evSetDVDSubtitle 5008 | |
94 #define evSetDVDTitle 5009 | |
95 #define evSetDVDChapter 5010 | |
96 #define evSubtitleLoaded 5011 | |
97 #define evSetVCDTrack 5012 | |
98 #define evSetURL 5013 | |
99 | |
100 #define evFName 7000 | |
101 #define evMovieTime 7001 | |
102 #define evRedraw 7002 | |
103 #define evHideWindow 7003 | |
104 #define evShowWindow 7004 | |
105 #define evFirstLoad 7005 | |
106 | |
32897 | 107 typedef struct { |
32911 | 108 int message; |
32897 | 109 const char *name; |
23077 | 110 } evName; |
111 | |
32897 | 112 // Skin items |
113 | |
32919 | 114 #define itNone 0 |
32897 | 115 #define itButton 101 |
116 #define itHPotmeter 102 | |
117 #define itVPotmeter 103 | |
118 #define itSLabel 104 | |
119 #define itDLabel 105 | |
23077 | 120 #define itBase 106 |
121 #define itPotmeter 107 | |
33100 | 122 #define itMenu 108 |
32897 | 123 |
32919 | 124 #define itPLMButton (itNone - 1) |
125 #define itPRMButton (itNone - 2) | |
126 | |
32897 | 127 // Button states |
128 | |
32920 | 129 #define btnDisabled 0 |
23077 | 130 #define btnReleased 1 |
32920 | 131 #define btnPressed 2 |
32897 | 132 |
32938 | 133 // Item definition |
134 | |
135 #define MAX_ITEMS 64 | |
136 | |
32897 | 137 typedef struct { |
138 int type; | |
139 | |
140 int x, y; | |
141 int width, height; | |
142 | |
143 txSample Bitmap; | |
144 txSample Mask; | |
145 | |
146 int fontid; | |
147 int align; | |
148 char *label; | |
149 | |
32911 | 150 int pwidth, pheight; |
151 int numphases; | |
152 float value; | |
153 | |
154 int message; | |
155 | |
156 int R, G, B; | |
157 | |
32897 | 158 char *text; |
159 int textwidth; | |
160 unsigned int starttime; | |
161 int last_x; | |
162 | |
33103 | 163 int pressed; |
23077 | 164 } wItem; |
165 | |
32897 | 166 typedef struct { |
167 wItem main; | |
168 wsTWindow mainWindow; | |
169 int mainDecoration; | |
23077 | 170 |
32897 | 171 wItem sub; |
172 wsTWindow subWindow; | |
23077 | 173 |
32897 | 174 wItem bar; |
175 wsTWindow barWindow; | |
176 int barIsPresent; | |
29263
0f1b5b68af32
whitespace cosmetics: Remove all trailing whitespace.
diego
parents:
28051
diff
changeset
|
177 |
33084 | 178 wItem menu; |
32897 | 179 wItem menuSelected; |
180 wsTWindow menuWindow; | |
181 int menuIsPresent; | |
23077 | 182 |
32931
03b1051bed5c
Rename the 'NumberOf' members of the listItems structure.
ib
parents:
32927
diff
changeset
|
183 int IndexOfMainItems; |
32938 | 184 wItem mainItems[MAX_ITEMS]; |
32897 | 185 |
32931
03b1051bed5c
Rename the 'NumberOf' members of the listItems structure.
ib
parents:
32927
diff
changeset
|
186 int IndexOfBarItems; |
32938 | 187 wItem barItems[MAX_ITEMS]; |
32912 | 188 |
32931
03b1051bed5c
Rename the 'NumberOf' members of the listItems structure.
ib
parents:
32927
diff
changeset
|
189 int IndexOfMenuItems; |
32938 | 190 wItem menuItems[MAX_ITEMS]; |
32937 | 191 } guiItems; |
23077 | 192 |
32937 | 193 extern guiItems appMPlayer; |
23077 | 194 |
32948 | 195 int appFindMessage(unsigned char *str); |
32932 | 196 void appFreeStruct(void); |
32948 | 197 void btnModify(int event, float state); |
198 void btnSet(int event, int set); | |
23077 | 199 |
26029 | 200 #endif /* MPLAYER_GUI_APP_H */ |