diff --git a/src/timer/timer_window.h b/src/timer/timer_window.h
new file mode 100644
--- /dev/null
+++ b/src/timer/timer_window.h
@@ -0,0 +1,35 @@
+/*
+ * This file is part of OpenTTD.
+ * OpenTTD 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, version 2.
+ * OpenTTD 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 OpenTTD. If not, see .
+ */
+
+/** @file timer_window.h Definition of the Window system */
+
+#ifndef TIMER_WINDOW_H
+#define TIMER_WINDOW_H
+
+#include
+
+/**
+ * Timer that represents the real time, usable for the Window system.
+ *
+ * This can be used to create intervals based on milliseconds, seconds, etc.
+ * Mostly used for animation, scrolling, etc.
+ *
+ * Please be mindful that the order in which timers are called is not guaranteed.
+ *
+ * @note The lowest possible interval is 1ms.
+ * @note These timers can only be used in the Window system.
+ */
+class TimerWindow {
+public:
+ using TPeriod = std::chrono::milliseconds;
+ using TElapsed = std::chrono::milliseconds;
+ struct TStorage {
+ std::chrono::milliseconds elapsed;
+ };
+};
+
+#endif /* TIMER_WINDOW_H */