1 /*****************************************************************************
2  * Copyright (c) 2014-2020 OpenRCT2 developers
3  *
4  * For a complete list of all authors, please refer to contributors.md
5  * Interested in contributing? Visit https://github.com/OpenRCT2/OpenRCT2
6  *
7  * OpenRCT2 is licensed under the GNU General Public License version 3.
8  *****************************************************************************/
9 
10 #pragma once
11 
12 #include <openrct2/interface/Window.h>
13 #include <openrct2/interface/Window_internal.h>
14 
15 struct Window : rct_window
16 {
17     virtual bool IsLegacy() override;
18     virtual void OnDraw(rct_drawpixelinfo& dpi) override;
19     virtual void OnDrawWidget(rct_widgetindex widgetIndex, rct_drawpixelinfo& dpi) override;
20 
21     void InvalidateWidget(rct_widgetindex widgetIndex);
22     bool IsWidgetDisabled(rct_widgetindex widgetIndex) const;
23     bool IsWidgetPressed(rct_widgetindex widgetIndex) const;
24     void SetWidgetDisabled(rct_widgetindex widgetIndex, bool value);
25     void SetWidgetPressed(rct_widgetindex widgetIndex, bool value);
26     void SetCheckboxValue(rct_widgetindex widgetIndex, bool value);
27     void DrawWidgets(rct_drawpixelinfo& dpi);
28     void Close();
29     void TextInputOpen(
30         rct_widgetindex callWidget, rct_string_id title, rct_string_id description, const Formatter& descriptionArgs,
31         rct_string_id existingText, uintptr_t existingArgs, int32_t maxLength);
32 };
33 
34 void WindowAllWheelInput();
35 void ApplyScreenSaverLockSetting();
36