| 1 /* |
1 /* |
| 2 * ZCinema: Zandronum demo launcher |
2 * ZCinema: Zandronum demo launcher |
| 3 * Copyright (C) 2013 Santeri Piippo |
3 * Copyright (C) 2013-2015 Teemu Piippo |
| 4 * |
4 * |
| 5 * This program is free software: you can redistribute it and/or modify |
5 * This program is free software: you can redistribute it and/or modify |
| 6 * it under the terms of the GNU General Public License as published by |
6 * it under the terms of the GNU General Public License as published by |
| 7 * the Free Software Foundation, either version 3 of the License, or |
7 * the Free Software Foundation, either version 3 of the License, or |
| 8 * (at your option) any later version. |
8 * (at your option) any later version. |
| 14 * |
14 * |
| 15 * You should have received a copy of the GNU General Public License |
15 * You should have received a copy of the GNU General Public License |
| 16 * along with this program. If not, see <http://www.gnu.org/licenses/>. |
16 * along with this program. If not, see <http://www.gnu.org/licenses/>. |
| 17 */ |
17 */ |
| 18 |
18 |
| 19 #ifndef ZCINEMA_MISC_H |
19 #pragma once |
| 20 #define ZCINEMA_MISC_H |
|
| 21 |
|
| 22 #include "types.h" |
20 #include "types.h" |
| 23 |
21 |
| 24 uint32 makeByteID (uint8 a, uint8 b, uint8 c, uint8 d); |
22 uint32 makeByteID (uint8 a, uint8 b, uint8 c, uint8 d); |
| 25 str binaryConfigName (str ver); |
23 QString basename (const QString& path); |
| 26 str basename (str path); |
24 void addVersion (const ZandronumVersion& version); |
| 27 void addVersion (str name, bool isRelease, str binaryPath); |
25 bool confirm (const QString& text); |
| 28 bool confirm (str text); |
|
| 29 |
|
| 30 QList<QVariant> getVersions(); |
26 QList<QVariant> getVersions(); |
| 31 |
27 |
| |
28 // |
| 32 // ----------------------------------------------------------------------------- |
29 // ----------------------------------------------------------------------------- |
| 33 // Templated clamp |
30 // |
| 34 template<class T> static inline T clamp (T a, T min, T max) { |
31 |
| |
32 template<typename T> |
| |
33 T clamp (T a, T min, T max) |
| |
34 { |
| 35 return (a > max) ? max : (a < min) ? min : a; |
35 return (a > max) ? max : (a < min) ? min : a; |
| 36 } |
36 } |
| 37 |
37 |
| 38 // Templated minimum |
38 // |
| 39 template<class T> static inline T min (T a, T b) { |
39 // ----------------------------------------------------------------------------- |
| |
40 // |
| |
41 |
| |
42 template<typename T> |
| |
43 T min (T a, T b) |
| |
44 { |
| 40 return (a < b) ? a : b; |
45 return (a < b) ? a : b; |
| 41 } |
46 } |
| 42 |
47 |
| 43 // Templated maximum |
48 // |
| 44 template<class T> static inline T max (T a, T b) { |
49 // ----------------------------------------------------------------------------- |
| |
50 // |
| |
51 |
| |
52 template<typename T> |
| |
53 T max (T a, T b) |
| |
54 { |
| 45 return (a > b) ? a : b; |
55 return (a > b) ? a : b; |
| 46 } |
56 } |
| 47 |
57 |
| 48 // Templated absolute value |
58 // |
| 49 template<class T> static inline T abs (T a) { |
59 // ----------------------------------------------------------------------------- |
| 50 return (a >= 0) ? a : -a; |
60 // |
| |
61 |
| |
62 template<typename T> |
| |
63 T abs (T a) |
| |
64 { |
| |
65 return (a < 0) ? -a : a; |
| 51 } |
66 } |
| 52 |
|
| 53 #endif // ZCINEMA_MISC_H |
|