imgui_impl_win32.h
Go to the documentation of this file.
1 // dear imgui: Platform Binding for Windows (standard windows API for 32 and 64 bits applications)
2 // This needs to be used along with a Renderer (e.g. DirectX11, OpenGL3, Vulkan..)
3 
4 // Implemented features:
5 // [X] Platform: Clipboard support (for Win32 this is actually part of core dear imgui)
6 // [X] Platform: Mouse cursor shape and visibility. Disable with 'io.ConfigFlags |= ImGuiConfigFlags_NoMouseCursorChange'.
7 // [X] Platform: Keyboard arrays indexed using VK_* Virtual Key Codes, e.g. ImGui::IsKeyPressed(VK_SPACE).
8 // [X] Platform: Gamepad support. Enabled with 'io.ConfigFlags |= ImGuiConfigFlags_NavEnableGamepad'.
9 
10 #pragma once
11 
12 IMGUI_IMPL_API bool ImGui_ImplWin32_Init(void* hwnd);
15 
16 // Configuration: Disable gamepad support or linking with xinput.lib
17 //#define IMGUI_IMPL_WIN32_DISABLE_GAMEPAD
18 //#define IMGUI_IMPL_WIN32_DISABLE_LINKING_XINPUT
19 
20 // Win32 message handler
21 // - Intentionally commented out in a '#if 0' block to avoid dragging dependencies on <windows.h>
22 // - You can COPY this line into your .cpp code to forward declare the function.
23 #if 0
24 extern IMGUI_IMPL_API LRESULT ImGui_ImplWin32_WndProcHandler(HWND hWnd, UINT msg, WPARAM wParam, LPARAM lParam);
25 #endif
26 
27 // DPI-related helpers (optional)
28 // - Use to enable DPI awareness without having to create an application manifest.
29 // - Your own app may already do this via a manifest or explicit calls. This is mostly useful for our examples/ apps.
30 // - In theory we could call simple functions from Windows SDK such as SetProcessDPIAware(), SetProcessDpiAwareness(), etc.
31 // but most of the functions provided by Microsoft require Windows 8.1/10+ SDK at compile time and Windows 8/10+ at runtime,
32 // neither we want to require the user to have. So we dynamically select and load those functions to avoid dependencies.
34 IMGUI_IMPL_API float ImGui_ImplWin32_GetDpiScaleForHwnd(void* hwnd); // HWND hwnd
35 IMGUI_IMPL_API float ImGui_ImplWin32_GetDpiScaleForMonitor(void* monitor); // HMONITOR monitor
ImGui_ImplWin32_GetDpiScaleForMonitor
IMGUI_IMPL_API float ImGui_ImplWin32_GetDpiScaleForMonitor(void *monitor)
Definition: imgui_impl_win32.cpp:415
ImGui_ImplWin32_NewFrame
IMGUI_IMPL_API void ImGui_ImplWin32_NewFrame()
Definition: imgui_impl_win32.cpp:214
ImGui_ImplWin32_Init
IMGUI_IMPL_API bool ImGui_ImplWin32_Init(void *hwnd)
Definition: imgui_impl_win32.cpp:64
IMGUI_IMPL_API
#define IMGUI_IMPL_API
Definition: imgui.h:73
ImGui_ImplWin32_EnableDpiAwareness
IMGUI_IMPL_API void ImGui_ImplWin32_EnableDpiAwareness()
Definition: imgui_impl_win32.cpp:388
ImGui_ImplWin32_WndProcHandler
IMGUI_IMPL_API LRESULT ImGui_ImplWin32_WndProcHandler(HWND hWnd, UINT msg, WPARAM wParam, LPARAM lParam)
Definition: imgui_impl_win32.cpp:272
ImGui_ImplWin32_Shutdown
IMGUI_IMPL_API void ImGui_ImplWin32_Shutdown()
Definition: imgui_impl_win32.cpp:106
ImGui_ImplWin32_GetDpiScaleForHwnd
IMGUI_IMPL_API float ImGui_ImplWin32_GetDpiScaleForHwnd(void *hwnd)
Definition: imgui_impl_win32.cpp:435


libaditof
Author(s):
autogenerated on Wed May 21 2025 02:06:54