[SM91] Update to Spidermonkey 91.1.3 APIs
[0ad.git] / libraries / source / spidermonkey / include-win32-debug / mozilla / WindowsDpiInitialization.h
blob5943d50526e302b573e09c433766977fa342d1b2
1 /* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
2 /* This Source Code Form is subject to the terms of the Mozilla Public
3 * License, v. 2.0. If a copy of the MPL was not distributed with this
4 * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
6 #ifndef MOZILLA_MOZGLUE_MISC_WINDOWSDPIINITIALIZATION_H_
7 #define MOZILLA_MOZGLUE_MISC_WINDOWSDPIINITIALIZATION_H_
8 #include "mozilla/Types.h"
10 namespace mozilla {
12 // The result codes that may be returned from WindowsDpiInitialization()
13 enum class WindowsDpiInitializationResult : uint32_t {
14 Success,
15 FindSetProcessDpiAwarenessContextFailed,
16 SetProcessDpiAwarenessContextFailed,
17 FindSetProcessDpiAwarenessFailed,
18 SetProcessDpiAwarenessFailed,
19 SetProcessDPIAwareFailed,
22 // Get a string representation of any WindowsDpiInitializationResult value
23 inline const char* WindowsDpiInitializationResultString(
24 WindowsDpiInitializationResult result) {
25 switch (result) {
26 case WindowsDpiInitializationResult::Success:
27 return "Success";
28 case WindowsDpiInitializationResult::
29 FindSetProcessDpiAwarenessContextFailed:
30 return "Failed to find SetProcessDpiAwarenessContext";
31 case WindowsDpiInitializationResult::SetProcessDpiAwarenessContextFailed:
32 return "SetProcessDpiAwarenessContext failed";
33 case WindowsDpiInitializationResult::FindSetProcessDpiAwarenessFailed:
34 return "Failed to find SetProcessDpiAwareness";
35 case WindowsDpiInitializationResult::SetProcessDpiAwarenessFailed:
36 return "SetProcessDpiAwareness failed";
37 case WindowsDpiInitializationResult::SetProcessDPIAwareFailed:
38 return "SetProcessDPIAware failed";
39 default:
40 return "Unknown result";
44 // Initialize DPI awareness to the best available for the current OS
45 // According to MSDN, this will be:
46 // Per-Monitor V2 for Windows 10 Creators Update (1703) and later
47 // Per-Monitor V1 for Windows 8.1 and later
48 // System DPI for Vista and later (we don't support anything older)
49 // https://docs.microsoft.com/en-us/windows/win32/hidpi/high-dpi-desktop-application-development-on-windows
50 MFBT_API WindowsDpiInitializationResult WindowsDpiInitialization();
52 } // namespace mozilla
54 #endif // MOZILLA_MOZGLUE_MISC_WINDOWSDPIINITIALIZATION_H_