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