|
OpenTTD Source 20251117-master-g7398d2e290
|
Implementation of the Windows (GDI) video driver. More...
#include "../stdafx.h"#include "../openttd.h"#include "../error_func.h"#include "../gfx_func.h"#include "../os/windows/win32.h"#include "../blitter/factory.hpp"#include "../core/geometry_func.hpp"#include "../core/math_func.hpp"#include "../core/random_func.hpp"#include "../texteff.hpp"#include "../thread.h"#include "../progress.h"#include "../window_gui.h"#include "../window_func.h"#include "../framerate_type.h"#include "../library_loader.h"#include "../core/utf8.hpp"#include "win32_v.h"#include <windows.h>#include <imm.h>#include <versionhelpers.h>#include "../safeguards.h"Go to the source code of this file.
Data Structures | |
| struct | Win32VkMapping |
Macros | |
| #define | MAPVK_VK_TO_CHAR (2) |
| #define | PM_QS_INPUT 0x20000 |
| #define | WM_DPICHANGED 0x02E0 |
| #define | AS(x, z) {x, 1, z} |
| #define | AM(x, y, z, w) {x, y - x + 1, z} |
| #define | WM_MOUSEWHEEL 0x020A |
| #define | WM_MOUSEHWHEEL 0x020E |
| #define | GET_WHEEL_DELTA_WPARAM(wparam) ((short)HIWORD(wparam)) |
Functions | |
| static uint | MapWindowsKey (uint sym) |
| static LRESULT | HandleCharMsg (uint keycode, char32_t charcode) |
| Forward key presses to the window system. | |
| static bool | DrawIMECompositionString () |
| Should we draw the composition string ourself, i.e is this a normal IME? | |
| static void | SetCompositionPos (HWND hwnd) |
| Set position of the composition window to the caret position. | |
| static void | SetCandidatePos (HWND hwnd) |
| Set the position of the candidate window. | |
| static LRESULT | HandleIMEComposition (HWND hwnd, WPARAM wParam, LPARAM lParam) |
| Handle WM_IME_COMPOSITION messages. | |
| static void | CancelIMEComposition (HWND hwnd) |
| Clear the current composition string. | |
| static bool | IsDarkModeEnabled () |
| static void | SetDarkModeForWindow (HWND hWnd, bool dark_mode) |
| LRESULT CALLBACK | WndProcGdi (HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam) |
| static void | RegisterWndClass () |
| static void | FindResolutions (uint8_t bpp) |
| static BOOL CALLBACK | MonitorEnumProc (HMONITOR hMonitor, HDC, LPRECT, LPARAM data) |
Variables | |
| bool | _window_maximize |
| static Dimension | _bck_resolution |
| DWORD | _imm_props |
| static Palette | _local_palette |
| Current palette to use for drawing. | |
| static const Win32VkMapping | _vk_mapping [] |
| static const Dimension | default_resolutions [] |
| static FVideoDriver_Win32GDI | iFVideoDriver_Win32GDI |
Implementation of the Windows (GDI) video driver.
Definition in file win32_v.cpp.
| #define AM | ( | x, | |
| y, | |||
| z, | |||
| w | |||
| ) | {x, y - x + 1, z} |
Definition at line 76 of file win32_v.cpp.
| #define AS | ( | x, | |
| z | |||
| ) | {x, 1, z} |
Definition at line 75 of file win32_v.cpp.
| #define MAPVK_VK_TO_CHAR (2) |
Definition at line 46 of file win32_v.cpp.
| #define PM_QS_INPUT 0x20000 |
Definition at line 50 of file win32_v.cpp.
| #define WM_DPICHANGED 0x02E0 |
Definition at line 54 of file win32_v.cpp.
|
static |
Clear the current composition string.
Definition at line 402 of file win32_v.cpp.
References HandleTextInput().
Referenced by VideoDriver_Win32Base::EditBoxLostFocus().
|
static |
Should we draw the composition string ourself, i.e is this a normal IME?
Definition at line 278 of file win32_v.cpp.
Referenced by HandleIMEComposition().
|
static |
Definition at line 919 of file win32_v.cpp.
|
static |
Forward key presses to the window system.
Definition at line 251 of file win32_v.cpp.
References Debug, HandleKeypress(), Utf16DecodeSurrogate(), Utf16IsLeadSurrogate(), and Utf16IsTrailSurrogate().
|
static |
Handle WM_IME_COMPOSITION messages.
Definition at line 340 of file win32_v.cpp.
References convert_from_fs(), DrawIMECompositionString(), FS2OTTD(), HandleTextInput(), SetCompositionPos(), and Utf16IsLeadSurrogate().
|
static |
Definition at line 445 of file win32_v.cpp.
|
static |
Definition at line 119 of file win32_v.cpp.
|
static |
Definition at line 1060 of file win32_v.cpp.
|
static |
Definition at line 881 of file win32_v.cpp.
|
static |
Set the position of the candidate window.
Definition at line 306 of file win32_v.cpp.
References NWidgetBase::current_x, NWidgetBase::current_y, EditBoxInGlobalFocus(), Window::GetCaretPosition(), Window::height, Window::left, Window::nested_focus, NWidgetBase::pos_x, NWidgetBase::pos_y, Window::top, WC_CONSOLE, Window::width, Window::window_class, Coord2D< T >::x, and Coord2D< T >::y.
Referenced by VideoDriver_Win32Base::EditBoxLostFocus().
|
static |
Set position of the composition window to the caret position.
Definition at line 284 of file win32_v.cpp.
References EditBoxInGlobalFocus(), Window::GetCaretPosition(), Window::left, Window::top, Coord2D< T >::x, and Coord2D< T >::y.
Referenced by VideoDriver_Win32Base::EditBoxLostFocus(), and HandleIMEComposition().
|
static |
Definition at line 474 of file win32_v.cpp.
| LRESULT CALLBACK WndProcGdi | ( | HWND | hwnd, |
| UINT | msg, | ||
| WPARAM | wParam, | ||
| LPARAM | lParam | ||
| ) |
Definition at line 498 of file win32_v.cpp.
|
static |
Definition at line 58 of file win32_v.cpp.
| DWORD _imm_props |
Definition at line 59 of file win32_v.cpp.
|
static |
Current palette to use for drawing.
Definition at line 61 of file win32_v.cpp.
Referenced by VideoDriver_Win32Base::CheckPaletteAnim(), and VideoDriver_Win32GDI::Paint().
|
static |
Definition at line 78 of file win32_v.cpp.
| bool _window_maximize |
Definition at line 57 of file win32_v.cpp.
|
static |
Definition at line 905 of file win32_v.cpp.
|
static |
Definition at line 1113 of file win32_v.cpp.