annotate gui/skin/skin.c @ 36891:c5ee0fc2ec75

Print an information on deprecated skin config file entries. There are several skin config file entries which oughtn't be used any more, although they are still being supported. Inform the user about these without being too annoying.
author ib
date Mon, 10 Mar 2014 17:15:24 +0000
parents 27b48ba4fe15
children f50427ad9ff6
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
26458
b0a7b35b78d2 Add standard GPL header to individual files.
diego
parents: 26382
diff changeset
1 /*
b0a7b35b78d2 Add standard GPL header to individual files.
diego
parents: 26382
diff changeset
2 * This file is part of MPlayer.
b0a7b35b78d2 Add standard GPL header to individual files.
diego
parents: 26382
diff changeset
3 *
b0a7b35b78d2 Add standard GPL header to individual files.
diego
parents: 26382
diff changeset
4 * MPlayer is free software; you can redistribute it and/or modify
b0a7b35b78d2 Add standard GPL header to individual files.
diego
parents: 26382
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: 26382
diff changeset
6 * the Free Software Foundation; either version 2 of the License, or
b0a7b35b78d2 Add standard GPL header to individual files.
diego
parents: 26382
diff changeset
7 * (at your option) any later version.
b0a7b35b78d2 Add standard GPL header to individual files.
diego
parents: 26382
diff changeset
8 *
b0a7b35b78d2 Add standard GPL header to individual files.
diego
parents: 26382
diff changeset
9 * MPlayer is distributed in the hope that it will be useful,
b0a7b35b78d2 Add standard GPL header to individual files.
diego
parents: 26382
diff changeset
10 * but WITHOUT ANY WARRANTY; without even the implied warranty of
b0a7b35b78d2 Add standard GPL header to individual files.
diego
parents: 26382
diff changeset
11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
b0a7b35b78d2 Add standard GPL header to individual files.
diego
parents: 26382
diff changeset
12 * GNU General Public License for more details.
b0a7b35b78d2 Add standard GPL header to individual files.
diego
parents: 26382
diff changeset
13 *
b0a7b35b78d2 Add standard GPL header to individual files.
diego
parents: 26382
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: 26382
diff changeset
15 * with MPlayer; if not, write to the Free Software Foundation, Inc.,
b0a7b35b78d2 Add standard GPL header to individual files.
diego
parents: 26382
diff changeset
16 * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
b0a7b35b78d2 Add standard GPL header to individual files.
diego
parents: 26382
diff changeset
17 */
23077
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
18
33968
253620911a2e Add doxygen comments to skin.c.
ib
parents: 33749
diff changeset
19 /**
253620911a2e Add doxygen comments to skin.c.
ib
parents: 33749
diff changeset
20 * @file
253620911a2e Add doxygen comments to skin.c.
ib
parents: 33749
diff changeset
21 * @brief Skin parser
253620911a2e Add doxygen comments to skin.c.
ib
parents: 33749
diff changeset
22 */
253620911a2e Add doxygen comments to skin.c.
ib
parents: 33749
diff changeset
23
23077
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
24 #include <stdio.h>
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
25 #include <string.h>
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
26
32873
cf385b1901cb Cosmetic: Format to MPlayer coding style.
ib
parents: 32856
diff changeset
27 #include "skin.h"
23077
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
28 #include "font.h"
36032
c667e34fb941 Cosmetic: Rearrange #includes.
ib
parents: 35786
diff changeset
29 #include "gui/interface.h"
35525
e27855a45128 Rebuild GUI directory structure.
ib
parents: 35493
diff changeset
30 #include "gui/app/app.h"
e27855a45128 Rebuild GUI directory structure.
ib
parents: 35493
diff changeset
31 #include "gui/app/gui.h"
35529
8ad4d2fb46e8 Rebuild GUI directory structure.
ib
parents: 35525
diff changeset
32 #include "gui/dialog/dialog.h"
33046
9684ad0e1291 Move files with auxiliary functions to own directory.
ib
parents: 33023
diff changeset
33 #include "gui/util/cut.h"
33048
c6d0adf896ea Move auxiliary string functions into separate file.
ib
parents: 33046
diff changeset
34 #include "gui/util/string.h"
23077
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
35
26382
b2f4abcf20ed Make include paths consistent; do not use ../ in them.
diego
parents: 26365
diff changeset
36 #include "help_mp.h"
36032
c667e34fb941 Cosmetic: Rearrange #includes.
ib
parents: 35786
diff changeset
37 #include "mp_msg.h"
23703
9fb716ab06a3 Avoid code duplication and ugly config.h hack by using av_strlcat/av_strlcpy
reimar
parents: 23077
diff changeset
38 #include "libavutil/avstring.h"
32944
27a98940e3aa Use FF_ARRAY_ELEMS() rather than a separate constant.
ib
parents: 32937
diff changeset
39 #include "libavutil/common.h"
23077
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
40
32873
cf385b1901cb Cosmetic: Format to MPlayer coding style.
ib
parents: 32856
diff changeset
41 typedef struct {
cf385b1901cb Cosmetic: Format to MPlayer coding style.
ib
parents: 32856
diff changeset
42 const char *name;
cf385b1901cb Cosmetic: Format to MPlayer coding style.
ib
parents: 32856
diff changeset
43 int (*func)(char *in);
cf385b1901cb Cosmetic: Format to MPlayer coding style.
ib
parents: 32856
diff changeset
44 } _item;
23077
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
45
33749
d8f49edf8f25 Remove skin related variables from interface.[ch].
ib
parents: 33556
diff changeset
46 char *skinDirInHome;
36043
40c13df3d953 Cosmetic: Rename variables (consistently).
ib
parents: 36032
diff changeset
47 char *skinDirInData;
33749
d8f49edf8f25 Remove skin related variables from interface.[ch].
ib
parents: 33556
diff changeset
48
32937
3c57056637cc Cosmetic: Rename listItems structure.
ib
parents: 32933
diff changeset
49 static guiItems *skin;
23077
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
50
32873
cf385b1901cb Cosmetic: Format to MPlayer coding style.
ib
parents: 32856
diff changeset
51 static int linenumber;
cf385b1901cb Cosmetic: Format to MPlayer coding style.
ib
parents: 32856
diff changeset
52 static unsigned char path[512];
23077
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
53
32980
2bfd000bb789 Cosmetic: Rename pointers handling current window and items.
ib
parents: 32979
diff changeset
54 static unsigned char currWinName[32];
35688
6fd886ce32b9 Cosmetic: Rename wItem guiItem.
ib
parents: 35662
diff changeset
55 static guiItem *currWin;
32980
2bfd000bb789 Cosmetic: Rename pointers handling current window and items.
ib
parents: 32979
diff changeset
56 static int *currWinItemIdx;
35688
6fd886ce32b9 Cosmetic: Rename wItem guiItem.
ib
parents: 35662
diff changeset
57 static guiItem *currWinItems;
23077
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
58
33968
253620911a2e Add doxygen comments to skin.c.
ib
parents: 33749
diff changeset
59 /**
36891
c5ee0fc2ec75 Print an information on deprecated skin config file entries.
ib
parents: 36876
diff changeset
60 * @brief Print a legacy information on an entry.
c5ee0fc2ec75 Print an information on deprecated skin config file entries.
ib
parents: 36876
diff changeset
61 *
c5ee0fc2ec75 Print an information on deprecated skin config file entries.
ib
parents: 36876
diff changeset
62 * @param old identifier (and deprecated entry)
c5ee0fc2ec75 Print an information on deprecated skin config file entries.
ib
parents: 36876
diff changeset
63 * @param data pointer to additional data necessary for checking and
c5ee0fc2ec75 Print an information on deprecated skin config file entries.
ib
parents: 36876
diff changeset
64 * to print the information on @a old
c5ee0fc2ec75 Print an information on deprecated skin config file entries.
ib
parents: 36876
diff changeset
65 */
c5ee0fc2ec75 Print an information on deprecated skin config file entries.
ib
parents: 36876
diff changeset
66 static void skin_legacy(const char *old, const char *data)
c5ee0fc2ec75 Print an information on deprecated skin config file entries.
ib
parents: 36876
diff changeset
67 {
c5ee0fc2ec75 Print an information on deprecated skin config file entries.
ib
parents: 36876
diff changeset
68 const char *p;
c5ee0fc2ec75 Print an information on deprecated skin config file entries.
ib
parents: 36876
diff changeset
69
c5ee0fc2ec75 Print an information on deprecated skin config file entries.
ib
parents: 36876
diff changeset
70 if (strcmp(old, "fontid") == 0) {
c5ee0fc2ec75 Print an information on deprecated skin config file entries.
ib
parents: 36876
diff changeset
71 p = strchr(data, ',');
c5ee0fc2ec75 Print an information on deprecated skin config file entries.
ib
parents: 36876
diff changeset
72
c5ee0fc2ec75 Print an information on deprecated skin config file entries.
ib
parents: 36876
diff changeset
73 if (p)
c5ee0fc2ec75 Print an information on deprecated skin config file entries.
ib
parents: 36876
diff changeset
74 mp_msg(MSGT_GPLAYER, MSGL_INFO, MSGTR_GUI_MSG_SkinLegacy, linenumber, p, "font = fontfile");
c5ee0fc2ec75 Print an information on deprecated skin config file entries.
ib
parents: 36876
diff changeset
75 } else if (strcmp(old, "$l") == 0) {
c5ee0fc2ec75 Print an information on deprecated skin config file entries.
ib
parents: 36876
diff changeset
76 p = strstr(old, data);
c5ee0fc2ec75 Print an information on deprecated skin config file entries.
ib
parents: 36876
diff changeset
77
c5ee0fc2ec75 Print an information on deprecated skin config file entries.
ib
parents: 36876
diff changeset
78 if (p && (p == data || p[-1] != '$'))
c5ee0fc2ec75 Print an information on deprecated skin config file entries.
ib
parents: 36876
diff changeset
79 mp_msg(MSGT_GPLAYER, MSGL_INFO, MSGTR_GUI_MSG_SkinLegacy, linenumber, old, "$p");
c5ee0fc2ec75 Print an information on deprecated skin config file entries.
ib
parents: 36876
diff changeset
80 } else if (strcmp(old, "evSetURL") == 0 && strcmp(data, old) == 0)
c5ee0fc2ec75 Print an information on deprecated skin config file entries.
ib
parents: 36876
diff changeset
81 mp_msg(MSGT_GPLAYER, MSGL_INFO, MSGTR_GUI_MSG_SkinLegacy, linenumber, old, "evLoadURL");
c5ee0fc2ec75 Print an information on deprecated skin config file entries.
ib
parents: 36876
diff changeset
82 else if (strcmp(old, "sub") == 0)
c5ee0fc2ec75 Print an information on deprecated skin config file entries.
ib
parents: 36876
diff changeset
83 mp_msg(MSGT_GPLAYER, MSGL_INFO, MSGTR_GUI_MSG_SkinLegacy, linenumber, old, data);
c5ee0fc2ec75 Print an information on deprecated skin config file entries.
ib
parents: 36876
diff changeset
84 }
c5ee0fc2ec75 Print an information on deprecated skin config file entries.
ib
parents: 36876
diff changeset
85
c5ee0fc2ec75 Print an information on deprecated skin config file entries.
ib
parents: 36876
diff changeset
86 /**
33968
253620911a2e Add doxygen comments to skin.c.
ib
parents: 33749
diff changeset
87 * @brief Display a skin error message.
253620911a2e Add doxygen comments to skin.c.
ib
parents: 33749
diff changeset
88 *
253620911a2e Add doxygen comments to skin.c.
ib
parents: 33749
diff changeset
89 * @param format format string
253620911a2e Add doxygen comments to skin.c.
ib
parents: 33749
diff changeset
90 * @param ... arguments
253620911a2e Add doxygen comments to skin.c.
ib
parents: 33749
diff changeset
91 */
33022
9abc0dbd6314 Cosmetic: Rename ERRORMESSAGE() skin_error().
ib
parents: 32980
diff changeset
92 static void skin_error(const char *format, ...)
23077
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
93 {
32873
cf385b1901cb Cosmetic: Format to MPlayer coding style.
ib
parents: 32856
diff changeset
94 char p[512];
cf385b1901cb Cosmetic: Format to MPlayer coding style.
ib
parents: 32856
diff changeset
95 va_list ap;
cf385b1901cb Cosmetic: Format to MPlayer coding style.
ib
parents: 32856
diff changeset
96
cf385b1901cb Cosmetic: Format to MPlayer coding style.
ib
parents: 32856
diff changeset
97 va_start(ap, format);
cf385b1901cb Cosmetic: Format to MPlayer coding style.
ib
parents: 32856
diff changeset
98 vsnprintf(p, sizeof(p), format, ap);
cf385b1901cb Cosmetic: Format to MPlayer coding style.
ib
parents: 32856
diff changeset
99 va_end(ap);
cf385b1901cb Cosmetic: Format to MPlayer coding style.
ib
parents: 32856
diff changeset
100
36694
eed2fb870f43 Rename symbolic constants of GUI help message texts.
ib
parents: 36043
diff changeset
101 gmp_msg(MSGT_GPLAYER, MSGL_ERR, MSGTR_GUI_MSG_SkinErrorMessage, linenumber, p);
23077
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
102 }
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
103
33968
253620911a2e Add doxygen comments to skin.c.
ib
parents: 33749
diff changeset
104 /**
253620911a2e Add doxygen comments to skin.c.
ib
parents: 33749
diff changeset
105 * @brief Check whether a @a section definition has started.
253620911a2e Add doxygen comments to skin.c.
ib
parents: 33749
diff changeset
106 *
253620911a2e Add doxygen comments to skin.c.
ib
parents: 33749
diff changeset
107 * @param item name of the item to be put in a message in case of an error
253620911a2e Add doxygen comments to skin.c.
ib
parents: 33749
diff changeset
108 *
35493
411875efca3f Introduce boolean symbolic constants.
ib
parents: 35450
diff changeset
109 * @return #True (ok) or #False (error)
33968
253620911a2e Add doxygen comments to skin.c.
ib
parents: 33749
diff changeset
110 */
33106
e9e5ee3a1a82 Cosmetic: Rename cmd functions item.
ib
parents: 33105
diff changeset
111 static int section_item(char *item)
33054
ed66afc0b06c Replace macros to check whether a command is allowed by functions.
ib
parents: 33053
diff changeset
112 {
ed66afc0b06c Replace macros to check whether a command is allowed by functions.
ib
parents: 33053
diff changeset
113 if (!skin) {
36694
eed2fb870f43 Rename symbolic constants of GUI help message texts.
ib
parents: 36043
diff changeset
114 skin_error(MSGTR_GUI_MSG_SkinErrorSection, item);
35493
411875efca3f Introduce boolean symbolic constants.
ib
parents: 35450
diff changeset
115 return False;
32873
cf385b1901cb Cosmetic: Format to MPlayer coding style.
ib
parents: 32856
diff changeset
116 }
cf385b1901cb Cosmetic: Format to MPlayer coding style.
ib
parents: 32856
diff changeset
117
35493
411875efca3f Introduce boolean symbolic constants.
ib
parents: 35450
diff changeset
118 return True;
33054
ed66afc0b06c Replace macros to check whether a command is allowed by functions.
ib
parents: 33053
diff changeset
119 }
ed66afc0b06c Replace macros to check whether a command is allowed by functions.
ib
parents: 33053
diff changeset
120
33968
253620911a2e Add doxygen comments to skin.c.
ib
parents: 33749
diff changeset
121 /**
253620911a2e Add doxygen comments to skin.c.
ib
parents: 33749
diff changeset
122 * @brief Check whether a @a window definition has started.
253620911a2e Add doxygen comments to skin.c.
ib
parents: 33749
diff changeset
123 *
253620911a2e Add doxygen comments to skin.c.
ib
parents: 33749
diff changeset
124 * @param item name of the item to be put in a message in case of an error
253620911a2e Add doxygen comments to skin.c.
ib
parents: 33749
diff changeset
125 *
35493
411875efca3f Introduce boolean symbolic constants.
ib
parents: 35450
diff changeset
126 * @return #True (ok) or #False (error)
33968
253620911a2e Add doxygen comments to skin.c.
ib
parents: 33749
diff changeset
127 */
33106
e9e5ee3a1a82 Cosmetic: Rename cmd functions item.
ib
parents: 33105
diff changeset
128 static int window_item(char *item)
33054
ed66afc0b06c Replace macros to check whether a command is allowed by functions.
ib
parents: 33053
diff changeset
129 {
ed66afc0b06c Replace macros to check whether a command is allowed by functions.
ib
parents: 33053
diff changeset
130 if (!currWinName[0]) {
36694
eed2fb870f43 Rename symbolic constants of GUI help message texts.
ib
parents: 36043
diff changeset
131 skin_error(MSGTR_GUI_MSG_SkinErrorWindow, item);
35493
411875efca3f Introduce boolean symbolic constants.
ib
parents: 35450
diff changeset
132 return False;
32873
cf385b1901cb Cosmetic: Format to MPlayer coding style.
ib
parents: 32856
diff changeset
133 }
23077
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
134
35493
411875efca3f Introduce boolean symbolic constants.
ib
parents: 35450
diff changeset
135 return True;
33054
ed66afc0b06c Replace macros to check whether a command is allowed by functions.
ib
parents: 33053
diff changeset
136 }
ed66afc0b06c Replace macros to check whether a command is allowed by functions.
ib
parents: 33053
diff changeset
137
33968
253620911a2e Add doxygen comments to skin.c.
ib
parents: 33749
diff changeset
138 /**
253620911a2e Add doxygen comments to skin.c.
ib
parents: 33749
diff changeset
139 * @brief Check whether a specific @a window definition has started.
253620911a2e Add doxygen comments to skin.c.
ib
parents: 33749
diff changeset
140 *
253620911a2e Add doxygen comments to skin.c.
ib
parents: 33749
diff changeset
141 * @param name name of the window to be checked
253620911a2e Add doxygen comments to skin.c.
ib
parents: 33749
diff changeset
142 *
253620911a2e Add doxygen comments to skin.c.
ib
parents: 33749
diff changeset
143 * @return 0 (ok) or 1 (error)
253620911a2e Add doxygen comments to skin.c.
ib
parents: 33749
diff changeset
144 */
33058
b8374f9dc87b Replace macro by function.
ib
parents: 33057
diff changeset
145 static int in_window(char *name)
b8374f9dc87b Replace macro by function.
ib
parents: 33057
diff changeset
146 {
b8374f9dc87b Replace macro by function.
ib
parents: 33057
diff changeset
147 if (strcmp(currWinName, name) == 0) {
36694
eed2fb870f43 Rename symbolic constants of GUI help message texts.
ib
parents: 36043
diff changeset
148 skin_error(MSGTR_GUI_MSG_SkinErrorItem, name);
33058
b8374f9dc87b Replace macro by function.
ib
parents: 33057
diff changeset
149 return 1;
32873
cf385b1901cb Cosmetic: Format to MPlayer coding style.
ib
parents: 32856
diff changeset
150 }
cf385b1901cb Cosmetic: Format to MPlayer coding style.
ib
parents: 32856
diff changeset
151
33058
b8374f9dc87b Replace macro by function.
ib
parents: 33057
diff changeset
152 return 0;
b8374f9dc87b Replace macro by function.
ib
parents: 33057
diff changeset
153 }
b8374f9dc87b Replace macro by function.
ib
parents: 33057
diff changeset
154
33968
253620911a2e Add doxygen comments to skin.c.
ib
parents: 33749
diff changeset
155 /**
253620911a2e Add doxygen comments to skin.c.
ib
parents: 33749
diff changeset
156 * @brief Get next free item in current @a window.
253620911a2e Add doxygen comments to skin.c.
ib
parents: 33749
diff changeset
157 *
253620911a2e Add doxygen comments to skin.c.
ib
parents: 33749
diff changeset
158 * @return pointer to next free item (ok) or NULL (error)
253620911a2e Add doxygen comments to skin.c.
ib
parents: 33749
diff changeset
159 */
35688
6fd886ce32b9 Cosmetic: Rename wItem guiItem.
ib
parents: 35662
diff changeset
160 static guiItem *next_item(void)
33098
b61dff4c9a35 Prevent an out-of-bounds array access.
ib
parents: 33097
diff changeset
161 {
35688
6fd886ce32b9 Cosmetic: Rename wItem guiItem.
ib
parents: 35662
diff changeset
162 guiItem *item = NULL;
33098
b61dff4c9a35 Prevent an out-of-bounds array access.
ib
parents: 33097
diff changeset
163
b61dff4c9a35 Prevent an out-of-bounds array access.
ib
parents: 33097
diff changeset
164 if (*currWinItemIdx < MAX_ITEMS - 1) {
b61dff4c9a35 Prevent an out-of-bounds array access.
ib
parents: 33097
diff changeset
165 (*currWinItemIdx)++;
b61dff4c9a35 Prevent an out-of-bounds array access.
ib
parents: 33097
diff changeset
166 item = &currWinItems[*currWinItemIdx];
b61dff4c9a35 Prevent an out-of-bounds array access.
ib
parents: 33097
diff changeset
167 } else
36694
eed2fb870f43 Rename symbolic constants of GUI help message texts.
ib
parents: 36043
diff changeset
168 skin_error(MSGTR_GUI_MSG_SkinTooManyItems);
33098
b61dff4c9a35 Prevent an out-of-bounds array access.
ib
parents: 33097
diff changeset
169
b61dff4c9a35 Prevent an out-of-bounds array access.
ib
parents: 33097
diff changeset
170 return item;
b61dff4c9a35 Prevent an out-of-bounds array access.
ib
parents: 33097
diff changeset
171 }
b61dff4c9a35 Prevent an out-of-bounds array access.
ib
parents: 33097
diff changeset
172
33968
253620911a2e Add doxygen comments to skin.c.
ib
parents: 33749
diff changeset
173 /**
253620911a2e Add doxygen comments to skin.c.
ib
parents: 33749
diff changeset
174 * @brief Parse a @a section definition.
253620911a2e Add doxygen comments to skin.c.
ib
parents: 33749
diff changeset
175 *
253620911a2e Add doxygen comments to skin.c.
ib
parents: 33749
diff changeset
176 * Syntax: section=movieplayer
253620911a2e Add doxygen comments to skin.c.
ib
parents: 33749
diff changeset
177 *
253620911a2e Add doxygen comments to skin.c.
ib
parents: 33749
diff changeset
178 * @param in definition to be analyzed
253620911a2e Add doxygen comments to skin.c.
ib
parents: 33749
diff changeset
179 *
253620911a2e Add doxygen comments to skin.c.
ib
parents: 33749
diff changeset
180 * @return 0 (ok) or 1 (error)
253620911a2e Add doxygen comments to skin.c.
ib
parents: 33749
diff changeset
181 */
33106
e9e5ee3a1a82 Cosmetic: Rename cmd functions item.
ib
parents: 33105
diff changeset
182 static int item_section(char *in)
23077
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
183 {
33064
33d307c4430c Add error check.
ib
parents: 33063
diff changeset
184 if (skin) {
36694
eed2fb870f43 Rename symbolic constants of GUI help message texts.
ib
parents: 36043
diff changeset
185 skin_error(MSGTR_GUI_MSG_SkinErrorItem, "section");
33064
33d307c4430c Add error check.
ib
parents: 33063
diff changeset
186 return 1;
33d307c4430c Add error check.
ib
parents: 33063
diff changeset
187 }
33d307c4430c Add error check.
ib
parents: 33063
diff changeset
188
33055
2be86f1db767 Make use of return value of strlower().
ib
parents: 33054
diff changeset
189 if (!strcmp(strlower(in), "movieplayer"))
33555
c5a19bbeac2b Cosmetic: Rename some GUI variables and functions.
ib
parents: 33357
diff changeset
190 skin = &guiApp;
33067
2d0058f30a6b Issue error message in case of wrong section name.
ib
parents: 33066
diff changeset
191 else {
36694
eed2fb870f43 Rename symbolic constants of GUI help message texts.
ib
parents: 36043
diff changeset
192 skin_error(MSGTR_GUI_MSG_SkinUnknownName, in);
33067
2d0058f30a6b Issue error message in case of wrong section name.
ib
parents: 33066
diff changeset
193 return 1;
2d0058f30a6b Issue error message in case of wrong section name.
ib
parents: 33066
diff changeset
194 }
32873
cf385b1901cb Cosmetic: Format to MPlayer coding style.
ib
parents: 32856
diff changeset
195
33985
d99f341d8442 Replace all mp_dbg() calls by mp_msg().
ib
parents: 33972
diff changeset
196 mp_msg(MSGT_GPLAYER, MSGL_DBG2, "[skin] section: %s\n", in);
32873
cf385b1901cb Cosmetic: Format to MPlayer coding style.
ib
parents: 32856
diff changeset
197
cf385b1901cb Cosmetic: Format to MPlayer coding style.
ib
parents: 32856
diff changeset
198 return 0;
23077
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
199 }
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
200
33968
253620911a2e Add doxygen comments to skin.c.
ib
parents: 33749
diff changeset
201 /**
253620911a2e Add doxygen comments to skin.c.
ib
parents: 33749
diff changeset
202 * @brief Parse an @a end definition.
253620911a2e Add doxygen comments to skin.c.
ib
parents: 33749
diff changeset
203 *
253620911a2e Add doxygen comments to skin.c.
ib
parents: 33749
diff changeset
204 * Syntax: end
253620911a2e Add doxygen comments to skin.c.
ib
parents: 33749
diff changeset
205 *
253620911a2e Add doxygen comments to skin.c.
ib
parents: 33749
diff changeset
206 * @param in definition to be analyzed
253620911a2e Add doxygen comments to skin.c.
ib
parents: 33749
diff changeset
207 *
253620911a2e Add doxygen comments to skin.c.
ib
parents: 33749
diff changeset
208 * @return 0 (ok) or 1 (error)
253620911a2e Add doxygen comments to skin.c.
ib
parents: 33749
diff changeset
209 */
33106
e9e5ee3a1a82 Cosmetic: Rename cmd functions item.
ib
parents: 33105
diff changeset
210 static int item_end(char *in)
23077
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
211 {
32951
c11e65fcb818 Clean up debug messages.
ib
parents: 32950
diff changeset
212 char *space, *name;
c11e65fcb818 Clean up debug messages.
ib
parents: 32950
diff changeset
213
33985
d99f341d8442 Replace all mp_dbg() calls by mp_msg().
ib
parents: 33972
diff changeset
214 (void)in;
d99f341d8442 Replace all mp_dbg() calls by mp_msg().
ib
parents: 33972
diff changeset
215
32980
2bfd000bb789 Cosmetic: Rename pointers handling current window and items.
ib
parents: 32979
diff changeset
216 if (currWinName[0]) {
32951
c11e65fcb818 Clean up debug messages.
ib
parents: 32950
diff changeset
217 space = " ";
32980
2bfd000bb789 Cosmetic: Rename pointers handling current window and items.
ib
parents: 32979
diff changeset
218 name = currWinName;
32951
c11e65fcb818 Clean up debug messages.
ib
parents: 32950
diff changeset
219 } else {
c11e65fcb818 Clean up debug messages.
ib
parents: 32950
diff changeset
220 space = "";
c11e65fcb818 Clean up debug messages.
ib
parents: 32950
diff changeset
221 name = "section";
c11e65fcb818 Clean up debug messages.
ib
parents: 32950
diff changeset
222 }
c11e65fcb818 Clean up debug messages.
ib
parents: 32950
diff changeset
223
33106
e9e5ee3a1a82 Cosmetic: Rename cmd functions item.
ib
parents: 33105
diff changeset
224 if (!section_item("end"))
33054
ed66afc0b06c Replace macros to check whether a command is allowed by functions.
ib
parents: 33053
diff changeset
225 return 1;
ed66afc0b06c Replace macros to check whether a command is allowed by functions.
ib
parents: 33053
diff changeset
226
33985
d99f341d8442 Replace all mp_dbg() calls by mp_msg().
ib
parents: 33972
diff changeset
227 mp_msg(MSGT_GPLAYER, MSGL_DBG2, "[skin] %send (%s)\n", space, name);
32951
c11e65fcb818 Clean up debug messages.
ib
parents: 32950
diff changeset
228
32980
2bfd000bb789 Cosmetic: Rename pointers handling current window and items.
ib
parents: 32979
diff changeset
229 if (currWinName[0]) {
2bfd000bb789 Cosmetic: Rename pointers handling current window and items.
ib
parents: 32979
diff changeset
230 currWinName[0] = 0;
2bfd000bb789 Cosmetic: Rename pointers handling current window and items.
ib
parents: 32979
diff changeset
231 currWin = NULL;
2bfd000bb789 Cosmetic: Rename pointers handling current window and items.
ib
parents: 32979
diff changeset
232 currWinItemIdx = NULL;
2bfd000bb789 Cosmetic: Rename pointers handling current window and items.
ib
parents: 32979
diff changeset
233 currWinItems = NULL;
32873
cf385b1901cb Cosmetic: Format to MPlayer coding style.
ib
parents: 32856
diff changeset
234 } else
32937
3c57056637cc Cosmetic: Rename listItems structure.
ib
parents: 32933
diff changeset
235 skin = NULL;
32873
cf385b1901cb Cosmetic: Format to MPlayer coding style.
ib
parents: 32856
diff changeset
236
cf385b1901cb Cosmetic: Format to MPlayer coding style.
ib
parents: 32856
diff changeset
237 return 0;
23077
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
238 }
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
239
33968
253620911a2e Add doxygen comments to skin.c.
ib
parents: 33749
diff changeset
240 /**
253620911a2e Add doxygen comments to skin.c.
ib
parents: 33749
diff changeset
241 * @brief Parse a @a window definition.
253620911a2e Add doxygen comments to skin.c.
ib
parents: 33749
diff changeset
242 *
34697
ac6b38cd0d45 Rename sub window video window.
ib
parents: 34578
diff changeset
243 * Syntax: window=main|video|playbar|menu
33968
253620911a2e Add doxygen comments to skin.c.
ib
parents: 33749
diff changeset
244 *
253620911a2e Add doxygen comments to skin.c.
ib
parents: 33749
diff changeset
245 * @param in definition to be analyzed
253620911a2e Add doxygen comments to skin.c.
ib
parents: 33749
diff changeset
246 *
253620911a2e Add doxygen comments to skin.c.
ib
parents: 33749
diff changeset
247 * @return 0 (ok) or 1 (error)
253620911a2e Add doxygen comments to skin.c.
ib
parents: 33749
diff changeset
248 */
33106
e9e5ee3a1a82 Cosmetic: Rename cmd functions item.
ib
parents: 33105
diff changeset
249 static int item_window(char *in)
23077
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
250 {
33106
e9e5ee3a1a82 Cosmetic: Rename cmd functions item.
ib
parents: 33105
diff changeset
251 if (!section_item("window"))
33054
ed66afc0b06c Replace macros to check whether a command is allowed by functions.
ib
parents: 33053
diff changeset
252 return 1;
ed66afc0b06c Replace macros to check whether a command is allowed by functions.
ib
parents: 33053
diff changeset
253
ed66afc0b06c Replace macros to check whether a command is allowed by functions.
ib
parents: 33053
diff changeset
254 if (currWinName[0]) {
36694
eed2fb870f43 Rename symbolic constants of GUI help message texts.
ib
parents: 36043
diff changeset
255 skin_error(MSGTR_GUI_MSG_SkinErrorItem, "window");
33054
ed66afc0b06c Replace macros to check whether a command is allowed by functions.
ib
parents: 33053
diff changeset
256 return 1;
ed66afc0b06c Replace macros to check whether a command is allowed by functions.
ib
parents: 33053
diff changeset
257 }
32873
cf385b1901cb Cosmetic: Format to MPlayer coding style.
ib
parents: 32856
diff changeset
258
33083
8c96263e0f09 Clean up cmd_window().
ib
parents: 33081
diff changeset
259 strlower(in);
23077
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
260
36891
c5ee0fc2ec75 Print an information on deprecated skin config file entries.
ib
parents: 36876
diff changeset
261 // legacy
c5ee0fc2ec75 Print an information on deprecated skin config file entries.
ib
parents: 36876
diff changeset
262 if (strcmp(in, "sub") == 0) {
c5ee0fc2ec75 Print an information on deprecated skin config file entries.
ib
parents: 36876
diff changeset
263 strcpy(in, "video");
c5ee0fc2ec75 Print an information on deprecated skin config file entries.
ib
parents: 36876
diff changeset
264 skin_legacy("sub", in);
c5ee0fc2ec75 Print an information on deprecated skin config file entries.
ib
parents: 36876
diff changeset
265 }
34697
ac6b38cd0d45 Rename sub window video window.
ib
parents: 34578
diff changeset
266
33083
8c96263e0f09 Clean up cmd_window().
ib
parents: 33081
diff changeset
267 if (strcmp(in, "main") == 0) {
33095
772af04413f3 Avoid using appMPlayer.
ib
parents: 33094
diff changeset
268 currWin = &skin->main;
772af04413f3 Avoid using appMPlayer.
ib
parents: 33094
diff changeset
269 currWinItemIdx = &skin->IndexOfMainItems;
772af04413f3 Avoid using appMPlayer.
ib
parents: 33094
diff changeset
270 currWinItems = skin->mainItems;
34697
ac6b38cd0d45 Rename sub window video window.
ib
parents: 34578
diff changeset
271 } else if (strcmp(in, "video") == 0) {
ac6b38cd0d45 Rename sub window video window.
ib
parents: 34578
diff changeset
272 currWin = &skin->video;
33083
8c96263e0f09 Clean up cmd_window().
ib
parents: 33081
diff changeset
273 currWinItemIdx = NULL;
8c96263e0f09 Clean up cmd_window().
ib
parents: 33081
diff changeset
274 currWinItems = NULL;
8c96263e0f09 Clean up cmd_window().
ib
parents: 33081
diff changeset
275 } else if (strcmp(in, "playbar") == 0) {
33555
c5a19bbeac2b Cosmetic: Rename some GUI variables and functions.
ib
parents: 33357
diff changeset
276 currWin = &skin->playbar;
c5a19bbeac2b Cosmetic: Rename some GUI variables and functions.
ib
parents: 33357
diff changeset
277 currWinItemIdx = &skin->IndexOfPlaybarItems;
c5a19bbeac2b Cosmetic: Rename some GUI variables and functions.
ib
parents: 33357
diff changeset
278 currWinItems = skin->playbarItems;
33083
8c96263e0f09 Clean up cmd_window().
ib
parents: 33081
diff changeset
279 } else if (strcmp(in, "menu") == 0) {
33095
772af04413f3 Avoid using appMPlayer.
ib
parents: 33094
diff changeset
280 currWin = &skin->menu;
772af04413f3 Avoid using appMPlayer.
ib
parents: 33094
diff changeset
281 currWinItemIdx = &skin->IndexOfMenuItems;
772af04413f3 Avoid using appMPlayer.
ib
parents: 33094
diff changeset
282 currWinItems = skin->menuItems;
33066
fd4d66a6add6 Don't start GUI in case of window name error.
ib
parents: 33065
diff changeset
283 } else {
36694
eed2fb870f43 Rename symbolic constants of GUI help message texts.
ib
parents: 36043
diff changeset
284 skin_error(MSGTR_GUI_MSG_SkinUnknownName, in);
33066
fd4d66a6add6 Don't start GUI in case of window name error.
ib
parents: 33065
diff changeset
285 return 1;
fd4d66a6add6 Don't start GUI in case of window name error.
ib
parents: 33065
diff changeset
286 }
32873
cf385b1901cb Cosmetic: Format to MPlayer coding style.
ib
parents: 32856
diff changeset
287
33083
8c96263e0f09 Clean up cmd_window().
ib
parents: 33081
diff changeset
288 av_strlcpy(currWinName, in, sizeof(currWinName));
8c96263e0f09 Clean up cmd_window().
ib
parents: 33081
diff changeset
289
33985
d99f341d8442 Replace all mp_dbg() calls by mp_msg().
ib
parents: 33972
diff changeset
290 mp_msg(MSGT_GPLAYER, MSGL_DBG2, "[skin] window: %s\n", currWinName);
32873
cf385b1901cb Cosmetic: Format to MPlayer coding style.
ib
parents: 32856
diff changeset
291
cf385b1901cb Cosmetic: Format to MPlayer coding style.
ib
parents: 32856
diff changeset
292 return 0;
23077
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
293 }
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
294
33968
253620911a2e Add doxygen comments to skin.c.
ib
parents: 33749
diff changeset
295 /**
253620911a2e Add doxygen comments to skin.c.
ib
parents: 33749
diff changeset
296 * @brief Parse a @a base definition.
253620911a2e Add doxygen comments to skin.c.
ib
parents: 33749
diff changeset
297 *
253620911a2e Add doxygen comments to skin.c.
ib
parents: 33749
diff changeset
298 * Syntax: base=image,x,y[,width,height]
253620911a2e Add doxygen comments to skin.c.
ib
parents: 33749
diff changeset
299 *
253620911a2e Add doxygen comments to skin.c.
ib
parents: 33749
diff changeset
300 * @param in definition to be analyzed
253620911a2e Add doxygen comments to skin.c.
ib
parents: 33749
diff changeset
301 *
253620911a2e Add doxygen comments to skin.c.
ib
parents: 33749
diff changeset
302 * @return 0 (ok) or 1 (error)
253620911a2e Add doxygen comments to skin.c.
ib
parents: 33749
diff changeset
303 */
33106
e9e5ee3a1a82 Cosmetic: Rename cmd functions item.
ib
parents: 33105
diff changeset
304 static int item_base(char *in)
23077
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
305 {
33090
db699b367260 Reduce resp. increase arrays to reasonable size.
ib
parents: 33089
diff changeset
306 unsigned char fname[256];
33089
d22b498bb573 Cosmetic: Use more appropriate variable names.
ib
parents: 33088
diff changeset
307 unsigned char file[512];
32873
cf385b1901cb Cosmetic: Format to MPlayer coding style.
ib
parents: 32856
diff changeset
308 int x, y;
33089
d22b498bb573 Cosmetic: Use more appropriate variable names.
ib
parents: 33088
diff changeset
309 int w = 0, h = 0;
34697
ac6b38cd0d45 Rename sub window video window.
ib
parents: 34578
diff changeset
310 int is_video, is_bar, is_menu;
32873
cf385b1901cb Cosmetic: Format to MPlayer coding style.
ib
parents: 32856
diff changeset
311
33106
e9e5ee3a1a82 Cosmetic: Rename cmd functions item.
ib
parents: 33105
diff changeset
312 if (!window_item("base"))
33054
ed66afc0b06c Replace macros to check whether a command is allowed by functions.
ib
parents: 33053
diff changeset
313 return 1;
23077
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
314
34697
ac6b38cd0d45 Rename sub window video window.
ib
parents: 34578
diff changeset
315 is_video = (strcmp(currWinName, "video") == 0);
34698
456784c6c904 Cosmetic: Adjust indent.
ib
parents: 34697
diff changeset
316 is_bar = (strcmp(currWinName, "playbar") == 0);
456784c6c904 Cosmetic: Adjust indent.
ib
parents: 34697
diff changeset
317 is_menu = (strcmp(currWinName, "menu") == 0);
33104
65827197d1af Simplify cmd_base().
ib
parents: 33103
diff changeset
318
32873
cf385b1901cb Cosmetic: Format to MPlayer coding style.
ib
parents: 32856
diff changeset
319 cutItem(in, fname, ',', 0);
33089
d22b498bb573 Cosmetic: Use more appropriate variable names.
ib
parents: 33088
diff changeset
320 x = cutItemToInt(in, ',', 1);
d22b498bb573 Cosmetic: Use more appropriate variable names.
ib
parents: 33088
diff changeset
321 y = cutItemToInt(in, ',', 2);
d22b498bb573 Cosmetic: Use more appropriate variable names.
ib
parents: 33088
diff changeset
322 w = cutItemToInt(in, ',', 3);
d22b498bb573 Cosmetic: Use more appropriate variable names.
ib
parents: 33088
diff changeset
323 h = cutItemToInt(in, ',', 4);
32873
cf385b1901cb Cosmetic: Format to MPlayer coding style.
ib
parents: 32856
diff changeset
324
33985
d99f341d8442 Replace all mp_dbg() calls by mp_msg().
ib
parents: 33972
diff changeset
325 mp_msg(MSGT_GPLAYER, MSGL_DBG2, "[skin] image: %s", fname);
23077
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
326
33105
1cd1adf9ee6c Cosmetic: Adjust indent after simplifying cmd_base().
ib
parents: 33104
diff changeset
327 currWin->type = itBase;
33104
65827197d1af Simplify cmd_base().
ib
parents: 33103
diff changeset
328
33105
1cd1adf9ee6c Cosmetic: Adjust indent after simplifying cmd_base().
ib
parents: 33104
diff changeset
329 if (!is_menu) {
1cd1adf9ee6c Cosmetic: Adjust indent after simplifying cmd_base().
ib
parents: 33104
diff changeset
330 currWin->x = x;
1cd1adf9ee6c Cosmetic: Adjust indent after simplifying cmd_base().
ib
parents: 33104
diff changeset
331 currWin->y = y;
32873
cf385b1901cb Cosmetic: Format to MPlayer coding style.
ib
parents: 32856
diff changeset
332
33985
d99f341d8442 Replace all mp_dbg() calls by mp_msg().
ib
parents: 33972
diff changeset
333 mp_msg(MSGT_GPLAYER, MSGL_DBG2, " %d,%d", x, y);
33105
1cd1adf9ee6c Cosmetic: Adjust indent after simplifying cmd_base().
ib
parents: 33104
diff changeset
334 }
32951
c11e65fcb818 Clean up debug messages.
ib
parents: 32950
diff changeset
335
33985
d99f341d8442 Replace all mp_dbg() calls by mp_msg().
ib
parents: 33972
diff changeset
336 mp_msg(MSGT_GPLAYER, MSGL_DBG2, "\n");
32873
cf385b1901cb Cosmetic: Format to MPlayer coding style.
ib
parents: 32856
diff changeset
337
35785
24b744af09a7 Allow video window without image displayed in it.
ib
parents: 35784
diff changeset
338 if (is_video && (strcmp(fname, "NULL") == 0)) {
24b744af09a7 Allow video window without image displayed in it.
ib
parents: 35784
diff changeset
339 currWin->width = 0;
24b744af09a7 Allow video window without image displayed in it.
ib
parents: 35784
diff changeset
340 currWin->height = 0;
24b744af09a7 Allow video window without image displayed in it.
ib
parents: 35784
diff changeset
341 } else {
35786
21d852a58d32 Cosmetic: Adjust indent.
ib
parents: 35785
diff changeset
342 av_strlcpy(file, path, sizeof(file));
21d852a58d32 Cosmetic: Adjust indent.
ib
parents: 35785
diff changeset
343 av_strlcat(file, fname, sizeof(file));
32873
cf385b1901cb Cosmetic: Format to MPlayer coding style.
ib
parents: 32856
diff changeset
344
35786
21d852a58d32 Cosmetic: Adjust indent.
ib
parents: 35785
diff changeset
345 if (skinImageRead(file, &currWin->Bitmap) != 0)
21d852a58d32 Cosmetic: Adjust indent.
ib
parents: 35785
diff changeset
346 return 1;
32873
cf385b1901cb Cosmetic: Format to MPlayer coding style.
ib
parents: 32856
diff changeset
347
35786
21d852a58d32 Cosmetic: Adjust indent.
ib
parents: 35785
diff changeset
348 currWin->width = currWin->Bitmap.Width;
21d852a58d32 Cosmetic: Adjust indent.
ib
parents: 35785
diff changeset
349 currWin->height = currWin->Bitmap.Height;
35785
24b744af09a7 Allow video window without image displayed in it.
ib
parents: 35784
diff changeset
350 }
32873
cf385b1901cb Cosmetic: Format to MPlayer coding style.
ib
parents: 32856
diff changeset
351
34697
ac6b38cd0d45 Rename sub window video window.
ib
parents: 34578
diff changeset
352 if (is_video) {
33089
d22b498bb573 Cosmetic: Use more appropriate variable names.
ib
parents: 33088
diff changeset
353 if (w && h) {
33096
ca1a01b56c90 Avoid using skin pointer.
ib
parents: 33095
diff changeset
354 currWin->width = w;
ca1a01b56c90 Avoid using skin pointer.
ib
parents: 33095
diff changeset
355 currWin->height = h;
32873
cf385b1901cb Cosmetic: Format to MPlayer coding style.
ib
parents: 32856
diff changeset
356 }
33105
1cd1adf9ee6c Cosmetic: Adjust indent after simplifying cmd_base().
ib
parents: 33104
diff changeset
357 }
32873
cf385b1901cb Cosmetic: Format to MPlayer coding style.
ib
parents: 32856
diff changeset
358
35785
24b744af09a7 Allow video window without image displayed in it.
ib
parents: 35784
diff changeset
359 if (currWin->width == 0 || currWin->height == 0)
24b744af09a7 Allow video window without image displayed in it.
ib
parents: 35784
diff changeset
360 return 1;
24b744af09a7 Allow video window without image displayed in it.
ib
parents: 35784
diff changeset
361
35784
c4cd95d59567 Improve debug message.
ib
parents: 35688
diff changeset
362 mp_msg(MSGT_GPLAYER, MSGL_DBG2, "[skin] %s: %dx%d\n", (is_video && w && h ? "size" : " bitmap"), currWin->width, currWin->height);
32951
c11e65fcb818 Clean up debug messages.
ib
parents: 32950
diff changeset
363
34697
ac6b38cd0d45 Rename sub window video window.
ib
parents: 34578
diff changeset
364 if (!is_video) {
33555
c5a19bbeac2b Cosmetic: Rename some GUI variables and functions.
ib
parents: 33357
diff changeset
365 if (!bpRenderMask(&currWin->Bitmap, &currWin->Mask)) {
36694
eed2fb870f43 Rename symbolic constants of GUI help message texts.
ib
parents: 36043
diff changeset
366 skin_error(MSGTR_GUI_MSG_SkinMemoryError);
33114
5ad451a5ebec Remove useless warning message.
ib
parents: 33106
diff changeset
367 return 1;
5ad451a5ebec Remove useless warning message.
ib
parents: 33106
diff changeset
368 }
33985
d99f341d8442 Replace all mp_dbg() calls by mp_msg().
ib
parents: 33972
diff changeset
369 mp_msg(MSGT_GPLAYER, MSGL_DBG2, "[skin] mask: %lux%lu\n", currWin->Mask.Width, currWin->Mask.Height);
33105
1cd1adf9ee6c Cosmetic: Adjust indent after simplifying cmd_base().
ib
parents: 33104
diff changeset
370 }
33101
930338bde973 Order member assignments according to their definition in the structure.
ib
parents: 33100
diff changeset
371
33105
1cd1adf9ee6c Cosmetic: Adjust indent after simplifying cmd_base().
ib
parents: 33104
diff changeset
372 if (is_bar)
35493
411875efca3f Introduce boolean symbolic constants.
ib
parents: 35450
diff changeset
373 skin->playbarIsPresent = True;
33105
1cd1adf9ee6c Cosmetic: Adjust indent after simplifying cmd_base().
ib
parents: 33104
diff changeset
374 if (is_menu)
35493
411875efca3f Introduce boolean symbolic constants.
ib
parents: 35450
diff changeset
375 skin->menuIsPresent = True;
29263
0f1b5b68af32 whitespace cosmetics: Remove all trailing whitespace.
diego
parents: 27377
diff changeset
376
32873
cf385b1901cb Cosmetic: Format to MPlayer coding style.
ib
parents: 32856
diff changeset
377 return 0;
23077
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
378 }
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
379
33968
253620911a2e Add doxygen comments to skin.c.
ib
parents: 33749
diff changeset
380 /**
253620911a2e Add doxygen comments to skin.c.
ib
parents: 33749
diff changeset
381 * @brief Parse a @a background definition.
253620911a2e Add doxygen comments to skin.c.
ib
parents: 33749
diff changeset
382 *
253620911a2e Add doxygen comments to skin.c.
ib
parents: 33749
diff changeset
383 * Syntax: background=R,G,B
253620911a2e Add doxygen comments to skin.c.
ib
parents: 33749
diff changeset
384 *
253620911a2e Add doxygen comments to skin.c.
ib
parents: 33749
diff changeset
385 * @param in definition to be analyzed
253620911a2e Add doxygen comments to skin.c.
ib
parents: 33749
diff changeset
386 *
253620911a2e Add doxygen comments to skin.c.
ib
parents: 33749
diff changeset
387 * @return 0 (ok) or 1 (error)
253620911a2e Add doxygen comments to skin.c.
ib
parents: 33749
diff changeset
388 */
33106
e9e5ee3a1a82 Cosmetic: Rename cmd functions item.
ib
parents: 33105
diff changeset
389 static int item_background(char *in)
23077
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
390 {
33106
e9e5ee3a1a82 Cosmetic: Rename cmd functions item.
ib
parents: 33105
diff changeset
391 if (!window_item("background"))
33054
ed66afc0b06c Replace macros to check whether a command is allowed by functions.
ib
parents: 33053
diff changeset
392 return 1;
23077
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
393
33058
b8374f9dc87b Replace macro by function.
ib
parents: 33057
diff changeset
394 if (in_window("main"))
b8374f9dc87b Replace macro by function.
ib
parents: 33057
diff changeset
395 return 1;
33088
babdacb1ceac Disable background definition for playbar.
ib
parents: 33087
diff changeset
396 if (in_window("playbar"))
babdacb1ceac Disable background definition for playbar.
ib
parents: 33087
diff changeset
397 return 1;
33058
b8374f9dc87b Replace macro by function.
ib
parents: 33057
diff changeset
398 if (in_window("menu"))
b8374f9dc87b Replace macro by function.
ib
parents: 33057
diff changeset
399 return 1;
23077
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
400
32980
2bfd000bb789 Cosmetic: Rename pointers handling current window and items.
ib
parents: 32979
diff changeset
401 currWin->R = cutItemToInt(in, ',', 0);
2bfd000bb789 Cosmetic: Rename pointers handling current window and items.
ib
parents: 32979
diff changeset
402 currWin->G = cutItemToInt(in, ',', 1);
2bfd000bb789 Cosmetic: Rename pointers handling current window and items.
ib
parents: 32979
diff changeset
403 currWin->B = cutItemToInt(in, ',', 2);
23077
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
404
33985
d99f341d8442 Replace all mp_dbg() calls by mp_msg().
ib
parents: 33972
diff changeset
405 mp_msg(MSGT_GPLAYER, MSGL_DBG2, "[skin] background color: #%02x%02x%02x\n", currWin->R, currWin->G, currWin->B);
23077
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
406
32873
cf385b1901cb Cosmetic: Format to MPlayer coding style.
ib
parents: 32856
diff changeset
407 return 0;
23077
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
408 }
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
409
33968
253620911a2e Add doxygen comments to skin.c.
ib
parents: 33749
diff changeset
410 /**
253620911a2e Add doxygen comments to skin.c.
ib
parents: 33749
diff changeset
411 * @brief Parse a @a button definition.
253620911a2e Add doxygen comments to skin.c.
ib
parents: 33749
diff changeset
412 *
253620911a2e Add doxygen comments to skin.c.
ib
parents: 33749
diff changeset
413 * Syntax: button=image,x,y,width,height,message
253620911a2e Add doxygen comments to skin.c.
ib
parents: 33749
diff changeset
414 *
253620911a2e Add doxygen comments to skin.c.
ib
parents: 33749
diff changeset
415 * @param in definition to be analyzed
253620911a2e Add doxygen comments to skin.c.
ib
parents: 33749
diff changeset
416 *
253620911a2e Add doxygen comments to skin.c.
ib
parents: 33749
diff changeset
417 * @return 0 (ok) or 1 (error)
253620911a2e Add doxygen comments to skin.c.
ib
parents: 33749
diff changeset
418 */
33106
e9e5ee3a1a82 Cosmetic: Rename cmd functions item.
ib
parents: 33105
diff changeset
419 static int item_button(char *in)
23077
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
420 {
33090
db699b367260 Reduce resp. increase arrays to reasonable size.
ib
parents: 33089
diff changeset
421 unsigned char fname[256];
33089
d22b498bb573 Cosmetic: Use more appropriate variable names.
ib
parents: 33088
diff changeset
422 unsigned char file[512];
d22b498bb573 Cosmetic: Use more appropriate variable names.
ib
parents: 33088
diff changeset
423 int x, y, w, h, message;
32873
cf385b1901cb Cosmetic: Format to MPlayer coding style.
ib
parents: 32856
diff changeset
424 char msg[32];
35688
6fd886ce32b9 Cosmetic: Rename wItem guiItem.
ib
parents: 35662
diff changeset
425 guiItem *item;
32873
cf385b1901cb Cosmetic: Format to MPlayer coding style.
ib
parents: 32856
diff changeset
426
33106
e9e5ee3a1a82 Cosmetic: Rename cmd functions item.
ib
parents: 33105
diff changeset
427 if (!window_item("button"))
33054
ed66afc0b06c Replace macros to check whether a command is allowed by functions.
ib
parents: 33053
diff changeset
428 return 1;
32873
cf385b1901cb Cosmetic: Format to MPlayer coding style.
ib
parents: 32856
diff changeset
429
34697
ac6b38cd0d45 Rename sub window video window.
ib
parents: 34578
diff changeset
430 if (in_window("video"))
33058
b8374f9dc87b Replace macro by function.
ib
parents: 33057
diff changeset
431 return 1;
b8374f9dc87b Replace macro by function.
ib
parents: 33057
diff changeset
432 if (in_window("menu"))
b8374f9dc87b Replace macro by function.
ib
parents: 33057
diff changeset
433 return 1;
23077
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
434
32873
cf385b1901cb Cosmetic: Format to MPlayer coding style.
ib
parents: 32856
diff changeset
435 cutItem(in, fname, ',', 0);
33089
d22b498bb573 Cosmetic: Use more appropriate variable names.
ib
parents: 33088
diff changeset
436 x = cutItemToInt(in, ',', 1);
d22b498bb573 Cosmetic: Use more appropriate variable names.
ib
parents: 33088
diff changeset
437 y = cutItemToInt(in, ',', 2);
d22b498bb573 Cosmetic: Use more appropriate variable names.
ib
parents: 33088
diff changeset
438 w = cutItemToInt(in, ',', 3);
d22b498bb573 Cosmetic: Use more appropriate variable names.
ib
parents: 33088
diff changeset
439 h = cutItemToInt(in, ',', 4);
32873
cf385b1901cb Cosmetic: Format to MPlayer coding style.
ib
parents: 32856
diff changeset
440 cutItem(in, msg, ',', 5);
cf385b1901cb Cosmetic: Format to MPlayer coding style.
ib
parents: 32856
diff changeset
441
33071
f4895241bdd5 Conform message determination
ib
parents: 33069
diff changeset
442 message = appFindMessage(msg);
f4895241bdd5 Conform message determination
ib
parents: 33069
diff changeset
443
f4895241bdd5 Conform message determination
ib
parents: 33069
diff changeset
444 if (message == -1) {
36694
eed2fb870f43 Rename symbolic constants of GUI help message texts.
ib
parents: 36043
diff changeset
445 skin_error(MSGTR_GUI_MSG_SkinUnknownMessage, msg);
33071
f4895241bdd5 Conform message determination
ib
parents: 33069
diff changeset
446 return 1;
f4895241bdd5 Conform message determination
ib
parents: 33069
diff changeset
447 }
36891
c5ee0fc2ec75 Print an information on deprecated skin config file entries.
ib
parents: 36876
diff changeset
448 // legacy
c5ee0fc2ec75 Print an information on deprecated skin config file entries.
ib
parents: 36876
diff changeset
449 else
c5ee0fc2ec75 Print an information on deprecated skin config file entries.
ib
parents: 36876
diff changeset
450 skin_legacy("evSetURL", msg);
33071
f4895241bdd5 Conform message determination
ib
parents: 33069
diff changeset
451
33985
d99f341d8442 Replace all mp_dbg() calls by mp_msg().
ib
parents: 33972
diff changeset
452 mp_msg(MSGT_GPLAYER, MSGL_DBG2, "[skin] button image: %s %d,%d\n", fname, x, y);
d99f341d8442 Replace all mp_dbg() calls by mp_msg().
ib
parents: 33972
diff changeset
453 mp_msg(MSGT_GPLAYER, MSGL_DBG2, "[skin] message: %s (#%d)\n", msg, message);
d99f341d8442 Replace all mp_dbg() calls by mp_msg().
ib
parents: 33972
diff changeset
454 mp_msg(MSGT_GPLAYER, MSGL_DBG2, "[skin] size: %dx%d\n", w, h);
33102
de688a61e439 Move debug messages so that they will be processed earlier.
ib
parents: 33101
diff changeset
455
33098
b61dff4c9a35 Prevent an out-of-bounds array access.
ib
parents: 33097
diff changeset
456 item = next_item();
b61dff4c9a35 Prevent an out-of-bounds array access.
ib
parents: 33097
diff changeset
457
b61dff4c9a35 Prevent an out-of-bounds array access.
ib
parents: 33097
diff changeset
458 if (!item)
b61dff4c9a35 Prevent an out-of-bounds array access.
ib
parents: 33097
diff changeset
459 return 1;
b61dff4c9a35 Prevent an out-of-bounds array access.
ib
parents: 33097
diff changeset
460
b61dff4c9a35 Prevent an out-of-bounds array access.
ib
parents: 33097
diff changeset
461 item->type = itButton;
b61dff4c9a35 Prevent an out-of-bounds array access.
ib
parents: 33097
diff changeset
462 item->x = x;
b61dff4c9a35 Prevent an out-of-bounds array access.
ib
parents: 33097
diff changeset
463 item->y = y;
b61dff4c9a35 Prevent an out-of-bounds array access.
ib
parents: 33097
diff changeset
464 item->width = w;
b61dff4c9a35 Prevent an out-of-bounds array access.
ib
parents: 33097
diff changeset
465 item->height = h;
b61dff4c9a35 Prevent an out-of-bounds array access.
ib
parents: 33097
diff changeset
466 item->message = message;
33101
930338bde973 Order member assignments according to their definition in the structure.
ib
parents: 33100
diff changeset
467 item->pressed = btnReleased;
23077
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
468
33098
b61dff4c9a35 Prevent an out-of-bounds array access.
ib
parents: 33097
diff changeset
469 if (item->message == evPauseSwitchToPlay)
b61dff4c9a35 Prevent an out-of-bounds array access.
ib
parents: 33097
diff changeset
470 item->pressed = btnDisabled;
23077
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
471
33098
b61dff4c9a35 Prevent an out-of-bounds array access.
ib
parents: 33097
diff changeset
472 item->Bitmap.Image = NULL;
32873
cf385b1901cb Cosmetic: Format to MPlayer coding style.
ib
parents: 32856
diff changeset
473
cf385b1901cb Cosmetic: Format to MPlayer coding style.
ib
parents: 32856
diff changeset
474 if (strcmp(fname, "NULL") != 0) {
33089
d22b498bb573 Cosmetic: Use more appropriate variable names.
ib
parents: 33088
diff changeset
475 av_strlcpy(file, path, sizeof(file));
d22b498bb573 Cosmetic: Use more appropriate variable names.
ib
parents: 33088
diff changeset
476 av_strlcat(file, fname, sizeof(file));
32873
cf385b1901cb Cosmetic: Format to MPlayer coding style.
ib
parents: 32856
diff changeset
477
33969
9184bc37d4d5 Cosmetic: Rename skinBPRead() skinImageRead().
ib
parents: 33968
diff changeset
478 if (skinImageRead(file, &item->Bitmap) != 0)
32873
cf385b1901cb Cosmetic: Format to MPlayer coding style.
ib
parents: 32856
diff changeset
479 return 1;
32951
c11e65fcb818 Clean up debug messages.
ib
parents: 32950
diff changeset
480
33985
d99f341d8442 Replace all mp_dbg() calls by mp_msg().
ib
parents: 33972
diff changeset
481 mp_msg(MSGT_GPLAYER, MSGL_DBG2, "[skin] (bitmap: %lux%lu)\n", item->Bitmap.Width, item->Bitmap.Height);
32873
cf385b1901cb Cosmetic: Format to MPlayer coding style.
ib
parents: 32856
diff changeset
482 }
cf385b1901cb Cosmetic: Format to MPlayer coding style.
ib
parents: 32856
diff changeset
483
cf385b1901cb Cosmetic: Format to MPlayer coding style.
ib
parents: 32856
diff changeset
484 return 0;
23077
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
485 }
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
486
33968
253620911a2e Add doxygen comments to skin.c.
ib
parents: 33749
diff changeset
487 /**
253620911a2e Add doxygen comments to skin.c.
ib
parents: 33749
diff changeset
488 * @brief Parse a @a selected definition.
253620911a2e Add doxygen comments to skin.c.
ib
parents: 33749
diff changeset
489 *
253620911a2e Add doxygen comments to skin.c.
ib
parents: 33749
diff changeset
490 * Syntax: selected=image
253620911a2e Add doxygen comments to skin.c.
ib
parents: 33749
diff changeset
491 *
253620911a2e Add doxygen comments to skin.c.
ib
parents: 33749
diff changeset
492 * @param in definition to be analyzed
253620911a2e Add doxygen comments to skin.c.
ib
parents: 33749
diff changeset
493 *
253620911a2e Add doxygen comments to skin.c.
ib
parents: 33749
diff changeset
494 * @return 0 (ok) or 1 (error)
253620911a2e Add doxygen comments to skin.c.
ib
parents: 33749
diff changeset
495 */
33106
e9e5ee3a1a82 Cosmetic: Rename cmd functions item.
ib
parents: 33105
diff changeset
496 static int item_selected(char *in)
32873
cf385b1901cb Cosmetic: Format to MPlayer coding style.
ib
parents: 32856
diff changeset
497 {
33089
d22b498bb573 Cosmetic: Use more appropriate variable names.
ib
parents: 33088
diff changeset
498 unsigned char file[512];
35688
6fd886ce32b9 Cosmetic: Rename wItem guiItem.
ib
parents: 35662
diff changeset
499 guiItem *currItem;
32873
cf385b1901cb Cosmetic: Format to MPlayer coding style.
ib
parents: 32856
diff changeset
500
33106
e9e5ee3a1a82 Cosmetic: Rename cmd functions item.
ib
parents: 33105
diff changeset
501 if (!window_item("selected"))
33054
ed66afc0b06c Replace macros to check whether a command is allowed by functions.
ib
parents: 33053
diff changeset
502 return 1;
32873
cf385b1901cb Cosmetic: Format to MPlayer coding style.
ib
parents: 32856
diff changeset
503
33058
b8374f9dc87b Replace macro by function.
ib
parents: 33057
diff changeset
504 if (in_window("main"))
b8374f9dc87b Replace macro by function.
ib
parents: 33057
diff changeset
505 return 1;
34697
ac6b38cd0d45 Rename sub window video window.
ib
parents: 34578
diff changeset
506 if (in_window("video"))
33058
b8374f9dc87b Replace macro by function.
ib
parents: 33057
diff changeset
507 return 1;
b8374f9dc87b Replace macro by function.
ib
parents: 33057
diff changeset
508 if (in_window("playbar"))
b8374f9dc87b Replace macro by function.
ib
parents: 33057
diff changeset
509 return 1;
32873
cf385b1901cb Cosmetic: Format to MPlayer coding style.
ib
parents: 32856
diff changeset
510
33985
d99f341d8442 Replace all mp_dbg() calls by mp_msg().
ib
parents: 33972
diff changeset
511 mp_msg(MSGT_GPLAYER, MSGL_DBG2, "[skin] image selected: %s\n", in);
33102
de688a61e439 Move debug messages so that they will be processed earlier.
ib
parents: 33101
diff changeset
512
33096
ca1a01b56c90 Avoid using skin pointer.
ib
parents: 33095
diff changeset
513 currItem = &skin->menuSelected;
ca1a01b56c90 Avoid using skin pointer.
ib
parents: 33095
diff changeset
514 currItem->type = itBase;
32873
cf385b1901cb Cosmetic: Format to MPlayer coding style.
ib
parents: 32856
diff changeset
515
33089
d22b498bb573 Cosmetic: Use more appropriate variable names.
ib
parents: 33088
diff changeset
516 av_strlcpy(file, path, sizeof(file));
33091
6ce0b74d03b7 Remove needless variable.
ib
parents: 33090
diff changeset
517 av_strlcat(file, in, sizeof(file));
32873
cf385b1901cb Cosmetic: Format to MPlayer coding style.
ib
parents: 32856
diff changeset
518
33969
9184bc37d4d5 Cosmetic: Rename skinBPRead() skinImageRead().
ib
parents: 33968
diff changeset
519 if (skinImageRead(file, &currItem->Bitmap) != 0)
32873
cf385b1901cb Cosmetic: Format to MPlayer coding style.
ib
parents: 32856
diff changeset
520 return 1;
cf385b1901cb Cosmetic: Format to MPlayer coding style.
ib
parents: 32856
diff changeset
521
33096
ca1a01b56c90 Avoid using skin pointer.
ib
parents: 33095
diff changeset
522 currItem->width = currItem->Bitmap.Width;
ca1a01b56c90 Avoid using skin pointer.
ib
parents: 33095
diff changeset
523 currItem->height = currItem->Bitmap.Height;
32873
cf385b1901cb Cosmetic: Format to MPlayer coding style.
ib
parents: 32856
diff changeset
524
33985
d99f341d8442 Replace all mp_dbg() calls by mp_msg().
ib
parents: 33972
diff changeset
525 mp_msg(MSGT_GPLAYER, MSGL_DBG2, "[skin] bitmap: %dx%d\n", currItem->width, currItem->height);
32873
cf385b1901cb Cosmetic: Format to MPlayer coding style.
ib
parents: 32856
diff changeset
526
cf385b1901cb Cosmetic: Format to MPlayer coding style.
ib
parents: 32856
diff changeset
527 return 0;
cf385b1901cb Cosmetic: Format to MPlayer coding style.
ib
parents: 32856
diff changeset
528 }
29263
0f1b5b68af32 whitespace cosmetics: Remove all trailing whitespace.
diego
parents: 27377
diff changeset
529
33968
253620911a2e Add doxygen comments to skin.c.
ib
parents: 33749
diff changeset
530 /**
253620911a2e Add doxygen comments to skin.c.
ib
parents: 33749
diff changeset
531 * @brief Parse a @a menu definition.
253620911a2e Add doxygen comments to skin.c.
ib
parents: 33749
diff changeset
532 *
253620911a2e Add doxygen comments to skin.c.
ib
parents: 33749
diff changeset
533 * Syntax: menu=x,y,width,height,message
253620911a2e Add doxygen comments to skin.c.
ib
parents: 33749
diff changeset
534 *
253620911a2e Add doxygen comments to skin.c.
ib
parents: 33749
diff changeset
535 * @param in definition to be analyzed
253620911a2e Add doxygen comments to skin.c.
ib
parents: 33749
diff changeset
536 *
253620911a2e Add doxygen comments to skin.c.
ib
parents: 33749
diff changeset
537 * @return 0 (ok) or 1 (error)
253620911a2e Add doxygen comments to skin.c.
ib
parents: 33749
diff changeset
538 */
33106
e9e5ee3a1a82 Cosmetic: Rename cmd functions item.
ib
parents: 33105
diff changeset
539 static int item_menu(char *in)
32873
cf385b1901cb Cosmetic: Format to MPlayer coding style.
ib
parents: 32856
diff changeset
540 {
33089
d22b498bb573 Cosmetic: Use more appropriate variable names.
ib
parents: 33088
diff changeset
541 int x, y, w, h, message;
33071
f4895241bdd5 Conform message determination
ib
parents: 33069
diff changeset
542 char msg[32];
35688
6fd886ce32b9 Cosmetic: Rename wItem guiItem.
ib
parents: 35662
diff changeset
543 guiItem *item;
32873
cf385b1901cb Cosmetic: Format to MPlayer coding style.
ib
parents: 32856
diff changeset
544
33106
e9e5ee3a1a82 Cosmetic: Rename cmd functions item.
ib
parents: 33105
diff changeset
545 if (!window_item("menu"))
33054
ed66afc0b06c Replace macros to check whether a command is allowed by functions.
ib
parents: 33053
diff changeset
546 return 1;
32873
cf385b1901cb Cosmetic: Format to MPlayer coding style.
ib
parents: 32856
diff changeset
547
33058
b8374f9dc87b Replace macro by function.
ib
parents: 33057
diff changeset
548 if (in_window("main"))
b8374f9dc87b Replace macro by function.
ib
parents: 33057
diff changeset
549 return 1;
34697
ac6b38cd0d45 Rename sub window video window.
ib
parents: 34578
diff changeset
550 if (in_window("video"))
33058
b8374f9dc87b Replace macro by function.
ib
parents: 33057
diff changeset
551 return 1;
b8374f9dc87b Replace macro by function.
ib
parents: 33057
diff changeset
552 if (in_window("playbar"))
b8374f9dc87b Replace macro by function.
ib
parents: 33057
diff changeset
553 return 1;
32873
cf385b1901cb Cosmetic: Format to MPlayer coding style.
ib
parents: 32856
diff changeset
554
33089
d22b498bb573 Cosmetic: Use more appropriate variable names.
ib
parents: 33088
diff changeset
555 x = cutItemToInt(in, ',', 0);
d22b498bb573 Cosmetic: Use more appropriate variable names.
ib
parents: 33088
diff changeset
556 y = cutItemToInt(in, ',', 1);
d22b498bb573 Cosmetic: Use more appropriate variable names.
ib
parents: 33088
diff changeset
557 w = cutItemToInt(in, ',', 2);
d22b498bb573 Cosmetic: Use more appropriate variable names.
ib
parents: 33088
diff changeset
558 h = cutItemToInt(in, ',', 3);
33071
f4895241bdd5 Conform message determination
ib
parents: 33069
diff changeset
559 cutItem(in, msg, ',', 4);
f4895241bdd5 Conform message determination
ib
parents: 33069
diff changeset
560
f4895241bdd5 Conform message determination
ib
parents: 33069
diff changeset
561 message = appFindMessage(msg);
23077
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
562
33071
f4895241bdd5 Conform message determination
ib
parents: 33069
diff changeset
563 if (message == -1) {
36694
eed2fb870f43 Rename symbolic constants of GUI help message texts.
ib
parents: 36043
diff changeset
564 skin_error(MSGTR_GUI_MSG_SkinUnknownMessage, msg);
33071
f4895241bdd5 Conform message determination
ib
parents: 33069
diff changeset
565 return 1;
f4895241bdd5 Conform message determination
ib
parents: 33069
diff changeset
566 }
36891
c5ee0fc2ec75 Print an information on deprecated skin config file entries.
ib
parents: 36876
diff changeset
567 // legacy
c5ee0fc2ec75 Print an information on deprecated skin config file entries.
ib
parents: 36876
diff changeset
568 else
c5ee0fc2ec75 Print an information on deprecated skin config file entries.
ib
parents: 36876
diff changeset
569 skin_legacy("evSetURL", msg);
32873
cf385b1901cb Cosmetic: Format to MPlayer coding style.
ib
parents: 32856
diff changeset
570
33098
b61dff4c9a35 Prevent an out-of-bounds array access.
ib
parents: 33097
diff changeset
571 item = next_item();
b61dff4c9a35 Prevent an out-of-bounds array access.
ib
parents: 33097
diff changeset
572
b61dff4c9a35 Prevent an out-of-bounds array access.
ib
parents: 33097
diff changeset
573 if (!item)
b61dff4c9a35 Prevent an out-of-bounds array access.
ib
parents: 33097
diff changeset
574 return 1;
b61dff4c9a35 Prevent an out-of-bounds array access.
ib
parents: 33097
diff changeset
575
33100
35efac3ece2c Add an itMenu item type.
ib
parents: 33099
diff changeset
576 item->type = itMenu;
33096
ca1a01b56c90 Avoid using skin pointer.
ib
parents: 33095
diff changeset
577 item->x = x;
ca1a01b56c90 Avoid using skin pointer.
ib
parents: 33095
diff changeset
578 item->y = y;
ca1a01b56c90 Avoid using skin pointer.
ib
parents: 33095
diff changeset
579 item->width = w;
ca1a01b56c90 Avoid using skin pointer.
ib
parents: 33095
diff changeset
580 item->height = h;
ca1a01b56c90 Avoid using skin pointer.
ib
parents: 33095
diff changeset
581 item->message = message;
23077
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
582
33985
d99f341d8442 Replace all mp_dbg() calls by mp_msg().
ib
parents: 33972
diff changeset
583 mp_msg(MSGT_GPLAYER, MSGL_DBG2, "[skin] item #%d: %d,%d %dx%d\n", *currWinItemIdx, x, y, w, h);
d99f341d8442 Replace all mp_dbg() calls by mp_msg().
ib
parents: 33972
diff changeset
584 mp_msg(MSGT_GPLAYER, MSGL_DBG2, "[skin] message: %s (#%d)\n", msg, message);
23077
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
585
33096
ca1a01b56c90 Avoid using skin pointer.
ib
parents: 33095
diff changeset
586 item->Bitmap.Image = NULL;
33053
f64d41dac10b Cosmetic: Separate return statement with newline.
ib
parents: 33052
diff changeset
587
32873
cf385b1901cb Cosmetic: Format to MPlayer coding style.
ib
parents: 32856
diff changeset
588 return 0;
23077
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
589 }
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
590
33968
253620911a2e Add doxygen comments to skin.c.
ib
parents: 33749
diff changeset
591 /**
253620911a2e Add doxygen comments to skin.c.
ib
parents: 33749
diff changeset
592 * @brief Parse a @a hpotmeter definition.
253620911a2e Add doxygen comments to skin.c.
ib
parents: 33749
diff changeset
593 *
253620911a2e Add doxygen comments to skin.c.
ib
parents: 33749
diff changeset
594 * Syntax: hpotmeter=button,bwidth,bheight,phases,numphases,default,x,y,width,height,message
253620911a2e Add doxygen comments to skin.c.
ib
parents: 33749
diff changeset
595 *
253620911a2e Add doxygen comments to skin.c.
ib
parents: 33749
diff changeset
596 * @param in definition to be analyzed
253620911a2e Add doxygen comments to skin.c.
ib
parents: 33749
diff changeset
597 *
253620911a2e Add doxygen comments to skin.c.
ib
parents: 33749
diff changeset
598 * @return 0 (ok) or 1 (error)
253620911a2e Add doxygen comments to skin.c.
ib
parents: 33749
diff changeset
599 */
33106
e9e5ee3a1a82 Cosmetic: Rename cmd functions item.
ib
parents: 33105
diff changeset
600 static int item_hpotmeter(char *in)
32873
cf385b1901cb Cosmetic: Format to MPlayer coding style.
ib
parents: 32856
diff changeset
601 {
33090
db699b367260 Reduce resp. increase arrays to reasonable size.
ib
parents: 33089
diff changeset
602 unsigned char pfname[256];
db699b367260 Reduce resp. increase arrays to reasonable size.
ib
parents: 33089
diff changeset
603 unsigned char phfname[256];
33093
3de646fca03b Cosmetic: Rearrange variable declarations to match parameters.
ib
parents: 33092
diff changeset
604 unsigned char buf[512];
3de646fca03b Cosmetic: Rearrange variable declarations to match parameters.
ib
parents: 33092
diff changeset
605 int pwidth, pheight, ph, d, x, y, w, h, message;
35688
6fd886ce32b9 Cosmetic: Rename wItem guiItem.
ib
parents: 35662
diff changeset
606 guiItem *item;
23077
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
607
33106
e9e5ee3a1a82 Cosmetic: Rename cmd functions item.
ib
parents: 33105
diff changeset
608 if (!window_item("h/v potmeter"))
33054
ed66afc0b06c Replace macros to check whether a command is allowed by functions.
ib
parents: 33053
diff changeset
609 return 1;
23077
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
610
34697
ac6b38cd0d45 Rename sub window video window.
ib
parents: 34578
diff changeset
611 if (in_window("video"))
33058
b8374f9dc87b Replace macro by function.
ib
parents: 33057
diff changeset
612 return 1;
b8374f9dc87b Replace macro by function.
ib
parents: 33057
diff changeset
613 if (in_window("menu"))
b8374f9dc87b Replace macro by function.
ib
parents: 33057
diff changeset
614 return 1;
23077
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
615
32873
cf385b1901cb Cosmetic: Format to MPlayer coding style.
ib
parents: 32856
diff changeset
616 cutItem(in, pfname, ',', 0);
32911
e06fbdd8eb46 Clean up the wItem structure.
ib
parents: 32910
diff changeset
617 pwidth = cutItemToInt(in, ',', 1);
e06fbdd8eb46 Clean up the wItem structure.
ib
parents: 32910
diff changeset
618 pheight = cutItemToInt(in, ',', 2);
32873
cf385b1901cb Cosmetic: Format to MPlayer coding style.
ib
parents: 32856
diff changeset
619 cutItem(in, phfname, ',', 3);
cf385b1901cb Cosmetic: Format to MPlayer coding style.
ib
parents: 32856
diff changeset
620 ph = cutItemToInt(in, ',', 4);
cf385b1901cb Cosmetic: Format to MPlayer coding style.
ib
parents: 32856
diff changeset
621 d = cutItemToInt(in, ',', 5);
cf385b1901cb Cosmetic: Format to MPlayer coding style.
ib
parents: 32856
diff changeset
622 x = cutItemToInt(in, ',', 6);
cf385b1901cb Cosmetic: Format to MPlayer coding style.
ib
parents: 32856
diff changeset
623 y = cutItemToInt(in, ',', 7);
33089
d22b498bb573 Cosmetic: Use more appropriate variable names.
ib
parents: 33088
diff changeset
624 w = cutItemToInt(in, ',', 8);
d22b498bb573 Cosmetic: Use more appropriate variable names.
ib
parents: 33088
diff changeset
625 h = cutItemToInt(in, ',', 9);
d22b498bb573 Cosmetic: Use more appropriate variable names.
ib
parents: 33088
diff changeset
626 cutItem(in, buf, ',', 10);
32873
cf385b1901cb Cosmetic: Format to MPlayer coding style.
ib
parents: 32856
diff changeset
627
33089
d22b498bb573 Cosmetic: Use more appropriate variable names.
ib
parents: 33088
diff changeset
628 message = appFindMessage(buf);
23077
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
629
33069
4b7d4905862c Rename error message and add missing checks.
ib
parents: 33067
diff changeset
630 if (message == -1) {
36694
eed2fb870f43 Rename symbolic constants of GUI help message texts.
ib
parents: 36043
diff changeset
631 skin_error(MSGTR_GUI_MSG_SkinUnknownMessage, buf);
33069
4b7d4905862c Rename error message and add missing checks.
ib
parents: 33067
diff changeset
632 return 1;
4b7d4905862c Rename error message and add missing checks.
ib
parents: 33067
diff changeset
633 }
36891
c5ee0fc2ec75 Print an information on deprecated skin config file entries.
ib
parents: 36876
diff changeset
634 // legacy
c5ee0fc2ec75 Print an information on deprecated skin config file entries.
ib
parents: 36876
diff changeset
635 else
c5ee0fc2ec75 Print an information on deprecated skin config file entries.
ib
parents: 36876
diff changeset
636 skin_legacy("evSetURL", buf);
33069
4b7d4905862c Rename error message and add missing checks.
ib
parents: 33067
diff changeset
637
33985
d99f341d8442 Replace all mp_dbg() calls by mp_msg().
ib
parents: 33972
diff changeset
638 mp_msg(MSGT_GPLAYER, MSGL_DBG2, "[skin] h/v potmeter image: %s %d,%d %dx%d\n", phfname, x, y, w, h);
d99f341d8442 Replace all mp_dbg() calls by mp_msg().
ib
parents: 33972
diff changeset
639 mp_msg(MSGT_GPLAYER, MSGL_DBG2, "[skin] button image: %s %dx%d\n", pfname, pwidth, pheight);
d99f341d8442 Replace all mp_dbg() calls by mp_msg().
ib
parents: 33972
diff changeset
640 mp_msg(MSGT_GPLAYER, MSGL_DBG2, "[skin] numphases: %d, default: %d%%\n", ph, d);
d99f341d8442 Replace all mp_dbg() calls by mp_msg().
ib
parents: 33972
diff changeset
641 mp_msg(MSGT_GPLAYER, MSGL_DBG2, "[skin] message: %s (#%d)\n", buf, message);
23077
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
642
33098
b61dff4c9a35 Prevent an out-of-bounds array access.
ib
parents: 33097
diff changeset
643 item = next_item();
b61dff4c9a35 Prevent an out-of-bounds array access.
ib
parents: 33097
diff changeset
644
b61dff4c9a35 Prevent an out-of-bounds array access.
ib
parents: 33097
diff changeset
645 if (!item)
b61dff4c9a35 Prevent an out-of-bounds array access.
ib
parents: 33097
diff changeset
646 return 1;
b61dff4c9a35 Prevent an out-of-bounds array access.
ib
parents: 33097
diff changeset
647
33101
930338bde973 Order member assignments according to their definition in the structure.
ib
parents: 33100
diff changeset
648 item->type = itHPotmeter;
930338bde973 Order member assignments according to their definition in the structure.
ib
parents: 33100
diff changeset
649 item->x = x;
930338bde973 Order member assignments according to their definition in the structure.
ib
parents: 33100
diff changeset
650 item->y = y;
930338bde973 Order member assignments according to their definition in the structure.
ib
parents: 33100
diff changeset
651 item->width = w;
930338bde973 Order member assignments according to their definition in the structure.
ib
parents: 33100
diff changeset
652 item->height = h;
930338bde973 Order member assignments according to their definition in the structure.
ib
parents: 33100
diff changeset
653 item->pwidth = pwidth;
930338bde973 Order member assignments according to their definition in the structure.
ib
parents: 33100
diff changeset
654 item->pheight = pheight;
930338bde973 Order member assignments according to their definition in the structure.
ib
parents: 33100
diff changeset
655 item->numphases = ph;
930338bde973 Order member assignments according to their definition in the structure.
ib
parents: 33100
diff changeset
656 item->value = (float)d;
930338bde973 Order member assignments according to their definition in the structure.
ib
parents: 33100
diff changeset
657 item->message = message;
930338bde973 Order member assignments according to their definition in the structure.
ib
parents: 33100
diff changeset
658 item->pressed = btnReleased;
930338bde973 Order member assignments according to their definition in the structure.
ib
parents: 33100
diff changeset
659
32873
cf385b1901cb Cosmetic: Format to MPlayer coding style.
ib
parents: 32856
diff changeset
660 item->Bitmap.Image = NULL;
23077
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
661
32873
cf385b1901cb Cosmetic: Format to MPlayer coding style.
ib
parents: 32856
diff changeset
662 if (strcmp(phfname, "NULL") != 0) {
33089
d22b498bb573 Cosmetic: Use more appropriate variable names.
ib
parents: 33088
diff changeset
663 av_strlcpy(buf, path, sizeof(buf));
d22b498bb573 Cosmetic: Use more appropriate variable names.
ib
parents: 33088
diff changeset
664 av_strlcat(buf, phfname, sizeof(buf));
32873
cf385b1901cb Cosmetic: Format to MPlayer coding style.
ib
parents: 32856
diff changeset
665
33969
9184bc37d4d5 Cosmetic: Rename skinBPRead() skinImageRead().
ib
parents: 33968
diff changeset
666 if (skinImageRead(buf, &item->Bitmap) != 0)
32873
cf385b1901cb Cosmetic: Format to MPlayer coding style.
ib
parents: 32856
diff changeset
667 return 1;
32951
c11e65fcb818 Clean up debug messages.
ib
parents: 32950
diff changeset
668
33985
d99f341d8442 Replace all mp_dbg() calls by mp_msg().
ib
parents: 33972
diff changeset
669 mp_msg(MSGT_GPLAYER, MSGL_DBG2, "[skin] (potmeter bitmap: %lux%lu)\n", item->Bitmap.Width, item->Bitmap.Height);
32873
cf385b1901cb Cosmetic: Format to MPlayer coding style.
ib
parents: 32856
diff changeset
670 }
cf385b1901cb Cosmetic: Format to MPlayer coding style.
ib
parents: 32856
diff changeset
671
cf385b1901cb Cosmetic: Format to MPlayer coding style.
ib
parents: 32856
diff changeset
672 item->Mask.Image = NULL;
23077
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
673
32873
cf385b1901cb Cosmetic: Format to MPlayer coding style.
ib
parents: 32856
diff changeset
674 if (strcmp(pfname, "NULL") != 0) {
33089
d22b498bb573 Cosmetic: Use more appropriate variable names.
ib
parents: 33088
diff changeset
675 av_strlcpy(buf, path, sizeof(buf));
d22b498bb573 Cosmetic: Use more appropriate variable names.
ib
parents: 33088
diff changeset
676 av_strlcat(buf, pfname, sizeof(buf));
32873
cf385b1901cb Cosmetic: Format to MPlayer coding style.
ib
parents: 32856
diff changeset
677
33969
9184bc37d4d5 Cosmetic: Rename skinBPRead() skinImageRead().
ib
parents: 33968
diff changeset
678 if (skinImageRead(buf, &item->Mask) != 0)
32873
cf385b1901cb Cosmetic: Format to MPlayer coding style.
ib
parents: 32856
diff changeset
679 return 1;
32951
c11e65fcb818 Clean up debug messages.
ib
parents: 32950
diff changeset
680
33985
d99f341d8442 Replace all mp_dbg() calls by mp_msg().
ib
parents: 33972
diff changeset
681 mp_msg(MSGT_GPLAYER, MSGL_DBG2, "[skin] (button bitmap: %lux%lu)\n", item->Mask.Width, item->Mask.Height);
32873
cf385b1901cb Cosmetic: Format to MPlayer coding style.
ib
parents: 32856
diff changeset
682 }
cf385b1901cb Cosmetic: Format to MPlayer coding style.
ib
parents: 32856
diff changeset
683
cf385b1901cb Cosmetic: Format to MPlayer coding style.
ib
parents: 32856
diff changeset
684 return 0;
23077
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
685 }
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
686
33968
253620911a2e Add doxygen comments to skin.c.
ib
parents: 33749
diff changeset
687 /**
253620911a2e Add doxygen comments to skin.c.
ib
parents: 33749
diff changeset
688 * @brief Parse a @a vpotmeter definition.
253620911a2e Add doxygen comments to skin.c.
ib
parents: 33749
diff changeset
689 *
253620911a2e Add doxygen comments to skin.c.
ib
parents: 33749
diff changeset
690 * Syntax: vpotmeter=button,bwidth,bheight,phases,numphases,default,x,y,width,height,message
253620911a2e Add doxygen comments to skin.c.
ib
parents: 33749
diff changeset
691 *
253620911a2e Add doxygen comments to skin.c.
ib
parents: 33749
diff changeset
692 * @param in definition to be analyzed
253620911a2e Add doxygen comments to skin.c.
ib
parents: 33749
diff changeset
693 *
253620911a2e Add doxygen comments to skin.c.
ib
parents: 33749
diff changeset
694 * @return 0 (ok) or 1 (error)
253620911a2e Add doxygen comments to skin.c.
ib
parents: 33749
diff changeset
695 */
33106
e9e5ee3a1a82 Cosmetic: Rename cmd functions item.
ib
parents: 33105
diff changeset
696 static int item_vpotmeter(char *in)
23077
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
697 {
33056
1c2070f0abca Prevent a segmentation fault.
ib
parents: 33055
diff changeset
698 int r;
35688
6fd886ce32b9 Cosmetic: Rename wItem guiItem.
ib
parents: 35662
diff changeset
699 guiItem *item;
23077
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
700
33106
e9e5ee3a1a82 Cosmetic: Rename cmd functions item.
ib
parents: 33105
diff changeset
701 r = item_hpotmeter(in);
33056
1c2070f0abca Prevent a segmentation fault.
ib
parents: 33055
diff changeset
702
1c2070f0abca Prevent a segmentation fault.
ib
parents: 33055
diff changeset
703 if (r == 0) {
33057
0d6b33bc311e Cosmetic: Adjust indent.
ib
parents: 33056
diff changeset
704 item = &currWinItems[*currWinItemIdx];
0d6b33bc311e Cosmetic: Adjust indent.
ib
parents: 33056
diff changeset
705 item->type = itVPotmeter;
33056
1c2070f0abca Prevent a segmentation fault.
ib
parents: 33055
diff changeset
706 }
33053
f64d41dac10b Cosmetic: Separate return statement with newline.
ib
parents: 33052
diff changeset
707
32873
cf385b1901cb Cosmetic: Format to MPlayer coding style.
ib
parents: 32856
diff changeset
708 return r;
23077
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
709 }
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
710
33968
253620911a2e Add doxygen comments to skin.c.
ib
parents: 33749
diff changeset
711 /**
253620911a2e Add doxygen comments to skin.c.
ib
parents: 33749
diff changeset
712 * @brief Parse a @a potmeter definition.
253620911a2e Add doxygen comments to skin.c.
ib
parents: 33749
diff changeset
713 *
253620911a2e Add doxygen comments to skin.c.
ib
parents: 33749
diff changeset
714 * Syntax: potmeter=phases,numphases,default,x,y,width,height,message
253620911a2e Add doxygen comments to skin.c.
ib
parents: 33749
diff changeset
715 *
253620911a2e Add doxygen comments to skin.c.
ib
parents: 33749
diff changeset
716 * @param in definition to be analyzed
253620911a2e Add doxygen comments to skin.c.
ib
parents: 33749
diff changeset
717 *
253620911a2e Add doxygen comments to skin.c.
ib
parents: 33749
diff changeset
718 * @return 0 (ok) or 1 (error)
253620911a2e Add doxygen comments to skin.c.
ib
parents: 33749
diff changeset
719 */
33106
e9e5ee3a1a82 Cosmetic: Rename cmd functions item.
ib
parents: 33105
diff changeset
720 static int item_potmeter(char *in)
32873
cf385b1901cb Cosmetic: Format to MPlayer coding style.
ib
parents: 32856
diff changeset
721 {
33093
3de646fca03b Cosmetic: Rearrange variable declarations to match parameters.
ib
parents: 33092
diff changeset
722 unsigned char phfname[256];
33089
d22b498bb573 Cosmetic: Use more appropriate variable names.
ib
parents: 33088
diff changeset
723 unsigned char buf[512];
33093
3de646fca03b Cosmetic: Rearrange variable declarations to match parameters.
ib
parents: 33092
diff changeset
724 int ph, d, x, y, w, h, message;
35688
6fd886ce32b9 Cosmetic: Rename wItem guiItem.
ib
parents: 35662
diff changeset
725 guiItem *item;
23077
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
726
33106
e9e5ee3a1a82 Cosmetic: Rename cmd functions item.
ib
parents: 33105
diff changeset
727 if (!window_item("potmeter"))
33054
ed66afc0b06c Replace macros to check whether a command is allowed by functions.
ib
parents: 33053
diff changeset
728 return 1;
23077
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
729
34697
ac6b38cd0d45 Rename sub window video window.
ib
parents: 34578
diff changeset
730 if (in_window("video"))
33058
b8374f9dc87b Replace macro by function.
ib
parents: 33057
diff changeset
731 return 1;
b8374f9dc87b Replace macro by function.
ib
parents: 33057
diff changeset
732 if (in_window("menu"))
b8374f9dc87b Replace macro by function.
ib
parents: 33057
diff changeset
733 return 1;
23077
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
734
32873
cf385b1901cb Cosmetic: Format to MPlayer coding style.
ib
parents: 32856
diff changeset
735 cutItem(in, phfname, ',', 0);
cf385b1901cb Cosmetic: Format to MPlayer coding style.
ib
parents: 32856
diff changeset
736 ph = cutItemToInt(in, ',', 1);
cf385b1901cb Cosmetic: Format to MPlayer coding style.
ib
parents: 32856
diff changeset
737 d = cutItemToInt(in, ',', 2);
cf385b1901cb Cosmetic: Format to MPlayer coding style.
ib
parents: 32856
diff changeset
738 x = cutItemToInt(in, ',', 3);
cf385b1901cb Cosmetic: Format to MPlayer coding style.
ib
parents: 32856
diff changeset
739 y = cutItemToInt(in, ',', 4);
33089
d22b498bb573 Cosmetic: Use more appropriate variable names.
ib
parents: 33088
diff changeset
740 w = cutItemToInt(in, ',', 5);
d22b498bb573 Cosmetic: Use more appropriate variable names.
ib
parents: 33088
diff changeset
741 h = cutItemToInt(in, ',', 6);
d22b498bb573 Cosmetic: Use more appropriate variable names.
ib
parents: 33088
diff changeset
742 cutItem(in, buf, ',', 7);
32873
cf385b1901cb Cosmetic: Format to MPlayer coding style.
ib
parents: 32856
diff changeset
743
33089
d22b498bb573 Cosmetic: Use more appropriate variable names.
ib
parents: 33088
diff changeset
744 message = appFindMessage(buf);
23077
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
745
33069
4b7d4905862c Rename error message and add missing checks.
ib
parents: 33067
diff changeset
746 if (message == -1) {
36694
eed2fb870f43 Rename symbolic constants of GUI help message texts.
ib
parents: 36043
diff changeset
747 skin_error(MSGTR_GUI_MSG_SkinUnknownMessage, buf);
33069
4b7d4905862c Rename error message and add missing checks.
ib
parents: 33067
diff changeset
748 return 1;
4b7d4905862c Rename error message and add missing checks.
ib
parents: 33067
diff changeset
749 }
36891
c5ee0fc2ec75 Print an information on deprecated skin config file entries.
ib
parents: 36876
diff changeset
750 // legacy
c5ee0fc2ec75 Print an information on deprecated skin config file entries.
ib
parents: 36876
diff changeset
751 else
c5ee0fc2ec75 Print an information on deprecated skin config file entries.
ib
parents: 36876
diff changeset
752 skin_legacy("evSetURL", buf);
33069
4b7d4905862c Rename error message and add missing checks.
ib
parents: 33067
diff changeset
753
33985
d99f341d8442 Replace all mp_dbg() calls by mp_msg().
ib
parents: 33972
diff changeset
754 mp_msg(MSGT_GPLAYER, MSGL_DBG2, "[skin] potmeter image: %s %d,%d %dx%d\n", phfname, x, y, w, h);
d99f341d8442 Replace all mp_dbg() calls by mp_msg().
ib
parents: 33972
diff changeset
755 mp_msg(MSGT_GPLAYER, MSGL_DBG2, "[skin] numphases: %d, default: %d%%\n", ph, d);
d99f341d8442 Replace all mp_dbg() calls by mp_msg().
ib
parents: 33972
diff changeset
756 mp_msg(MSGT_GPLAYER, MSGL_DBG2, "[skin] message: %s (#%d)\n", buf, message);
23077
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
757
33098
b61dff4c9a35 Prevent an out-of-bounds array access.
ib
parents: 33097
diff changeset
758 item = next_item();
b61dff4c9a35 Prevent an out-of-bounds array access.
ib
parents: 33097
diff changeset
759
b61dff4c9a35 Prevent an out-of-bounds array access.
ib
parents: 33097
diff changeset
760 if (!item)
b61dff4c9a35 Prevent an out-of-bounds array access.
ib
parents: 33097
diff changeset
761 return 1;
b61dff4c9a35 Prevent an out-of-bounds array access.
ib
parents: 33097
diff changeset
762
33101
930338bde973 Order member assignments according to their definition in the structure.
ib
parents: 33100
diff changeset
763 item->type = itPotmeter;
930338bde973 Order member assignments according to their definition in the structure.
ib
parents: 33100
diff changeset
764 item->x = x;
930338bde973 Order member assignments according to their definition in the structure.
ib
parents: 33100
diff changeset
765 item->y = y;
930338bde973 Order member assignments according to their definition in the structure.
ib
parents: 33100
diff changeset
766 item->width = w;
930338bde973 Order member assignments according to their definition in the structure.
ib
parents: 33100
diff changeset
767 item->height = h;
930338bde973 Order member assignments according to their definition in the structure.
ib
parents: 33100
diff changeset
768 item->numphases = ph;
930338bde973 Order member assignments according to their definition in the structure.
ib
parents: 33100
diff changeset
769 item->value = (float)d;
930338bde973 Order member assignments according to their definition in the structure.
ib
parents: 33100
diff changeset
770 item->message = message;
930338bde973 Order member assignments according to their definition in the structure.
ib
parents: 33100
diff changeset
771
32873
cf385b1901cb Cosmetic: Format to MPlayer coding style.
ib
parents: 32856
diff changeset
772 item->Bitmap.Image = NULL;
23077
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
773
32873
cf385b1901cb Cosmetic: Format to MPlayer coding style.
ib
parents: 32856
diff changeset
774 if (strcmp(phfname, "NULL") != 0) {
33089
d22b498bb573 Cosmetic: Use more appropriate variable names.
ib
parents: 33088
diff changeset
775 av_strlcpy(buf, path, sizeof(buf));
d22b498bb573 Cosmetic: Use more appropriate variable names.
ib
parents: 33088
diff changeset
776 av_strlcat(buf, phfname, sizeof(buf));
32873
cf385b1901cb Cosmetic: Format to MPlayer coding style.
ib
parents: 32856
diff changeset
777
33969
9184bc37d4d5 Cosmetic: Rename skinBPRead() skinImageRead().
ib
parents: 33968
diff changeset
778 if (skinImageRead(buf, &item->Bitmap) != 0)
32873
cf385b1901cb Cosmetic: Format to MPlayer coding style.
ib
parents: 32856
diff changeset
779 return 1;
32951
c11e65fcb818 Clean up debug messages.
ib
parents: 32950
diff changeset
780
33985
d99f341d8442 Replace all mp_dbg() calls by mp_msg().
ib
parents: 33972
diff changeset
781 mp_msg(MSGT_GPLAYER, MSGL_DBG2, "[skin] (bitmap: %lux%lu)\n", item->Bitmap.Width, item->Bitmap.Height);
32873
cf385b1901cb Cosmetic: Format to MPlayer coding style.
ib
parents: 32856
diff changeset
782 }
cf385b1901cb Cosmetic: Format to MPlayer coding style.
ib
parents: 32856
diff changeset
783
cf385b1901cb Cosmetic: Format to MPlayer coding style.
ib
parents: 32856
diff changeset
784 return 0;
23077
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
785 }
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
786
33968
253620911a2e Add doxygen comments to skin.c.
ib
parents: 33749
diff changeset
787 /**
253620911a2e Add doxygen comments to skin.c.
ib
parents: 33749
diff changeset
788 * @brief Parse a @a font definition.
253620911a2e Add doxygen comments to skin.c.
ib
parents: 33749
diff changeset
789 *
253620911a2e Add doxygen comments to skin.c.
ib
parents: 33749
diff changeset
790 * Syntax: font=fontfile
253620911a2e Add doxygen comments to skin.c.
ib
parents: 33749
diff changeset
791 *
253620911a2e Add doxygen comments to skin.c.
ib
parents: 33749
diff changeset
792 * @param in definition to be analyzed
253620911a2e Add doxygen comments to skin.c.
ib
parents: 33749
diff changeset
793 *
253620911a2e Add doxygen comments to skin.c.
ib
parents: 33749
diff changeset
794 * @return 0 (ok) or 1 (error)
253620911a2e Add doxygen comments to skin.c.
ib
parents: 33749
diff changeset
795 */
33106
e9e5ee3a1a82 Cosmetic: Rename cmd functions item.
ib
parents: 33105
diff changeset
796 static int item_font(char *in)
32873
cf385b1901cb Cosmetic: Format to MPlayer coding style.
ib
parents: 32856
diff changeset
797 {
33092
83052a4ac698 Use more appropriate name for variable and reduce it to reasonable size.
ib
parents: 33091
diff changeset
798 char fnt[256];
23077
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
799
33106
e9e5ee3a1a82 Cosmetic: Rename cmd functions item.
ib
parents: 33105
diff changeset
800 if (!window_item("font"))
33054
ed66afc0b06c Replace macros to check whether a command is allowed by functions.
ib
parents: 33053
diff changeset
801 return 1;
23077
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
802
34697
ac6b38cd0d45 Rename sub window video window.
ib
parents: 34578
diff changeset
803 if (in_window("video"))
33058
b8374f9dc87b Replace macro by function.
ib
parents: 33057
diff changeset
804 return 1;
b8374f9dc87b Replace macro by function.
ib
parents: 33057
diff changeset
805 if (in_window("menu"))
b8374f9dc87b Replace macro by function.
ib
parents: 33057
diff changeset
806 return 1;
23077
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
807
33092
83052a4ac698 Use more appropriate name for variable and reduce it to reasonable size.
ib
parents: 33091
diff changeset
808 cutItem(in, fnt, ',', 0); // Note: This seems needless but isn't for compatibility
36876
27b48ba4fe15 Fix spelling.
ib
parents: 36694
diff changeset
809 // reasons with a meanwhile deprecated second parameter.
36891
c5ee0fc2ec75 Print an information on deprecated skin config file entries.
ib
parents: 36876
diff changeset
810 // legacy
c5ee0fc2ec75 Print an information on deprecated skin config file entries.
ib
parents: 36876
diff changeset
811 skin_legacy("fontid", in);
c5ee0fc2ec75 Print an information on deprecated skin config file entries.
ib
parents: 36876
diff changeset
812
33099
0b17f6bed6fc Don't needlessly store font information in the wItems array
ib
parents: 33098
diff changeset
813 switch (fntRead(path, fnt)) {
32873
cf385b1901cb Cosmetic: Format to MPlayer coding style.
ib
parents: 32856
diff changeset
814 case -1:
36694
eed2fb870f43 Rename symbolic constants of GUI help message texts.
ib
parents: 36043
diff changeset
815 skin_error(MSGTR_GUI_MSG_SkinMemoryError);
32873
cf385b1901cb Cosmetic: Format to MPlayer coding style.
ib
parents: 32856
diff changeset
816 return 1;
23077
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
817
32873
cf385b1901cb Cosmetic: Format to MPlayer coding style.
ib
parents: 32856
diff changeset
818 case -2:
36694
eed2fb870f43 Rename symbolic constants of GUI help message texts.
ib
parents: 36043
diff changeset
819 skin_error(MSGTR_GUI_MSG_SkinTooManyFonts);
32873
cf385b1901cb Cosmetic: Format to MPlayer coding style.
ib
parents: 32856
diff changeset
820 return 1;
cf385b1901cb Cosmetic: Format to MPlayer coding style.
ib
parents: 32856
diff changeset
821
cf385b1901cb Cosmetic: Format to MPlayer coding style.
ib
parents: 32856
diff changeset
822 case -3:
36694
eed2fb870f43 Rename symbolic constants of GUI help message texts.
ib
parents: 36043
diff changeset
823 skin_error(MSGTR_GUI_MSG_SkinFontFileNotFound);
32873
cf385b1901cb Cosmetic: Format to MPlayer coding style.
ib
parents: 32856
diff changeset
824 return 1;
cf385b1901cb Cosmetic: Format to MPlayer coding style.
ib
parents: 32856
diff changeset
825
cf385b1901cb Cosmetic: Format to MPlayer coding style.
ib
parents: 32856
diff changeset
826 case -4:
36694
eed2fb870f43 Rename symbolic constants of GUI help message texts.
ib
parents: 36043
diff changeset
827 skin_error(MSGTR_GUI_MSG_SkinFontImageNotFound);
32873
cf385b1901cb Cosmetic: Format to MPlayer coding style.
ib
parents: 32856
diff changeset
828 return 1;
cf385b1901cb Cosmetic: Format to MPlayer coding style.
ib
parents: 32856
diff changeset
829 }
cf385b1901cb Cosmetic: Format to MPlayer coding style.
ib
parents: 32856
diff changeset
830
33985
d99f341d8442 Replace all mp_dbg() calls by mp_msg().
ib
parents: 33972
diff changeset
831 mp_msg(MSGT_GPLAYER, MSGL_DBG2, "[skin] font: %s (#%d)\n", fnt, fntFindID(fnt));
32951
c11e65fcb818 Clean up debug messages.
ib
parents: 32950
diff changeset
832
32873
cf385b1901cb Cosmetic: Format to MPlayer coding style.
ib
parents: 32856
diff changeset
833 return 0;
23077
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
834 }
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
835
33968
253620911a2e Add doxygen comments to skin.c.
ib
parents: 33749
diff changeset
836 /**
253620911a2e Add doxygen comments to skin.c.
ib
parents: 33749
diff changeset
837 * @brief Parse a @a slabel definition.
253620911a2e Add doxygen comments to skin.c.
ib
parents: 33749
diff changeset
838 *
253620911a2e Add doxygen comments to skin.c.
ib
parents: 33749
diff changeset
839 * Syntax: slabel=x,y,fontfile,"text"
253620911a2e Add doxygen comments to skin.c.
ib
parents: 33749
diff changeset
840 *
253620911a2e Add doxygen comments to skin.c.
ib
parents: 33749
diff changeset
841 * @param in definition to be analyzed
253620911a2e Add doxygen comments to skin.c.
ib
parents: 33749
diff changeset
842 *
253620911a2e Add doxygen comments to skin.c.
ib
parents: 33749
diff changeset
843 * @return 0 (ok) or 1 (error)
253620911a2e Add doxygen comments to skin.c.
ib
parents: 33749
diff changeset
844 */
33106
e9e5ee3a1a82 Cosmetic: Rename cmd functions item.
ib
parents: 33105
diff changeset
845 static int item_slabel(char *in)
23077
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
846 {
33094
2faf1c3ded5d Cosmetic: Rearrange variable declarations to match parameters.
ib
parents: 33093
diff changeset
847 int x, y, id;
33090
db699b367260 Reduce resp. increase arrays to reasonable size.
ib
parents: 33089
diff changeset
848 char fnt[256];
33094
2faf1c3ded5d Cosmetic: Rearrange variable declarations to match parameters.
ib
parents: 33093
diff changeset
849 char txt[256];
35688
6fd886ce32b9 Cosmetic: Rename wItem guiItem.
ib
parents: 35662
diff changeset
850 guiItem *item;
32873
cf385b1901cb Cosmetic: Format to MPlayer coding style.
ib
parents: 32856
diff changeset
851
33106
e9e5ee3a1a82 Cosmetic: Rename cmd functions item.
ib
parents: 33105
diff changeset
852 if (!window_item("slabel"))
33054
ed66afc0b06c Replace macros to check whether a command is allowed by functions.
ib
parents: 33053
diff changeset
853 return 1;
23077
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
854
34697
ac6b38cd0d45 Rename sub window video window.
ib
parents: 34578
diff changeset
855 if (in_window("video"))
33058
b8374f9dc87b Replace macro by function.
ib
parents: 33057
diff changeset
856 return 1;
b8374f9dc87b Replace macro by function.
ib
parents: 33057
diff changeset
857 if (in_window("menu"))
b8374f9dc87b Replace macro by function.
ib
parents: 33057
diff changeset
858 return 1;
32873
cf385b1901cb Cosmetic: Format to MPlayer coding style.
ib
parents: 32856
diff changeset
859
cf385b1901cb Cosmetic: Format to MPlayer coding style.
ib
parents: 32856
diff changeset
860 x = cutItemToInt(in, ',', 0);
cf385b1901cb Cosmetic: Format to MPlayer coding style.
ib
parents: 32856
diff changeset
861 y = cutItemToInt(in, ',', 1);
33089
d22b498bb573 Cosmetic: Use more appropriate variable names.
ib
parents: 33088
diff changeset
862 cutItem(in, fnt, ',', 2);
d22b498bb573 Cosmetic: Use more appropriate variable names.
ib
parents: 33088
diff changeset
863 cutItem(in, txt, ',', 3);
d22b498bb573 Cosmetic: Use more appropriate variable names.
ib
parents: 33088
diff changeset
864 cutItem(txt, txt, '"', 1);
32951
c11e65fcb818 Clean up debug messages.
ib
parents: 32950
diff changeset
865
33985
d99f341d8442 Replace all mp_dbg() calls by mp_msg().
ib
parents: 33972
diff changeset
866 mp_msg(MSGT_GPLAYER, MSGL_DBG2, "[skin] slabel: \"%s\"\n", txt);
d99f341d8442 Replace all mp_dbg() calls by mp_msg().
ib
parents: 33972
diff changeset
867 mp_msg(MSGT_GPLAYER, MSGL_DBG2, "[skin] pos: %d,%d\n", x, y);
23077
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
868
33089
d22b498bb573 Cosmetic: Use more appropriate variable names.
ib
parents: 33088
diff changeset
869 id = fntFindID(fnt);
23077
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
870
32873
cf385b1901cb Cosmetic: Format to MPlayer coding style.
ib
parents: 32856
diff changeset
871 if (id < 0) {
36694
eed2fb870f43 Rename symbolic constants of GUI help message texts.
ib
parents: 36043
diff changeset
872 skin_error(MSGTR_GUI_MSG_SkinFontNotFound, fnt);
32873
cf385b1901cb Cosmetic: Format to MPlayer coding style.
ib
parents: 32856
diff changeset
873 return 1;
cf385b1901cb Cosmetic: Format to MPlayer coding style.
ib
parents: 32856
diff changeset
874 }
23077
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
875
33985
d99f341d8442 Replace all mp_dbg() calls by mp_msg().
ib
parents: 33972
diff changeset
876 mp_msg(MSGT_GPLAYER, MSGL_DBG2, "[skin] font: %s (#%d)\n", fnt, id);
23077
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
877
33098
b61dff4c9a35 Prevent an out-of-bounds array access.
ib
parents: 33097
diff changeset
878 item = next_item();
b61dff4c9a35 Prevent an out-of-bounds array access.
ib
parents: 33097
diff changeset
879
b61dff4c9a35 Prevent an out-of-bounds array access.
ib
parents: 33097
diff changeset
880 if (!item)
b61dff4c9a35 Prevent an out-of-bounds array access.
ib
parents: 33097
diff changeset
881 return 1;
b61dff4c9a35 Prevent an out-of-bounds array access.
ib
parents: 33097
diff changeset
882
32873
cf385b1901cb Cosmetic: Format to MPlayer coding style.
ib
parents: 32856
diff changeset
883 item->type = itSLabel;
cf385b1901cb Cosmetic: Format to MPlayer coding style.
ib
parents: 32856
diff changeset
884 item->x = x;
cf385b1901cb Cosmetic: Format to MPlayer coding style.
ib
parents: 32856
diff changeset
885 item->y = y;
cf385b1901cb Cosmetic: Format to MPlayer coding style.
ib
parents: 32856
diff changeset
886 item->width = -1;
cf385b1901cb Cosmetic: Format to MPlayer coding style.
ib
parents: 32856
diff changeset
887 item->height = -1;
33101
930338bde973 Order member assignments according to their definition in the structure.
ib
parents: 33100
diff changeset
888 item->fontid = id;
33089
d22b498bb573 Cosmetic: Use more appropriate variable names.
ib
parents: 33088
diff changeset
889 item->label = strdup(txt);
23077
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
890
32979
4905f5a87357 Replace some awkward and unnecessary usages of strlen().
ib
parents: 32958
diff changeset
891 if (!item->label) {
36694
eed2fb870f43 Rename symbolic constants of GUI help message texts.
ib
parents: 36043
diff changeset
892 skin_error(MSGTR_GUI_MSG_SkinMemoryError);
32873
cf385b1901cb Cosmetic: Format to MPlayer coding style.
ib
parents: 32856
diff changeset
893 return 1;
cf385b1901cb Cosmetic: Format to MPlayer coding style.
ib
parents: 32856
diff changeset
894 }
23077
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
895
32873
cf385b1901cb Cosmetic: Format to MPlayer coding style.
ib
parents: 32856
diff changeset
896 return 0;
23077
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
897 }
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
898
33968
253620911a2e Add doxygen comments to skin.c.
ib
parents: 33749
diff changeset
899 /**
253620911a2e Add doxygen comments to skin.c.
ib
parents: 33749
diff changeset
900 * @brief Parse a @a dlabel definition.
253620911a2e Add doxygen comments to skin.c.
ib
parents: 33749
diff changeset
901 *
253620911a2e Add doxygen comments to skin.c.
ib
parents: 33749
diff changeset
902 * Syntax: dlabel=x,y,width,align,fontfile,"text"
253620911a2e Add doxygen comments to skin.c.
ib
parents: 33749
diff changeset
903 *
253620911a2e Add doxygen comments to skin.c.
ib
parents: 33749
diff changeset
904 * @param in definition to be analyzed
253620911a2e Add doxygen comments to skin.c.
ib
parents: 33749
diff changeset
905 *
253620911a2e Add doxygen comments to skin.c.
ib
parents: 33749
diff changeset
906 * @return 0 (ok) or 1 (error)
253620911a2e Add doxygen comments to skin.c.
ib
parents: 33749
diff changeset
907 */
33106
e9e5ee3a1a82 Cosmetic: Rename cmd functions item.
ib
parents: 33105
diff changeset
908 static int item_dlabel(char *in)
32873
cf385b1901cb Cosmetic: Format to MPlayer coding style.
ib
parents: 32856
diff changeset
909 {
33094
2faf1c3ded5d Cosmetic: Rearrange variable declarations to match parameters.
ib
parents: 33093
diff changeset
910 int x, y, w, a, id;
33090
db699b367260 Reduce resp. increase arrays to reasonable size.
ib
parents: 33089
diff changeset
911 char fnt[256];
33094
2faf1c3ded5d Cosmetic: Rearrange variable declarations to match parameters.
ib
parents: 33093
diff changeset
912 char txt[256];
35688
6fd886ce32b9 Cosmetic: Rename wItem guiItem.
ib
parents: 35662
diff changeset
913 guiItem *item;
23077
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
914
33106
e9e5ee3a1a82 Cosmetic: Rename cmd functions item.
ib
parents: 33105
diff changeset
915 if (!window_item("dlabel"))
33054
ed66afc0b06c Replace macros to check whether a command is allowed by functions.
ib
parents: 33053
diff changeset
916 return 1;
23077
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
917
34697
ac6b38cd0d45 Rename sub window video window.
ib
parents: 34578
diff changeset
918 if (in_window("video"))
33058
b8374f9dc87b Replace macro by function.
ib
parents: 33057
diff changeset
919 return 1;
b8374f9dc87b Replace macro by function.
ib
parents: 33057
diff changeset
920 if (in_window("menu"))
b8374f9dc87b Replace macro by function.
ib
parents: 33057
diff changeset
921 return 1;
32873
cf385b1901cb Cosmetic: Format to MPlayer coding style.
ib
parents: 32856
diff changeset
922
33089
d22b498bb573 Cosmetic: Use more appropriate variable names.
ib
parents: 33088
diff changeset
923 x = cutItemToInt(in, ',', 0);
d22b498bb573 Cosmetic: Use more appropriate variable names.
ib
parents: 33088
diff changeset
924 y = cutItemToInt(in, ',', 1);
d22b498bb573 Cosmetic: Use more appropriate variable names.
ib
parents: 33088
diff changeset
925 w = cutItemToInt(in, ',', 2);
d22b498bb573 Cosmetic: Use more appropriate variable names.
ib
parents: 33088
diff changeset
926 a = cutItemToInt(in, ',', 3);
d22b498bb573 Cosmetic: Use more appropriate variable names.
ib
parents: 33088
diff changeset
927 cutItem(in, fnt, ',', 4);
d22b498bb573 Cosmetic: Use more appropriate variable names.
ib
parents: 33088
diff changeset
928 cutItem(in, txt, ',', 5);
d22b498bb573 Cosmetic: Use more appropriate variable names.
ib
parents: 33088
diff changeset
929 cutItem(txt, txt, '"', 1);
32951
c11e65fcb818 Clean up debug messages.
ib
parents: 32950
diff changeset
930
36891
c5ee0fc2ec75 Print an information on deprecated skin config file entries.
ib
parents: 36876
diff changeset
931 // legacy
c5ee0fc2ec75 Print an information on deprecated skin config file entries.
ib
parents: 36876
diff changeset
932 skin_legacy("$l", txt);
c5ee0fc2ec75 Print an information on deprecated skin config file entries.
ib
parents: 36876
diff changeset
933
33985
d99f341d8442 Replace all mp_dbg() calls by mp_msg().
ib
parents: 33972
diff changeset
934 mp_msg(MSGT_GPLAYER, MSGL_DBG2, "[skin] dlabel: \"%s\"\n", txt);
d99f341d8442 Replace all mp_dbg() calls by mp_msg().
ib
parents: 33972
diff changeset
935 mp_msg(MSGT_GPLAYER, MSGL_DBG2, "[skin] pos: %d,%d\n", x, y);
d99f341d8442 Replace all mp_dbg() calls by mp_msg().
ib
parents: 33972
diff changeset
936 mp_msg(MSGT_GPLAYER, MSGL_DBG2, "[skin] width: %d, align: %d\n", w, a);
23077
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
937
33089
d22b498bb573 Cosmetic: Use more appropriate variable names.
ib
parents: 33088
diff changeset
938 id = fntFindID(fnt);
23077
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
939
32873
cf385b1901cb Cosmetic: Format to MPlayer coding style.
ib
parents: 32856
diff changeset
940 if (id < 0) {
36694
eed2fb870f43 Rename symbolic constants of GUI help message texts.
ib
parents: 36043
diff changeset
941 skin_error(MSGTR_GUI_MSG_SkinFontNotFound, fnt);
32873
cf385b1901cb Cosmetic: Format to MPlayer coding style.
ib
parents: 32856
diff changeset
942 return 1;
cf385b1901cb Cosmetic: Format to MPlayer coding style.
ib
parents: 32856
diff changeset
943 }
23077
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
944
33985
d99f341d8442 Replace all mp_dbg() calls by mp_msg().
ib
parents: 33972
diff changeset
945 mp_msg(MSGT_GPLAYER, MSGL_DBG2, "[skin] font: %s (#%d)\n", fnt, id);
23077
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
946
33098
b61dff4c9a35 Prevent an out-of-bounds array access.
ib
parents: 33097
diff changeset
947 item = next_item();
b61dff4c9a35 Prevent an out-of-bounds array access.
ib
parents: 33097
diff changeset
948
b61dff4c9a35 Prevent an out-of-bounds array access.
ib
parents: 33097
diff changeset
949 if (!item)
b61dff4c9a35 Prevent an out-of-bounds array access.
ib
parents: 33097
diff changeset
950 return 1;
b61dff4c9a35 Prevent an out-of-bounds array access.
ib
parents: 33097
diff changeset
951
32873
cf385b1901cb Cosmetic: Format to MPlayer coding style.
ib
parents: 32856
diff changeset
952 item->type = itDLabel;
cf385b1901cb Cosmetic: Format to MPlayer coding style.
ib
parents: 32856
diff changeset
953 item->x = x;
cf385b1901cb Cosmetic: Format to MPlayer coding style.
ib
parents: 32856
diff changeset
954 item->y = y;
33089
d22b498bb573 Cosmetic: Use more appropriate variable names.
ib
parents: 33088
diff changeset
955 item->width = w;
32873
cf385b1901cb Cosmetic: Format to MPlayer coding style.
ib
parents: 32856
diff changeset
956 item->height = -1;
33101
930338bde973 Order member assignments according to their definition in the structure.
ib
parents: 33100
diff changeset
957 item->fontid = id;
930338bde973 Order member assignments according to their definition in the structure.
ib
parents: 33100
diff changeset
958 item->align = a;
33089
d22b498bb573 Cosmetic: Use more appropriate variable names.
ib
parents: 33088
diff changeset
959 item->label = strdup(txt);
23077
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
960
32979
4905f5a87357 Replace some awkward and unnecessary usages of strlen().
ib
parents: 32958
diff changeset
961 if (!item->label) {
36694
eed2fb870f43 Rename symbolic constants of GUI help message texts.
ib
parents: 36043
diff changeset
962 skin_error(MSGTR_GUI_MSG_SkinMemoryError);
32873
cf385b1901cb Cosmetic: Format to MPlayer coding style.
ib
parents: 32856
diff changeset
963 return 1;
cf385b1901cb Cosmetic: Format to MPlayer coding style.
ib
parents: 32856
diff changeset
964 }
23077
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
965
32873
cf385b1901cb Cosmetic: Format to MPlayer coding style.
ib
parents: 32856
diff changeset
966 return 0;
23077
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
967 }
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
968
33968
253620911a2e Add doxygen comments to skin.c.
ib
parents: 33749
diff changeset
969 /**
253620911a2e Add doxygen comments to skin.c.
ib
parents: 33749
diff changeset
970 * @brief Parse a @a decoration definition.
253620911a2e Add doxygen comments to skin.c.
ib
parents: 33749
diff changeset
971 *
253620911a2e Add doxygen comments to skin.c.
ib
parents: 33749
diff changeset
972 * Syntax: decoration=enable|disable
253620911a2e Add doxygen comments to skin.c.
ib
parents: 33749
diff changeset
973 *
253620911a2e Add doxygen comments to skin.c.
ib
parents: 33749
diff changeset
974 * @param in definition to be analyzed
253620911a2e Add doxygen comments to skin.c.
ib
parents: 33749
diff changeset
975 *
253620911a2e Add doxygen comments to skin.c.
ib
parents: 33749
diff changeset
976 * @return 0 (ok) or 1 (error)
253620911a2e Add doxygen comments to skin.c.
ib
parents: 33749
diff changeset
977 */
33106
e9e5ee3a1a82 Cosmetic: Rename cmd functions item.
ib
parents: 33105
diff changeset
978 static int item_decoration(char *in)
23077
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
979 {
33106
e9e5ee3a1a82 Cosmetic: Rename cmd functions item.
ib
parents: 33105
diff changeset
980 if (!window_item("decoration"))
33054
ed66afc0b06c Replace macros to check whether a command is allowed by functions.
ib
parents: 33053
diff changeset
981 return 1;
32873
cf385b1901cb Cosmetic: Format to MPlayer coding style.
ib
parents: 32856
diff changeset
982
34697
ac6b38cd0d45 Rename sub window video window.
ib
parents: 34578
diff changeset
983 if (in_window("video"))
33058
b8374f9dc87b Replace macro by function.
ib
parents: 33057
diff changeset
984 return 1;
b8374f9dc87b Replace macro by function.
ib
parents: 33057
diff changeset
985 if (in_window("playbar"))
b8374f9dc87b Replace macro by function.
ib
parents: 33057
diff changeset
986 return 1;
b8374f9dc87b Replace macro by function.
ib
parents: 33057
diff changeset
987 if (in_window("menu"))
b8374f9dc87b Replace macro by function.
ib
parents: 33057
diff changeset
988 return 1;
32873
cf385b1901cb Cosmetic: Format to MPlayer coding style.
ib
parents: 32856
diff changeset
989
33086
1b9f989855f3 Remove needless variable.
ib
parents: 33084
diff changeset
990 strlower(in);
32873
cf385b1901cb Cosmetic: Format to MPlayer coding style.
ib
parents: 32856
diff changeset
991
33086
1b9f989855f3 Remove needless variable.
ib
parents: 33084
diff changeset
992 if (strcmp(in, "enable") != 0 && strcmp(in, "disable") != 0) {
36694
eed2fb870f43 Rename symbolic constants of GUI help message texts.
ib
parents: 36043
diff changeset
993 skin_error(MSGTR_GUI_MSG_SkinUnknownParameter, in);
32873
cf385b1901cb Cosmetic: Format to MPlayer coding style.
ib
parents: 32856
diff changeset
994 return 1;
cf385b1901cb Cosmetic: Format to MPlayer coding style.
ib
parents: 32856
diff changeset
995 }
23077
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
996
33087
ca17f301336d Simplify parameter analysis.
ib
parents: 33086
diff changeset
997 skin->mainDecoration = (strcmp(in, "enable") == 0);
23077
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
998
33985
d99f341d8442 Replace all mp_dbg() calls by mp_msg().
ib
parents: 33972
diff changeset
999 mp_msg(MSGT_GPLAYER, MSGL_DBG2, "[skin] decoration: %s\n", in);
32873
cf385b1901cb Cosmetic: Format to MPlayer coding style.
ib
parents: 32856
diff changeset
1000
cf385b1901cb Cosmetic: Format to MPlayer coding style.
ib
parents: 32856
diff changeset
1001 return 0;
23077
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
1002 }
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
1003
33968
253620911a2e Add doxygen comments to skin.c.
ib
parents: 33749
diff changeset
1004 /**
253620911a2e Add doxygen comments to skin.c.
ib
parents: 33749
diff changeset
1005 * @brief Parsing functions responsible for skin item definitions.
253620911a2e Add doxygen comments to skin.c.
ib
parents: 33749
diff changeset
1006 */
32878
afa6f80b0867 Limit scope of internally used skinItem array.
ib
parents: 32877
diff changeset
1007 static _item skinItem[] = {
33106
e9e5ee3a1a82 Cosmetic: Rename cmd functions item.
ib
parents: 33105
diff changeset
1008 { "background", item_background },
e9e5ee3a1a82 Cosmetic: Rename cmd functions item.
ib
parents: 33105
diff changeset
1009 { "base", item_base },
e9e5ee3a1a82 Cosmetic: Rename cmd functions item.
ib
parents: 33105
diff changeset
1010 { "button", item_button },
e9e5ee3a1a82 Cosmetic: Rename cmd functions item.
ib
parents: 33105
diff changeset
1011 { "decoration", item_decoration },
e9e5ee3a1a82 Cosmetic: Rename cmd functions item.
ib
parents: 33105
diff changeset
1012 { "dlabel", item_dlabel },
e9e5ee3a1a82 Cosmetic: Rename cmd functions item.
ib
parents: 33105
diff changeset
1013 { "end", item_end },
e9e5ee3a1a82 Cosmetic: Rename cmd functions item.
ib
parents: 33105
diff changeset
1014 { "font", item_font },
e9e5ee3a1a82 Cosmetic: Rename cmd functions item.
ib
parents: 33105
diff changeset
1015 { "hpotmeter", item_hpotmeter },
e9e5ee3a1a82 Cosmetic: Rename cmd functions item.
ib
parents: 33105
diff changeset
1016 { "menu", item_menu },
e9e5ee3a1a82 Cosmetic: Rename cmd functions item.
ib
parents: 33105
diff changeset
1017 { "potmeter", item_potmeter },
e9e5ee3a1a82 Cosmetic: Rename cmd functions item.
ib
parents: 33105
diff changeset
1018 { "section", item_section },
e9e5ee3a1a82 Cosmetic: Rename cmd functions item.
ib
parents: 33105
diff changeset
1019 { "selected", item_selected },
e9e5ee3a1a82 Cosmetic: Rename cmd functions item.
ib
parents: 33105
diff changeset
1020 { "slabel", item_slabel },
e9e5ee3a1a82 Cosmetic: Rename cmd functions item.
ib
parents: 33105
diff changeset
1021 { "vpotmeter", item_vpotmeter },
e9e5ee3a1a82 Cosmetic: Rename cmd functions item.
ib
parents: 33105
diff changeset
1022 { "window", item_window }
32873
cf385b1901cb Cosmetic: Format to MPlayer coding style.
ib
parents: 32856
diff changeset
1023 };
cf385b1901cb Cosmetic: Format to MPlayer coding style.
ib
parents: 32856
diff changeset
1024
33968
253620911a2e Add doxygen comments to skin.c.
ib
parents: 33749
diff changeset
1025 /**
35662
782461b26312 Relocate some functions.
ib
parents: 35529
diff changeset
1026 * @brief Read a skin @a image file.
782461b26312 Relocate some functions.
ib
parents: 35529
diff changeset
1027 *
782461b26312 Relocate some functions.
ib
parents: 35529
diff changeset
1028 * @param fname filename (with path)
782461b26312 Relocate some functions.
ib
parents: 35529
diff changeset
1029 * @param img pointer suitable to store the image data
782461b26312 Relocate some functions.
ib
parents: 35529
diff changeset
1030 *
782461b26312 Relocate some functions.
ib
parents: 35529
diff changeset
1031 * @return return code of #bpRead()
782461b26312 Relocate some functions.
ib
parents: 35529
diff changeset
1032 */
782461b26312 Relocate some functions.
ib
parents: 35529
diff changeset
1033 int skinImageRead(char *fname, guiImage *img)
782461b26312 Relocate some functions.
ib
parents: 35529
diff changeset
1034 {
782461b26312 Relocate some functions.
ib
parents: 35529
diff changeset
1035 int i = bpRead(fname, img);
782461b26312 Relocate some functions.
ib
parents: 35529
diff changeset
1036
782461b26312 Relocate some functions.
ib
parents: 35529
diff changeset
1037 switch (i) {
782461b26312 Relocate some functions.
ib
parents: 35529
diff changeset
1038 case -1:
36694
eed2fb870f43 Rename symbolic constants of GUI help message texts.
ib
parents: 36043
diff changeset
1039 skin_error(MSGTR_GUI_MSG_SkinErrorBitmap16Bit, fname);
35662
782461b26312 Relocate some functions.
ib
parents: 35529
diff changeset
1040 break;
782461b26312 Relocate some functions.
ib
parents: 35529
diff changeset
1041
782461b26312 Relocate some functions.
ib
parents: 35529
diff changeset
1042 case -2:
36694
eed2fb870f43 Rename symbolic constants of GUI help message texts.
ib
parents: 36043
diff changeset
1043 skin_error(MSGTR_GUI_MSG_SkinBitmapNotFound, fname);
35662
782461b26312 Relocate some functions.
ib
parents: 35529
diff changeset
1044 break;
782461b26312 Relocate some functions.
ib
parents: 35529
diff changeset
1045
782461b26312 Relocate some functions.
ib
parents: 35529
diff changeset
1046 case -5:
36694
eed2fb870f43 Rename symbolic constants of GUI help message texts.
ib
parents: 36043
diff changeset
1047 skin_error(MSGTR_GUI_MSG_SkinBitmapPngReadError, fname);
35662
782461b26312 Relocate some functions.
ib
parents: 35529
diff changeset
1048 break;
782461b26312 Relocate some functions.
ib
parents: 35529
diff changeset
1049
782461b26312 Relocate some functions.
ib
parents: 35529
diff changeset
1050 case -8:
36694
eed2fb870f43 Rename symbolic constants of GUI help message texts.
ib
parents: 36043
diff changeset
1051 skin_error(MSGTR_GUI_MSG_SkinBitmapConversionError, fname);
35662
782461b26312 Relocate some functions.
ib
parents: 35529
diff changeset
1052 break;
782461b26312 Relocate some functions.
ib
parents: 35529
diff changeset
1053 }
782461b26312 Relocate some functions.
ib
parents: 35529
diff changeset
1054
782461b26312 Relocate some functions.
ib
parents: 35529
diff changeset
1055 return i;
782461b26312 Relocate some functions.
ib
parents: 35529
diff changeset
1056 }
782461b26312 Relocate some functions.
ib
parents: 35529
diff changeset
1057
782461b26312 Relocate some functions.
ib
parents: 35529
diff changeset
1058 /**
33968
253620911a2e Add doxygen comments to skin.c.
ib
parents: 33749
diff changeset
1059 * @brief Build the skin file path for a skin name.
253620911a2e Add doxygen comments to skin.c.
ib
parents: 33749
diff changeset
1060 *
253620911a2e Add doxygen comments to skin.c.
ib
parents: 33749
diff changeset
1061 * @param dir skins directory
253620911a2e Add doxygen comments to skin.c.
ib
parents: 33749
diff changeset
1062 * @param sname name of the skin
253620911a2e Add doxygen comments to skin.c.
ib
parents: 33749
diff changeset
1063 *
253620911a2e Add doxygen comments to skin.c.
ib
parents: 33749
diff changeset
1064 * @return skin file path
253620911a2e Add doxygen comments to skin.c.
ib
parents: 33749
diff changeset
1065 *
253620911a2e Add doxygen comments to skin.c.
ib
parents: 33749
diff changeset
1066 * @note As a side effect, variable #path gets set to the skin path.
253620911a2e Add doxygen comments to skin.c.
ib
parents: 33749
diff changeset
1067 */
33081
d217fdc83e63 (Almost entirely) cosmetic: Use more appropriate variable names.
ib
parents: 33079
diff changeset
1068 static char *setname(char *dir, char *sname)
32873
cf385b1901cb Cosmetic: Format to MPlayer coding style.
ib
parents: 32856
diff changeset
1069 {
33081
d217fdc83e63 (Almost entirely) cosmetic: Use more appropriate variable names.
ib
parents: 33079
diff changeset
1070 static char skinfname[512];
32873
cf385b1901cb Cosmetic: Format to MPlayer coding style.
ib
parents: 32856
diff changeset
1071
33081
d217fdc83e63 (Almost entirely) cosmetic: Use more appropriate variable names.
ib
parents: 33079
diff changeset
1072 av_strlcpy(skinfname, dir, sizeof(skinfname));
d217fdc83e63 (Almost entirely) cosmetic: Use more appropriate variable names.
ib
parents: 33079
diff changeset
1073 av_strlcat(skinfname, "/", sizeof(skinfname));
d217fdc83e63 (Almost entirely) cosmetic: Use more appropriate variable names.
ib
parents: 33079
diff changeset
1074 av_strlcat(skinfname, sname, sizeof(skinfname));
d217fdc83e63 (Almost entirely) cosmetic: Use more appropriate variable names.
ib
parents: 33079
diff changeset
1075 av_strlcat(skinfname, "/", sizeof(skinfname));
d217fdc83e63 (Almost entirely) cosmetic: Use more appropriate variable names.
ib
parents: 33079
diff changeset
1076 av_strlcpy(path, skinfname, sizeof(path));
d217fdc83e63 (Almost entirely) cosmetic: Use more appropriate variable names.
ib
parents: 33079
diff changeset
1077 av_strlcat(skinfname, "skin", sizeof(skinfname));
32873
cf385b1901cb Cosmetic: Format to MPlayer coding style.
ib
parents: 32856
diff changeset
1078
33081
d217fdc83e63 (Almost entirely) cosmetic: Use more appropriate variable names.
ib
parents: 33079
diff changeset
1079 return skinfname;
23077
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
1080 }
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
1081
33968
253620911a2e Add doxygen comments to skin.c.
ib
parents: 33749
diff changeset
1082 /**
253620911a2e Add doxygen comments to skin.c.
ib
parents: 33749
diff changeset
1083 * @brief Read and parse a skin.
253620911a2e Add doxygen comments to skin.c.
ib
parents: 33749
diff changeset
1084 *
253620911a2e Add doxygen comments to skin.c.
ib
parents: 33749
diff changeset
1085 * @param sname name of the skin
253620911a2e Add doxygen comments to skin.c.
ib
parents: 33749
diff changeset
1086 *
253620911a2e Add doxygen comments to skin.c.
ib
parents: 33749
diff changeset
1087 * @return 0 (ok), -1 (skin file not found or not readable) or -2 (parsing error)
253620911a2e Add doxygen comments to skin.c.
ib
parents: 33749
diff changeset
1088 */
33081
d217fdc83e63 (Almost entirely) cosmetic: Use more appropriate variable names.
ib
parents: 33079
diff changeset
1089 int skinRead(char *sname)
23077
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
1090 {
33081
d217fdc83e63 (Almost entirely) cosmetic: Use more appropriate variable names.
ib
parents: 33079
diff changeset
1091 char *skinfname;
34578
948bec0f8df3 Cosmetic: Change some variable names.
ib
parents: 34560
diff changeset
1092 FILE *skinfile;
33081
d217fdc83e63 (Almost entirely) cosmetic: Use more appropriate variable names.
ib
parents: 33079
diff changeset
1093 unsigned char line[256];
33075
c7cfa1a653c8 Cosmetic: Rename command item.
ib
parents: 33073
diff changeset
1094 unsigned char item[32];
32873
cf385b1901cb Cosmetic: Format to MPlayer coding style.
ib
parents: 32856
diff changeset
1095 unsigned char param[256];
32944
27a98940e3aa Use FF_ARRAY_ELEMS() rather than a separate constant.
ib
parents: 32937
diff changeset
1096 unsigned int i;
32873
cf385b1901cb Cosmetic: Format to MPlayer coding style.
ib
parents: 32856
diff changeset
1097
33081
d217fdc83e63 (Almost entirely) cosmetic: Use more appropriate variable names.
ib
parents: 33079
diff changeset
1098 skinfname = setname(skinDirInHome, sname);
23077
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
1099
34578
948bec0f8df3 Cosmetic: Change some variable names.
ib
parents: 34560
diff changeset
1100 if ((skinfile = fopen(skinfname, "rt")) == NULL) {
36043
40c13df3d953 Cosmetic: Rename variables (consistently).
ib
parents: 36032
diff changeset
1101 skinfname = setname(skinDirInData, sname);
32873
cf385b1901cb Cosmetic: Format to MPlayer coding style.
ib
parents: 32856
diff changeset
1102
34578
948bec0f8df3 Cosmetic: Change some variable names.
ib
parents: 34560
diff changeset
1103 if ((skinfile = fopen(skinfname, "rt")) == NULL) {
36694
eed2fb870f43 Rename symbolic constants of GUI help message texts.
ib
parents: 36043
diff changeset
1104 mp_msg(MSGT_GPLAYER, MSGL_ERR, MSGTR_GUI_MSG_SkinFileNotFound, skinfname);
32873
cf385b1901cb Cosmetic: Format to MPlayer coding style.
ib
parents: 32856
diff changeset
1105 return -1;
cf385b1901cb Cosmetic: Format to MPlayer coding style.
ib
parents: 32856
diff changeset
1106 }
23077
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
1107 }
32873
cf385b1901cb Cosmetic: Format to MPlayer coding style.
ib
parents: 32856
diff changeset
1108
33985
d99f341d8442 Replace all mp_dbg() calls by mp_msg().
ib
parents: 33972
diff changeset
1109 mp_msg(MSGT_GPLAYER, MSGL_DBG2, "[skin] configuration file: %s\n", skinfname);
23077
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
1110
32932
e95ec1b2feea Cosmetic: Rename appInitStruct() to appFreeStruct().
ib
parents: 32931
diff changeset
1111 appFreeStruct();
23077
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
1112
33078
c84938655cf4 Reset skin pointer and window name.
ib
parents: 33077
diff changeset
1113 skin = NULL;
c84938655cf4 Reset skin pointer and window name.
ib
parents: 33077
diff changeset
1114 currWinName[0] = 0;
33079
25c467321c98 Cosmetic: Adjust indent.
ib
parents: 33078
diff changeset
1115 linenumber = 0;
23077
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
1116
34578
948bec0f8df3 Cosmetic: Change some variable names.
ib
parents: 34560
diff changeset
1117 while (fgetstr(line, sizeof(line), skinfile)) {
32873
cf385b1901cb Cosmetic: Format to MPlayer coding style.
ib
parents: 32856
diff changeset
1118 linenumber++;
cf385b1901cb Cosmetic: Format to MPlayer coding style.
ib
parents: 32856
diff changeset
1119
33081
d217fdc83e63 (Almost entirely) cosmetic: Use more appropriate variable names.
ib
parents: 33079
diff changeset
1120 strswap(line, '\t', ' ');
d217fdc83e63 (Almost entirely) cosmetic: Use more appropriate variable names.
ib
parents: 33079
diff changeset
1121 trim(line);
d217fdc83e63 (Almost entirely) cosmetic: Use more appropriate variable names.
ib
parents: 33079
diff changeset
1122 decomment(line);
32873
cf385b1901cb Cosmetic: Format to MPlayer coding style.
ib
parents: 32856
diff changeset
1123
33081
d217fdc83e63 (Almost entirely) cosmetic: Use more appropriate variable names.
ib
parents: 33079
diff changeset
1124 if (!*line)
32873
cf385b1901cb Cosmetic: Format to MPlayer coding style.
ib
parents: 32856
diff changeset
1125 continue;
23077
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
1126
33081
d217fdc83e63 (Almost entirely) cosmetic: Use more appropriate variable names.
ib
parents: 33079
diff changeset
1127 cutItem(line, item, '=', 0);
d217fdc83e63 (Almost entirely) cosmetic: Use more appropriate variable names.
ib
parents: 33079
diff changeset
1128 cutItem(line, param, '=', 1);
33075
c7cfa1a653c8 Cosmetic: Rename command item.
ib
parents: 33073
diff changeset
1129 strlower(item);
32873
cf385b1901cb Cosmetic: Format to MPlayer coding style.
ib
parents: 32856
diff changeset
1130
33076
27999e9c1b3f Leave loop after item function has been found and called.
ib
parents: 33075
diff changeset
1131 for (i = 0; i < FF_ARRAY_ELEMS(skinItem); i++) {
27999e9c1b3f Leave loop after item function has been found and called.
ib
parents: 33075
diff changeset
1132 if (!strcmp(item, skinItem[i].name)) {
35360
a3e8af09792d Close the skin file after reading.
ib
parents: 34698
diff changeset
1133 if (skinItem[i].func(param) != 0) {
a3e8af09792d Close the skin file after reading.
ib
parents: 34698
diff changeset
1134 fclose(skinfile);
32873
cf385b1901cb Cosmetic: Format to MPlayer coding style.
ib
parents: 32856
diff changeset
1135 return -2;
35360
a3e8af09792d Close the skin file after reading.
ib
parents: 34698
diff changeset
1136 } else
33076
27999e9c1b3f Leave loop after item function has been found and called.
ib
parents: 33075
diff changeset
1137 break;
27999e9c1b3f Leave loop after item function has been found and called.
ib
parents: 33075
diff changeset
1138 }
27999e9c1b3f Leave loop after item function has been found and called.
ib
parents: 33075
diff changeset
1139 }
33077
706f36627399 Add a check for unknown items.
ib
parents: 33076
diff changeset
1140
706f36627399 Add a check for unknown items.
ib
parents: 33076
diff changeset
1141 if (i == FF_ARRAY_ELEMS(skinItem)) {
36694
eed2fb870f43 Rename symbolic constants of GUI help message texts.
ib
parents: 36043
diff changeset
1142 skin_error(MSGTR_GUI_MSG_SkinUnknownItem, item);
35360
a3e8af09792d Close the skin file after reading.
ib
parents: 34698
diff changeset
1143 fclose(skinfile);
33077
706f36627399 Add a check for unknown items.
ib
parents: 33076
diff changeset
1144 return -2;
706f36627399 Add a check for unknown items.
ib
parents: 33076
diff changeset
1145 }
32873
cf385b1901cb Cosmetic: Format to MPlayer coding style.
ib
parents: 32856
diff changeset
1146 }
cf385b1901cb Cosmetic: Format to MPlayer coding style.
ib
parents: 32856
diff changeset
1147
35360
a3e8af09792d Close the skin file after reading.
ib
parents: 34698
diff changeset
1148 fclose(skinfile);
a3e8af09792d Close the skin file after reading.
ib
parents: 34698
diff changeset
1149
32873
cf385b1901cb Cosmetic: Format to MPlayer coding style.
ib
parents: 32856
diff changeset
1150 if (linenumber == 0) {
36694
eed2fb870f43 Rename symbolic constants of GUI help message texts.
ib
parents: 36043
diff changeset
1151 mp_msg(MSGT_GPLAYER, MSGL_ERR, MSGTR_GUI_MSG_SkinFileNotReadable, skinfname);
32873
cf385b1901cb Cosmetic: Format to MPlayer coding style.
ib
parents: 32856
diff changeset
1152 return -1;
cf385b1901cb Cosmetic: Format to MPlayer coding style.
ib
parents: 32856
diff changeset
1153 }
cf385b1901cb Cosmetic: Format to MPlayer coding style.
ib
parents: 32856
diff changeset
1154
cf385b1901cb Cosmetic: Format to MPlayer coding style.
ib
parents: 32856
diff changeset
1155 return 0;
23077
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
1156 }