src/misc.h

changeset 44
d0bf58f3560f
parent 43
1394901b557a
child 45
f5b526a3423a
equal deleted inserted replaced
43:1394901b557a 44:d0bf58f3560f
1 /*
2 * ZCinema: Zandronum demo launcher
3 * Copyright (C) 2013-2015 Teemu Piippo
4 *
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
7 * the Free Software Foundation, either version 3 of the License, or
8 * (at your option) any later version.
9 *
10 * This program is distributed in the hope that it will be useful,
11 * but WITHOUT ANY WARRANTY; without even the implied warranty of
12 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 * GNU General Public License for more details.
14 *
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/>.
17 */
18
19 #pragma once
20 #include "types.h"
21
22 uint32 makeByteID (uint8 a, uint8 b, uint8 c, uint8 d);
23 QString basename (const QString& path);
24 bool confirm (const QString& text);
25 QList<QVariant> getVersions();
26 QString getBinaryPath (QWidget* parent);
27
28 //
29 // -----------------------------------------------------------------------------
30 //
31
32 template<typename T>
33 T clamp (T a, T min, T max)
34 {
35 return (a > max) ? max : (a < min) ? min : a;
36 }
37
38 //
39 // -----------------------------------------------------------------------------
40 //
41
42 template<typename T>
43 T min (T a, T b)
44 {
45 return (a < b) ? a : b;
46 }
47
48 //
49 // -----------------------------------------------------------------------------
50 //
51
52 template<typename T>
53 T max (T a, T b)
54 {
55 return (a > b) ? a : b;
56 }
57
58 //
59 // -----------------------------------------------------------------------------
60 //
61
62 template<typename T>
63 T abs (T a)
64 {
65 return (a < 0) ? -a : a;
66 }

mercurial