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 |
|