commonlib/misc.h

changeset 46
07578e081ae8
parent 44
d0bf58f3560f
child 56
bdbbde5f754e
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/commonlib/misc.h	Sat Jun 06 23:12:59 2015 +0300
@@ -0,0 +1,70 @@
+/*
+ *  ZCinema: Zandronum demo launcher
+ *  Copyright (C) 2013-2015 Teemu Piippo
+ *
+ *  This program is free software: you can redistribute it and/or modify
+ *  it under the terms of the GNU General Public License as published by
+ *  the Free Software Foundation, either version 3 of the License, or
+ *  (at your option) any later version.
+ *
+ *  This program is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU General Public License for more details.
+ *
+ *  You should have received a copy of the GNU General Public License
+ *  along with this program.  If not, see <http://www.gnu.org/licenses/>.
+ */
+
+#pragma once
+#include "types.h"
+
+inline quint32 makeByteID (quint8 a, quint8 b, quint8 c, quint8 d)
+{
+	return a | (b << 8) | (c << 16) | (d << 24);
+}
+
+void commonInit();
+QString basename (const QString& path);
+bool confirm (const QString& text);
+QString getBinaryPath (QWidget* parent);
+
+//
+// -----------------------------------------------------------------------------
+//
+
+template<typename T>
+T clamp (T a, T min, T max)
+{
+	return (a > max) ? max : (a < min) ? min : a;
+}
+
+//
+// -----------------------------------------------------------------------------
+//
+
+template<typename T>
+T min (T a, T b)
+{
+	return (a < b) ? a : b;
+}
+
+//
+// -----------------------------------------------------------------------------
+//
+
+template<typename T>
+T max (T a, T b)
+{
+	return (a > b) ? a : b;
+}
+
+//
+// -----------------------------------------------------------------------------
+//
+
+template<typename T>
+T abs (T a)
+{
+	return (a < 0) ? -a : a;
+}
\ No newline at end of file

mercurial