annotate gui/app.c @ 34458:1e84148527ab

Add user event evMenu. (Unless the skin definable menu can't be properly handled with mouse over and cursor keys, only the default menu will show up.)
author ib
date Thu, 12 Jan 2012 14:21:55 +0000
parents 0ba85cad4c7e
children ac6b38cd0d45
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
26458
b0a7b35b78d2 Add standard GPL header to individual files.
diego
parents: 25243
diff changeset
1 /*
b0a7b35b78d2 Add standard GPL header to individual files.
diego
parents: 25243
diff changeset
2 * This file is part of MPlayer.
b0a7b35b78d2 Add standard GPL header to individual files.
diego
parents: 25243
diff changeset
3 *
b0a7b35b78d2 Add standard GPL header to individual files.
diego
parents: 25243
diff changeset
4 * MPlayer is free software; you can redistribute it and/or modify
b0a7b35b78d2 Add standard GPL header to individual files.
diego
parents: 25243
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: 25243
diff changeset
6 * the Free Software Foundation; either version 2 of the License, or
b0a7b35b78d2 Add standard GPL header to individual files.
diego
parents: 25243
diff changeset
7 * (at your option) any later version.
b0a7b35b78d2 Add standard GPL header to individual files.
diego
parents: 25243
diff changeset
8 *
b0a7b35b78d2 Add standard GPL header to individual files.
diego
parents: 25243
diff changeset
9 * MPlayer is distributed in the hope that it will be useful,
b0a7b35b78d2 Add standard GPL header to individual files.
diego
parents: 25243
diff changeset
10 * but WITHOUT ANY WARRANTY; without even the implied warranty of
b0a7b35b78d2 Add standard GPL header to individual files.
diego
parents: 25243
diff changeset
11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
b0a7b35b78d2 Add standard GPL header to individual files.
diego
parents: 25243
diff changeset
12 * GNU General Public License for more details.
b0a7b35b78d2 Add standard GPL header to individual files.
diego
parents: 25243
diff changeset
13 *
b0a7b35b78d2 Add standard GPL header to individual files.
diego
parents: 25243
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: 25243
diff changeset
15 * with MPlayer; if not, write to the Free Software Foundation, Inc.,
b0a7b35b78d2 Add standard GPL header to individual files.
diego
parents: 25243
diff changeset
16 * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
b0a7b35b78d2 Add standard GPL header to individual files.
diego
parents: 25243
diff changeset
17 */
23077
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
18
34327
4d4726efed3e Add doxygen comment to app.c
ib
parents: 34326
diff changeset
19 /**
4d4726efed3e Add doxygen comment to app.c
ib
parents: 34326
diff changeset
20 * @file
4d4726efed3e Add doxygen comment to app.c
ib
parents: 34326
diff changeset
21 * @brief GUI application helpers
4d4726efed3e Add doxygen comment to app.c
ib
parents: 34326
diff changeset
22 */
4d4726efed3e Add doxygen comment to app.c
ib
parents: 34326
diff changeset
23
23077
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
24 #include "app.h"
32983
8de2eee48196 Cosmetic: Prefer path relative to current directory.
ib
parents: 32960
diff changeset
25 #include "skin/font.h"
32921
448517f556a5 Fix memory leak in appClearItem().
ib
parents: 32918
diff changeset
26
32944
27a98940e3aa Use FF_ARRAY_ELEMS() rather than a separate constant.
ib
parents: 32937
diff changeset
27 #include "libavutil/common.h"
27a98940e3aa Use FF_ARRAY_ELEMS() rather than a separate constant.
ib
parents: 32937
diff changeset
28
33979
1c4a2554d46b Add doxygen comments to app.c.
ib
parents: 33753
diff changeset
29 /**
1c4a2554d46b Add doxygen comments to app.c.
ib
parents: 33753
diff changeset
30 * @brief Initialize item counters.
1c4a2554d46b Add doxygen comments to app.c.
ib
parents: 33753
diff changeset
31 */
33555
c5a19bbeac2b Cosmetic: Rename some GUI variables and functions.
ib
parents: 33270
diff changeset
32 guiItems guiApp = {
c5a19bbeac2b Cosmetic: Rename some GUI variables and functions.
ib
parents: 33270
diff changeset
33 .IndexOfMainItems = -1,
c5a19bbeac2b Cosmetic: Rename some GUI variables and functions.
ib
parents: 33270
diff changeset
34 .IndexOfPlaybarItems = -1,
c5a19bbeac2b Cosmetic: Rename some GUI variables and functions.
ib
parents: 33270
diff changeset
35 .IndexOfMenuItems = -1
33266
de4f5f183ddb Initialize appMPlayer differently.
ib
parents: 33218
diff changeset
36 };
32897
14af78beac02 Cosmetic: Format to MPlayer coding style.
ib
parents: 32847
diff changeset
37
33979
1c4a2554d46b Add doxygen comments to app.c.
ib
parents: 33753
diff changeset
38 /**
34327
4d4726efed3e Add doxygen comment to app.c
ib
parents: 34326
diff changeset
39 * @brief Event messages belonging to event names.
33979
1c4a2554d46b Add doxygen comments to app.c.
ib
parents: 33753
diff changeset
40 */
32897
14af78beac02 Cosmetic: Format to MPlayer coding style.
ib
parents: 32847
diff changeset
41 static const evName evNames[] = {
14af78beac02 Cosmetic: Format to MPlayer coding style.
ib
parents: 32847
diff changeset
42 { evNone, "evNone" },
14af78beac02 Cosmetic: Format to MPlayer coding style.
ib
parents: 32847
diff changeset
43 { evPlay, "evPlay" },
14af78beac02 Cosmetic: Format to MPlayer coding style.
ib
parents: 32847
diff changeset
44 { evStop, "evStop" },
14af78beac02 Cosmetic: Format to MPlayer coding style.
ib
parents: 32847
diff changeset
45 { evPause, "evPause" },
14af78beac02 Cosmetic: Format to MPlayer coding style.
ib
parents: 32847
diff changeset
46 { evPrev, "evPrev" },
14af78beac02 Cosmetic: Format to MPlayer coding style.
ib
parents: 32847
diff changeset
47 { evNext, "evNext" },
14af78beac02 Cosmetic: Format to MPlayer coding style.
ib
parents: 32847
diff changeset
48 { evLoad, "evLoad" },
34317
e905a896243d Cosmetic: Rearrange and group GUI user events.
ib
parents: 33979
diff changeset
49 { evLoadPlay, "evLoadPlay" },
e905a896243d Cosmetic: Rearrange and group GUI user events.
ib
parents: 33979
diff changeset
50 { evLoadAudioFile, "evLoadAudioFile" },
e905a896243d Cosmetic: Rearrange and group GUI user events.
ib
parents: 33979
diff changeset
51 { evLoadSubtitle, "evLoadSubtitle" },
e905a896243d Cosmetic: Rearrange and group GUI user events.
ib
parents: 33979
diff changeset
52 { evDropSubtitle, "evDropSubtitle" },
34321
daebf766dea6 Cosmetic: Synchronize evPlaylist event and message names.
ib
parents: 34319
diff changeset
53 { evPlaylist, "evPlaylist" },
34387
0ba85cad4c7e Add audio CD playback support to the X11/GTK GUI.
ib
parents: 34353
diff changeset
54 { evPlayCD, "evPlayCD" },
34317
e905a896243d Cosmetic: Rearrange and group GUI user events.
ib
parents: 33979
diff changeset
55 { evPlayVCD, "evPlayVCD" },
e905a896243d Cosmetic: Rearrange and group GUI user events.
ib
parents: 33979
diff changeset
56 { evPlayDVD, "evPlayDVD" },
34324
58aaa0d8cc82 Replace evSetURL by evLoadURL for consistency.
ib
parents: 34322
diff changeset
57 { evLoadURL, "evSetURL" }, // legacy
58aaa0d8cc82 Replace evSetURL by evLoadURL for consistency.
ib
parents: 34322
diff changeset
58 { evLoadURL, "evLoadURL" },
34317
e905a896243d Cosmetic: Rearrange and group GUI user events.
ib
parents: 33979
diff changeset
59 { evPlaySwitchToPause, "evPlaySwitchToPause" },
e905a896243d Cosmetic: Rearrange and group GUI user events.
ib
parents: 33979
diff changeset
60 { evPauseSwitchToPlay, "evPauseSwitchToPlay" },
32897
14af78beac02 Cosmetic: Format to MPlayer coding style.
ib
parents: 32847
diff changeset
61 { evBackward10sec, "evBackward10sec" },
14af78beac02 Cosmetic: Format to MPlayer coding style.
ib
parents: 32847
diff changeset
62 { evForward10sec, "evForward10sec" },
14af78beac02 Cosmetic: Format to MPlayer coding style.
ib
parents: 32847
diff changeset
63 { evBackward1min, "evBackward1min" },
14af78beac02 Cosmetic: Format to MPlayer coding style.
ib
parents: 32847
diff changeset
64 { evForward1min, "evForward1min" },
14af78beac02 Cosmetic: Format to MPlayer coding style.
ib
parents: 32847
diff changeset
65 { evBackward10min, "evBackward10min" },
14af78beac02 Cosmetic: Format to MPlayer coding style.
ib
parents: 32847
diff changeset
66 { evForward10min, "evForward10min" },
34317
e905a896243d Cosmetic: Rearrange and group GUI user events.
ib
parents: 33979
diff changeset
67 { evSetMoviePosition, "evSetMoviePosition" },
34319
0de7aa136e27 Fix bug with evHalfSize event.
ib
parents: 34317
diff changeset
68 { evHalfSize, "evHalfSize" },
34317
e905a896243d Cosmetic: Rearrange and group GUI user events.
ib
parents: 33979
diff changeset
69 { evDoubleSize, "evDoubleSize" },
e905a896243d Cosmetic: Rearrange and group GUI user events.
ib
parents: 33979
diff changeset
70 { evFullScreen, "evFullScreen" },
e905a896243d Cosmetic: Rearrange and group GUI user events.
ib
parents: 33979
diff changeset
71 { evNormalSize, "evNormalSize" },
34322
6075b19ad3ad Cosmetic: Add evSetAspect event to video events.
ib
parents: 34321
diff changeset
72 { evSetAspect, "evSetAspect" },
32897
14af78beac02 Cosmetic: Format to MPlayer coding style.
ib
parents: 32847
diff changeset
73 { evIncVolume, "evIncVolume" },
14af78beac02 Cosmetic: Format to MPlayer coding style.
ib
parents: 32847
diff changeset
74 { evDecVolume, "evDecVolume" },
34317
e905a896243d Cosmetic: Rearrange and group GUI user events.
ib
parents: 33979
diff changeset
75 { evSetVolume, "evSetVolume" },
32897
14af78beac02 Cosmetic: Format to MPlayer coding style.
ib
parents: 32847
diff changeset
76 { evMute, "evMute" },
34317
e905a896243d Cosmetic: Rearrange and group GUI user events.
ib
parents: 33979
diff changeset
77 { evSetBalance, "evSetBalance" },
e905a896243d Cosmetic: Rearrange and group GUI user events.
ib
parents: 33979
diff changeset
78 { evEqualizer, "evEqualizer" },
e905a896243d Cosmetic: Rearrange and group GUI user events.
ib
parents: 33979
diff changeset
79 { evAbout, "evAbout" },
e905a896243d Cosmetic: Rearrange and group GUI user events.
ib
parents: 33979
diff changeset
80 { evPreferences, "evPreferences" },
e905a896243d Cosmetic: Rearrange and group GUI user events.
ib
parents: 33979
diff changeset
81 { evSkinBrowser, "evSkinBrowser" },
34458
1e84148527ab Add user event evMenu.
ib
parents: 34387
diff changeset
82 { evMenu, "evMenu" },
34317
e905a896243d Cosmetic: Rearrange and group GUI user events.
ib
parents: 33979
diff changeset
83 { evIconify, "evIconify" },
34326
d188b59d3fa4 Remove non-existing GUI user events.
ib
parents: 34324
diff changeset
84 { evExit, "evExit" }
32897
14af78beac02 Cosmetic: Format to MPlayer coding style.
ib
parents: 32847
diff changeset
85 };
23077
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
86
33979
1c4a2554d46b Add doxygen comments to app.c.
ib
parents: 33753
diff changeset
87 /**
1c4a2554d46b Add doxygen comments to app.c.
ib
parents: 33753
diff changeset
88 * @brief Free all memory allocated to an item and set all its pointers to NULL.
1c4a2554d46b Add doxygen comments to app.c.
ib
parents: 33753
diff changeset
89 *
1c4a2554d46b Add doxygen comments to app.c.
ib
parents: 33753
diff changeset
90 * @param item item to be freed
1c4a2554d46b Add doxygen comments to app.c.
ib
parents: 33753
diff changeset
91 */
32898
eeb36d798219 Limit scope of internally used appClearItem().
ib
parents: 32897
diff changeset
92 static void appClearItem(wItem *item)
23077
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
93 {
32917
9949f3a123cf Add new function bpFree() to free txSamples (bitmaps).
ib
parents: 32912
diff changeset
94 bpFree(&item->Bitmap);
32921
448517f556a5 Fix memory leak in appClearItem().
ib
parents: 32918
diff changeset
95 bpFree(&item->Mask);
32947
0e4fd1834f76 Prefer free() to gfree().
ib
parents: 32946
diff changeset
96 free(item->label);
0e4fd1834f76 Prefer free() to gfree().
ib
parents: 32946
diff changeset
97 free(item->text);
32946
d551faf8d07e Simplify appClearItem() by using memset().
ib
parents: 32945
diff changeset
98 memset(item, 0, sizeof(*item));
23077
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
99 }
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
100
33979
1c4a2554d46b Add doxygen comments to app.c.
ib
parents: 33753
diff changeset
101 /**
1c4a2554d46b Add doxygen comments to app.c.
ib
parents: 33753
diff changeset
102 * @brief Free all memory allocated to all GUI items and reset all item counters.
1c4a2554d46b Add doxygen comments to app.c.
ib
parents: 33753
diff changeset
103 */
32932
e95ec1b2feea Cosmetic: Rename appInitStruct() to appFreeStruct().
ib
parents: 32931
diff changeset
104 void appFreeStruct(void)
23077
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
105 {
32897
14af78beac02 Cosmetic: Format to MPlayer coding style.
ib
parents: 32847
diff changeset
106 int i;
14af78beac02 Cosmetic: Format to MPlayer coding style.
ib
parents: 32847
diff changeset
107
33555
c5a19bbeac2b Cosmetic: Rename some GUI variables and functions.
ib
parents: 33270
diff changeset
108 appClearItem(&guiApp.main);
c5a19bbeac2b Cosmetic: Rename some GUI variables and functions.
ib
parents: 33270
diff changeset
109 guiApp.mainDecoration = 0;
32929
6ea9e024f05e Clean up appInitStruct().
ib
parents: 32928
diff changeset
110
33555
c5a19bbeac2b Cosmetic: Rename some GUI variables and functions.
ib
parents: 33270
diff changeset
111 appClearItem(&guiApp.sub);
32929
6ea9e024f05e Clean up appInitStruct().
ib
parents: 32928
diff changeset
112
33555
c5a19bbeac2b Cosmetic: Rename some GUI variables and functions.
ib
parents: 33270
diff changeset
113 appClearItem(&guiApp.playbar);
c5a19bbeac2b Cosmetic: Rename some GUI variables and functions.
ib
parents: 33270
diff changeset
114 guiApp.playbarIsPresent = 0;
32929
6ea9e024f05e Clean up appInitStruct().
ib
parents: 32928
diff changeset
115
33555
c5a19bbeac2b Cosmetic: Rename some GUI variables and functions.
ib
parents: 33270
diff changeset
116 appClearItem(&guiApp.menu);
c5a19bbeac2b Cosmetic: Rename some GUI variables and functions.
ib
parents: 33270
diff changeset
117 appClearItem(&guiApp.menuSelected);
c5a19bbeac2b Cosmetic: Rename some GUI variables and functions.
ib
parents: 33270
diff changeset
118 guiApp.menuIsPresent = 0;
32929
6ea9e024f05e Clean up appInitStruct().
ib
parents: 32928
diff changeset
119
33555
c5a19bbeac2b Cosmetic: Rename some GUI variables and functions.
ib
parents: 33270
diff changeset
120 for (i = 0; i <= guiApp.IndexOfMainItems; i++)
c5a19bbeac2b Cosmetic: Rename some GUI variables and functions.
ib
parents: 33270
diff changeset
121 appClearItem(&guiApp.mainItems[i]);
c5a19bbeac2b Cosmetic: Rename some GUI variables and functions.
ib
parents: 33270
diff changeset
122 for (i = 0; i <= guiApp.IndexOfPlaybarItems; i++)
c5a19bbeac2b Cosmetic: Rename some GUI variables and functions.
ib
parents: 33270
diff changeset
123 appClearItem(&guiApp.playbarItems[i]);
c5a19bbeac2b Cosmetic: Rename some GUI variables and functions.
ib
parents: 33270
diff changeset
124 for (i = 0; i <= guiApp.IndexOfMenuItems; i++)
c5a19bbeac2b Cosmetic: Rename some GUI variables and functions.
ib
parents: 33270
diff changeset
125 appClearItem(&guiApp.menuItems[i]);
32897
14af78beac02 Cosmetic: Format to MPlayer coding style.
ib
parents: 32847
diff changeset
126
33555
c5a19bbeac2b Cosmetic: Rename some GUI variables and functions.
ib
parents: 33270
diff changeset
127 guiApp.IndexOfMainItems = -1;
c5a19bbeac2b Cosmetic: Rename some GUI variables and functions.
ib
parents: 33270
diff changeset
128 guiApp.IndexOfPlaybarItems = -1;
c5a19bbeac2b Cosmetic: Rename some GUI variables and functions.
ib
parents: 33270
diff changeset
129 guiApp.IndexOfMenuItems = -1;
33266
de4f5f183ddb Initialize appMPlayer differently.
ib
parents: 33218
diff changeset
130
32933
258baf2bfeca Move fntFreeFont() into appFreeStruct().
ib
parents: 32932
diff changeset
131 fntFreeFont();
23077
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
132 }
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
133
33979
1c4a2554d46b Add doxygen comments to app.c.
ib
parents: 33753
diff changeset
134 /**
1c4a2554d46b Add doxygen comments to app.c.
ib
parents: 33753
diff changeset
135 * @brief Find the event belonging to an event name.
1c4a2554d46b Add doxygen comments to app.c.
ib
parents: 33753
diff changeset
136 *
34328
6cfca461669c Change parameter name and its declaration to const.
ib
parents: 34327
diff changeset
137 * @param name event name
33979
1c4a2554d46b Add doxygen comments to app.c.
ib
parents: 33753
diff changeset
138 *
1c4a2554d46b Add doxygen comments to app.c.
ib
parents: 33753
diff changeset
139 * @return event >= 0 (ok) or -1 (not found)
1c4a2554d46b Add doxygen comments to app.c.
ib
parents: 33753
diff changeset
140 */
34328
6cfca461669c Change parameter name and its declaration to const.
ib
parents: 34327
diff changeset
141 int appFindMessage(const char *name)
23077
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
142 {
32944
27a98940e3aa Use FF_ARRAY_ELEMS() rather than a separate constant.
ib
parents: 32937
diff changeset
143 unsigned int i;
32897
14af78beac02 Cosmetic: Format to MPlayer coding style.
ib
parents: 32847
diff changeset
144
32944
27a98940e3aa Use FF_ARRAY_ELEMS() rather than a separate constant.
ib
parents: 32937
diff changeset
145 for (i = 0; i < FF_ARRAY_ELEMS(evNames); i++)
34328
6cfca461669c Change parameter name and its declaration to const.
ib
parents: 34327
diff changeset
146 if (!strcmp(evNames[i].name, name))
32911
e06fbdd8eb46 Clean up the wItem structure.
ib
parents: 32900
diff changeset
147 return evNames[i].message;
32897
14af78beac02 Cosmetic: Format to MPlayer coding style.
ib
parents: 32847
diff changeset
148
14af78beac02 Cosmetic: Format to MPlayer coding style.
ib
parents: 32847
diff changeset
149 return -1;
23077
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
150 }
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
151
33979
1c4a2554d46b Add doxygen comments to app.c.
ib
parents: 33753
diff changeset
152 /**
34339
f05c75392897 Enable gui slave commands.
ib
parents: 34328
diff changeset
153 * @brief Find the item belonging to an event.
f05c75392897 Enable gui slave commands.
ib
parents: 34328
diff changeset
154 *
f05c75392897 Enable gui slave commands.
ib
parents: 34328
diff changeset
155 * @param event event
f05c75392897 Enable gui slave commands.
ib
parents: 34328
diff changeset
156 *
f05c75392897 Enable gui slave commands.
ib
parents: 34328
diff changeset
157 * @return pointer to the item (ok) or NULL (not found)
f05c75392897 Enable gui slave commands.
ib
parents: 34328
diff changeset
158 */
f05c75392897 Enable gui slave commands.
ib
parents: 34328
diff changeset
159 wItem *appFindItem(int event)
f05c75392897 Enable gui slave commands.
ib
parents: 34328
diff changeset
160 {
f05c75392897 Enable gui slave commands.
ib
parents: 34328
diff changeset
161 wItem *item;
f05c75392897 Enable gui slave commands.
ib
parents: 34328
diff changeset
162 int i, n;
f05c75392897 Enable gui slave commands.
ib
parents: 34328
diff changeset
163
f05c75392897 Enable gui slave commands.
ib
parents: 34328
diff changeset
164 if (guiApp.subWindow.isFullScreen && guiApp.playbarIsPresent) {
f05c75392897 Enable gui slave commands.
ib
parents: 34328
diff changeset
165 item = guiApp.playbarItems;
f05c75392897 Enable gui slave commands.
ib
parents: 34328
diff changeset
166 n = guiApp.IndexOfPlaybarItems;
f05c75392897 Enable gui slave commands.
ib
parents: 34328
diff changeset
167 } else {
f05c75392897 Enable gui slave commands.
ib
parents: 34328
diff changeset
168 item = guiApp.mainItems;
f05c75392897 Enable gui slave commands.
ib
parents: 34328
diff changeset
169 n = guiApp.IndexOfMainItems;
f05c75392897 Enable gui slave commands.
ib
parents: 34328
diff changeset
170 }
f05c75392897 Enable gui slave commands.
ib
parents: 34328
diff changeset
171
f05c75392897 Enable gui slave commands.
ib
parents: 34328
diff changeset
172 for (i = 0; i <= n; i++)
f05c75392897 Enable gui slave commands.
ib
parents: 34328
diff changeset
173 if (item[i].message == event)
34353
deb52aa6ad88 Return right pointer.
ib
parents: 34339
diff changeset
174 return &item[i];
34339
f05c75392897 Enable gui slave commands.
ib
parents: 34328
diff changeset
175
f05c75392897 Enable gui slave commands.
ib
parents: 34328
diff changeset
176 return NULL;
f05c75392897 Enable gui slave commands.
ib
parents: 34328
diff changeset
177 }
f05c75392897 Enable gui slave commands.
ib
parents: 34328
diff changeset
178
f05c75392897 Enable gui slave commands.
ib
parents: 34328
diff changeset
179 /**
33979
1c4a2554d46b Add doxygen comments to app.c.
ib
parents: 33753
diff changeset
180 * @brief Modify the state (i.e. set a new value) to the item belonging to an event.
1c4a2554d46b Add doxygen comments to app.c.
ib
parents: 33753
diff changeset
181 *
1c4a2554d46b Add doxygen comments to app.c.
ib
parents: 33753
diff changeset
182 * @param event event
1c4a2554d46b Add doxygen comments to app.c.
ib
parents: 33753
diff changeset
183 * @param state new value
1c4a2554d46b Add doxygen comments to app.c.
ib
parents: 33753
diff changeset
184 */
32897
14af78beac02 Cosmetic: Format to MPlayer coding style.
ib
parents: 32847
diff changeset
185 void btnModify(int event, float state)
23077
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
186 {
32897
14af78beac02 Cosmetic: Format to MPlayer coding style.
ib
parents: 32847
diff changeset
187 int i;
14af78beac02 Cosmetic: Format to MPlayer coding style.
ib
parents: 32847
diff changeset
188
33555
c5a19bbeac2b Cosmetic: Rename some GUI variables and functions.
ib
parents: 33270
diff changeset
189 for (i = 0; i <= guiApp.IndexOfMainItems; i++) {
c5a19bbeac2b Cosmetic: Rename some GUI variables and functions.
ib
parents: 33270
diff changeset
190 if (guiApp.mainItems[i].message == event) {
c5a19bbeac2b Cosmetic: Rename some GUI variables and functions.
ib
parents: 33270
diff changeset
191 switch (guiApp.mainItems[i].type) {
32897
14af78beac02 Cosmetic: Format to MPlayer coding style.
ib
parents: 32847
diff changeset
192 case itButton:
33555
c5a19bbeac2b Cosmetic: Rename some GUI variables and functions.
ib
parents: 33270
diff changeset
193 guiApp.mainItems[i].pressed = (int)state;
32897
14af78beac02 Cosmetic: Format to MPlayer coding style.
ib
parents: 32847
diff changeset
194 break;
23077
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
195
32897
14af78beac02 Cosmetic: Format to MPlayer coding style.
ib
parents: 32847
diff changeset
196 case itPotmeter:
14af78beac02 Cosmetic: Format to MPlayer coding style.
ib
parents: 32847
diff changeset
197 case itVPotmeter:
14af78beac02 Cosmetic: Format to MPlayer coding style.
ib
parents: 32847
diff changeset
198 case itHPotmeter:
32960
06d7501e046f Make constants explicitly type float.
ib
parents: 32947
diff changeset
199 if (state < 0.0f)
06d7501e046f Make constants explicitly type float.
ib
parents: 32947
diff changeset
200 state = 0.0f;
06d7501e046f Make constants explicitly type float.
ib
parents: 32947
diff changeset
201 if (state > 100.0f)
06d7501e046f Make constants explicitly type float.
ib
parents: 32947
diff changeset
202 state = 100.0f;
33555
c5a19bbeac2b Cosmetic: Rename some GUI variables and functions.
ib
parents: 33270
diff changeset
203 guiApp.mainItems[i].value = state;
32897
14af78beac02 Cosmetic: Format to MPlayer coding style.
ib
parents: 32847
diff changeset
204 break;
14af78beac02 Cosmetic: Format to MPlayer coding style.
ib
parents: 32847
diff changeset
205 }
14af78beac02 Cosmetic: Format to MPlayer coding style.
ib
parents: 32847
diff changeset
206 }
14af78beac02 Cosmetic: Format to MPlayer coding style.
ib
parents: 32847
diff changeset
207 }
14af78beac02 Cosmetic: Format to MPlayer coding style.
ib
parents: 32847
diff changeset
208
33555
c5a19bbeac2b Cosmetic: Rename some GUI variables and functions.
ib
parents: 33270
diff changeset
209 for (i = 0; i <= guiApp.IndexOfPlaybarItems; i++) {
c5a19bbeac2b Cosmetic: Rename some GUI variables and functions.
ib
parents: 33270
diff changeset
210 if (guiApp.playbarItems[i].message == event) {
c5a19bbeac2b Cosmetic: Rename some GUI variables and functions.
ib
parents: 33270
diff changeset
211 switch (guiApp.playbarItems[i].type) {
32897
14af78beac02 Cosmetic: Format to MPlayer coding style.
ib
parents: 32847
diff changeset
212 case itButton:
33555
c5a19bbeac2b Cosmetic: Rename some GUI variables and functions.
ib
parents: 33270
diff changeset
213 guiApp.playbarItems[i].pressed = (int)state;
32897
14af78beac02 Cosmetic: Format to MPlayer coding style.
ib
parents: 32847
diff changeset
214 break;
14af78beac02 Cosmetic: Format to MPlayer coding style.
ib
parents: 32847
diff changeset
215
14af78beac02 Cosmetic: Format to MPlayer coding style.
ib
parents: 32847
diff changeset
216 case itPotmeter:
14af78beac02 Cosmetic: Format to MPlayer coding style.
ib
parents: 32847
diff changeset
217 case itVPotmeter:
14af78beac02 Cosmetic: Format to MPlayer coding style.
ib
parents: 32847
diff changeset
218 case itHPotmeter:
32960
06d7501e046f Make constants explicitly type float.
ib
parents: 32947
diff changeset
219 if (state < 0.0f)
06d7501e046f Make constants explicitly type float.
ib
parents: 32947
diff changeset
220 state = 0.0f;
06d7501e046f Make constants explicitly type float.
ib
parents: 32947
diff changeset
221 if (state > 100.0f)
06d7501e046f Make constants explicitly type float.
ib
parents: 32947
diff changeset
222 state = 100.0f;
33555
c5a19bbeac2b Cosmetic: Rename some GUI variables and functions.
ib
parents: 33270
diff changeset
223 guiApp.playbarItems[i].value = state;
32897
14af78beac02 Cosmetic: Format to MPlayer coding style.
ib
parents: 32847
diff changeset
224 break;
14af78beac02 Cosmetic: Format to MPlayer coding style.
ib
parents: 32847
diff changeset
225 }
14af78beac02 Cosmetic: Format to MPlayer coding style.
ib
parents: 32847
diff changeset
226 }
14af78beac02 Cosmetic: Format to MPlayer coding style.
ib
parents: 32847
diff changeset
227 }
23077
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
228 }
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
229
33979
1c4a2554d46b Add doxygen comments to app.c.
ib
parents: 33753
diff changeset
230 /**
1c4a2554d46b Add doxygen comments to app.c.
ib
parents: 33753
diff changeset
231 * @brief Set the @a pressed state (i.e. a new value) to the item belonging to an event.
1c4a2554d46b Add doxygen comments to app.c.
ib
parents: 33753
diff changeset
232 *
1c4a2554d46b Add doxygen comments to app.c.
ib
parents: 33753
diff changeset
233 * @param event event
1c4a2554d46b Add doxygen comments to app.c.
ib
parents: 33753
diff changeset
234 * @param set new value
1c4a2554d46b Add doxygen comments to app.c.
ib
parents: 33753
diff changeset
235 */
32897
14af78beac02 Cosmetic: Format to MPlayer coding style.
ib
parents: 32847
diff changeset
236 void btnSet(int event, int set)
23077
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
237 {
32897
14af78beac02 Cosmetic: Format to MPlayer coding style.
ib
parents: 32847
diff changeset
238 int i;
14af78beac02 Cosmetic: Format to MPlayer coding style.
ib
parents: 32847
diff changeset
239
33555
c5a19bbeac2b Cosmetic: Rename some GUI variables and functions.
ib
parents: 33270
diff changeset
240 for (i = 0; i <= guiApp.IndexOfMainItems; i++)
c5a19bbeac2b Cosmetic: Rename some GUI variables and functions.
ib
parents: 33270
diff changeset
241 if (guiApp.mainItems[i].message == event)
c5a19bbeac2b Cosmetic: Rename some GUI variables and functions.
ib
parents: 33270
diff changeset
242 guiApp.mainItems[i].pressed = set;
32897
14af78beac02 Cosmetic: Format to MPlayer coding style.
ib
parents: 32847
diff changeset
243
33555
c5a19bbeac2b Cosmetic: Rename some GUI variables and functions.
ib
parents: 33270
diff changeset
244 for (i = 0; i <= guiApp.IndexOfPlaybarItems; i++)
c5a19bbeac2b Cosmetic: Rename some GUI variables and functions.
ib
parents: 33270
diff changeset
245 if (guiApp.playbarItems[i].message == event)
c5a19bbeac2b Cosmetic: Rename some GUI variables and functions.
ib
parents: 33270
diff changeset
246 guiApp.playbarItems[i].pressed = set;
23077
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
247 }