src/misc.h

changeset 37
c82a86ea87be
parent 30
6b82f6a3ad53
child 39
2c368cf5cc19
equal deleted inserted replaced
36:b8fa9171be6e 37:c82a86ea87be
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

mercurial