annotate gui/util/misc.c @ 37026:b6ff1451035d

Constrain an item's value to be in the range of 0 to 100. Add function contrain() and replace checking the bounds by it. Add it for mouse wheeling, too, where it has been missing so far.
author ib
date Thu, 03 Apr 2014 11:30:53 +0000
parents 0790f864cea2
children b28b632efeef
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
37024
0790f864cea2 Add a file for miscellaneous auxiliary functions.
ib
parents:
diff changeset
1 /*
0790f864cea2 Add a file for miscellaneous auxiliary functions.
ib
parents:
diff changeset
2 * This file is part of MPlayer.
0790f864cea2 Add a file for miscellaneous auxiliary functions.
ib
parents:
diff changeset
3 *
0790f864cea2 Add a file for miscellaneous auxiliary functions.
ib
parents:
diff changeset
4 * MPlayer is free software; you can redistribute it and/or modify
0790f864cea2 Add a file for miscellaneous auxiliary functions.
ib
parents:
diff changeset
5 * it under the terms of the GNU General Public License as published by
0790f864cea2 Add a file for miscellaneous auxiliary functions.
ib
parents:
diff changeset
6 * the Free Software Foundation; either version 2 of the License, or
0790f864cea2 Add a file for miscellaneous auxiliary functions.
ib
parents:
diff changeset
7 * (at your option) any later version.
0790f864cea2 Add a file for miscellaneous auxiliary functions.
ib
parents:
diff changeset
8 *
0790f864cea2 Add a file for miscellaneous auxiliary functions.
ib
parents:
diff changeset
9 * MPlayer is distributed in the hope that it will be useful,
0790f864cea2 Add a file for miscellaneous auxiliary functions.
ib
parents:
diff changeset
10 * but WITHOUT ANY WARRANTY; without even the implied warranty of
0790f864cea2 Add a file for miscellaneous auxiliary functions.
ib
parents:
diff changeset
11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
0790f864cea2 Add a file for miscellaneous auxiliary functions.
ib
parents:
diff changeset
12 * GNU General Public License for more details.
0790f864cea2 Add a file for miscellaneous auxiliary functions.
ib
parents:
diff changeset
13 *
0790f864cea2 Add a file for miscellaneous auxiliary functions.
ib
parents:
diff changeset
14 * You should have received a copy of the GNU General Public License along
0790f864cea2 Add a file for miscellaneous auxiliary functions.
ib
parents:
diff changeset
15 * with MPlayer; if not, write to the Free Software Foundation, Inc.,
0790f864cea2 Add a file for miscellaneous auxiliary functions.
ib
parents:
diff changeset
16 * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
0790f864cea2 Add a file for miscellaneous auxiliary functions.
ib
parents:
diff changeset
17 */
0790f864cea2 Add a file for miscellaneous auxiliary functions.
ib
parents:
diff changeset
18
0790f864cea2 Add a file for miscellaneous auxiliary functions.
ib
parents:
diff changeset
19 /**
0790f864cea2 Add a file for miscellaneous auxiliary functions.
ib
parents:
diff changeset
20 * @file
0790f864cea2 Add a file for miscellaneous auxiliary functions.
ib
parents:
diff changeset
21 * @brief Miscellaneous utilities
0790f864cea2 Add a file for miscellaneous auxiliary functions.
ib
parents:
diff changeset
22 */
0790f864cea2 Add a file for miscellaneous auxiliary functions.
ib
parents:
diff changeset
23
0790f864cea2 Add a file for miscellaneous auxiliary functions.
ib
parents:
diff changeset
24 #include <string.h>
0790f864cea2 Add a file for miscellaneous auxiliary functions.
ib
parents:
diff changeset
25
0790f864cea2 Add a file for miscellaneous auxiliary functions.
ib
parents:
diff changeset
26 #include "misc.h"
0790f864cea2 Add a file for miscellaneous auxiliary functions.
ib
parents:
diff changeset
27
0790f864cea2 Add a file for miscellaneous auxiliary functions.
ib
parents:
diff changeset
28 /**
0790f864cea2 Add a file for miscellaneous auxiliary functions.
ib
parents:
diff changeset
29 * @brief Read characters from @a file.
0790f864cea2 Add a file for miscellaneous auxiliary functions.
ib
parents:
diff changeset
30 *
0790f864cea2 Add a file for miscellaneous auxiliary functions.
ib
parents:
diff changeset
31 * @param str pointer to a buffer to receive the read characters
0790f864cea2 Add a file for miscellaneous auxiliary functions.
ib
parents:
diff changeset
32 * @param size number of characters read at the most (including a terminating null-character)
0790f864cea2 Add a file for miscellaneous auxiliary functions.
ib
parents:
diff changeset
33 * @param file file to read from
0790f864cea2 Add a file for miscellaneous auxiliary functions.
ib
parents:
diff changeset
34 *
0790f864cea2 Add a file for miscellaneous auxiliary functions.
ib
parents:
diff changeset
35 * @return str (success) or NULL (error)
0790f864cea2 Add a file for miscellaneous auxiliary functions.
ib
parents:
diff changeset
36 *
0790f864cea2 Add a file for miscellaneous auxiliary functions.
ib
parents:
diff changeset
37 * @note Reading stops with an end-of-line character or at end of file.
0790f864cea2 Add a file for miscellaneous auxiliary functions.
ib
parents:
diff changeset
38 */
0790f864cea2 Add a file for miscellaneous auxiliary functions.
ib
parents:
diff changeset
39 char *fgetstr(char *str, int size, FILE *file)
0790f864cea2 Add a file for miscellaneous auxiliary functions.
ib
parents:
diff changeset
40 {
0790f864cea2 Add a file for miscellaneous auxiliary functions.
ib
parents:
diff changeset
41 char *s;
0790f864cea2 Add a file for miscellaneous auxiliary functions.
ib
parents:
diff changeset
42
0790f864cea2 Add a file for miscellaneous auxiliary functions.
ib
parents:
diff changeset
43 s = fgets(str, size, file);
0790f864cea2 Add a file for miscellaneous auxiliary functions.
ib
parents:
diff changeset
44
0790f864cea2 Add a file for miscellaneous auxiliary functions.
ib
parents:
diff changeset
45 if (s)
0790f864cea2 Add a file for miscellaneous auxiliary functions.
ib
parents:
diff changeset
46 s[strcspn(s, "\n\r")] = 0;
0790f864cea2 Add a file for miscellaneous auxiliary functions.
ib
parents:
diff changeset
47
0790f864cea2 Add a file for miscellaneous auxiliary functions.
ib
parents:
diff changeset
48 return s;
0790f864cea2 Add a file for miscellaneous auxiliary functions.
ib
parents:
diff changeset
49 }
37026
b6ff1451035d Constrain an item's value to be in the range of 0 to 100.
ib
parents: 37024
diff changeset
50
b6ff1451035d Constrain an item's value to be in the range of 0 to 100.
ib
parents: 37024
diff changeset
51 /**
b6ff1451035d Constrain an item's value to be in the range of 0 to 100.
ib
parents: 37024
diff changeset
52 * @brief Constrain a @a value to be in the range of 0 to 100.
b6ff1451035d Constrain an item's value to be in the range of 0 to 100.
ib
parents: 37024
diff changeset
53 *
b6ff1451035d Constrain an item's value to be in the range of 0 to 100.
ib
parents: 37024
diff changeset
54 * @param value value to be checked
b6ff1451035d Constrain an item's value to be in the range of 0 to 100.
ib
parents: 37024
diff changeset
55 *
b6ff1451035d Constrain an item's value to be in the range of 0 to 100.
ib
parents: 37024
diff changeset
56 * @return a value in the range of 0 to 100
b6ff1451035d Constrain an item's value to be in the range of 0 to 100.
ib
parents: 37024
diff changeset
57 */
b6ff1451035d Constrain an item's value to be in the range of 0 to 100.
ib
parents: 37024
diff changeset
58 float constrain(float value)
b6ff1451035d Constrain an item's value to be in the range of 0 to 100.
ib
parents: 37024
diff changeset
59 {
b6ff1451035d Constrain an item's value to be in the range of 0 to 100.
ib
parents: 37024
diff changeset
60 if (value < 0.0f)
b6ff1451035d Constrain an item's value to be in the range of 0 to 100.
ib
parents: 37024
diff changeset
61 return 0.0f;
b6ff1451035d Constrain an item's value to be in the range of 0 to 100.
ib
parents: 37024
diff changeset
62 if (value > 100.0f)
b6ff1451035d Constrain an item's value to be in the range of 0 to 100.
ib
parents: 37024
diff changeset
63 return 100.0f;
b6ff1451035d Constrain an item's value to be in the range of 0 to 100.
ib
parents: 37024
diff changeset
64
b6ff1451035d Constrain an item's value to be in the range of 0 to 100.
ib
parents: 37024
diff changeset
65 return value;
b6ff1451035d Constrain an item's value to be in the range of 0 to 100.
ib
parents: 37024
diff changeset
66 }