Raven Engine v0.1
A modern 3D Game Engine
Loading...
Searching...
No Matches
imgui_impl_win32.cpp File Reference
#include "ilpch.h"
#include "imgui.h"
#include "imgui_impl_win32.h"
#include <windows.h>
#include <windowsx.h>
#include <tchar.h>
#include <dwmapi.h>
#include <xinput.h>

Classes

struct  ImGui_ImplWin32_Data
struct  ImGui_ImplWin32_ViewportData

Namespaces

namespace  ImGui

Macros

#define WIN32_LEAN_AND_MEAN
#define IM_SATURATE(V)
#define MAP_BUTTON(KEY_NO, BUTTON_ENUM)
#define MAP_ANALOG(KEY_NO, VALUE, V0, V1)
#define WM_MOUSEHWHEEL   0x020E
#define DBT_DEVNODES_CHANGED   0x0007
#define WM_DPICHANGED   0x02E0
#define _IsWindowsVistaOrGreater()
#define _IsWindows8OrGreater()
#define _IsWindows8Point1OrGreater()
#define _IsWindows10OrGreater()
#define DPI_AWARENESS_CONTEXT_PER_MONITOR_AWARE   (DPI_AWARENESS_CONTEXT) - 3
#define DPI_AWARENESS_CONTEXT_PER_MONITOR_AWARE_V2   (DPI_AWARENESS_CONTEXT) - 4

Typedefs

typedef DWORD(WINAPI * PFN_XInputGetCapabilities) (DWORD, DWORD, XINPUT_CAPABILITIES *)
typedef DWORD(WINAPI * PFN_XInputGetState) (DWORD, XINPUT_STATE *)
typedef HRESULT(WINAPI * PFN_SetProcessDpiAwareness) (PROCESS_DPI_AWARENESS)
typedef HRESULT(WINAPI * PFN_GetDpiForMonitor) (HMONITOR, MONITOR_DPI_TYPE, UINT *, UINT *)
typedef DPI_AWARENESS_CONTEXT(WINAPI * PFN_SetThreadDpiAwarenessContext) (DPI_AWARENESS_CONTEXT)

Enumerations

enum  PROCESS_DPI_AWARENESS { PROCESS_DPI_UNAWARE = 0 , PROCESS_SYSTEM_DPI_AWARE = 1 , PROCESS_PER_MONITOR_DPI_AWARE = 2 }
enum  MONITOR_DPI_TYPE { MDT_EFFECTIVE_DPI = 0 , MDT_ANGULAR_DPI = 1 , MDT_RAW_DPI = 2 , MDT_DEFAULT = MDT_EFFECTIVE_DPI }

Functions

ILLUMINE_API bool ImGui_ImplWin32_Init (void *hwnd)
ILLUMINE_API bool ImGui_ImplWin32_InitForOpenGL (void *hwnd)
void ImGui_ImplWin32_Shutdown ()
void ImGui_ImplWin32_NewFrame ()
ImGuiKey ImGui_ImplWin32_KeyEventToImGuiKey (WPARAM wParam, LPARAM lParam)
ILLUMINE_API LRESULT ImGui_ImplWin32_WndProcHandler (HWND hWnd, UINT msg, WPARAM wParam, LPARAM lParam)
ILLUMINE_API LRESULT ImGui_ImplWin32_WndProcHandlerEx (HWND hWnd, UINT msg, WPARAM wParam, LPARAM lParam, ImGuiIO &io)
 DECLARE_HANDLE (DPI_AWARENESS_CONTEXT)
void ImGui_ImplWin32_EnableDpiAwareness ()
float ImGui_ImplWin32_GetDpiScaleForMonitor (void *monitor)
float ImGui_ImplWin32_GetDpiScaleForHwnd (void *hwnd)
void ImGui_ImplWin32_EnableAlphaCompositing (void *hwnd)
ImGuiIO & ImGui::GetIO (ImGuiContext *)
ImGuiPlatformIO & ImGui::GetPlatformIO (ImGuiContext *)

Macro Definition Documentation

◆ _IsWindows10OrGreater

#define _IsWindows10OrGreater ( )
Value:
_IsWindowsVersionOrGreater(HIBYTE(0x0A00), LOBYTE(0x0A00), 0)

◆ _IsWindows8OrGreater

#define _IsWindows8OrGreater ( )
Value:
_IsWindowsVersionOrGreater(HIBYTE(0x0602), LOBYTE(0x0602), 0)

◆ _IsWindows8Point1OrGreater

#define _IsWindows8Point1OrGreater ( )
Value:
_IsWindowsVersionOrGreater(HIBYTE(0x0603), LOBYTE(0x0603), 0)

◆ _IsWindowsVistaOrGreater

#define _IsWindowsVistaOrGreater ( )
Value:
_IsWindowsVersionOrGreater(HIBYTE(0x0600), LOBYTE(0x0600), 0)

◆ DBT_DEVNODES_CHANGED

#define DBT_DEVNODES_CHANGED   0x0007

◆ DPI_AWARENESS_CONTEXT_PER_MONITOR_AWARE

#define DPI_AWARENESS_CONTEXT_PER_MONITOR_AWARE   (DPI_AWARENESS_CONTEXT) - 3

◆ DPI_AWARENESS_CONTEXT_PER_MONITOR_AWARE_V2

#define DPI_AWARENESS_CONTEXT_PER_MONITOR_AWARE_V2   (DPI_AWARENESS_CONTEXT) - 4

◆ IM_SATURATE

#define IM_SATURATE ( V)
Value:
(V < 0.0f ? 0.0f : V > 1.0f ? 1.0f : V)

◆ MAP_ANALOG

#define MAP_ANALOG ( KEY_NO,
VALUE,
V0,
V1 )
Value:
{ \
float vn = (float) (VALUE - V0) / (float) (V1 - V0); \
io.AddKeyAnalogEvent(KEY_NO, vn > 0.10f, IM_SATURATE(vn)); \
}
#define IM_SATURATE(V)

◆ MAP_BUTTON

#define MAP_BUTTON ( KEY_NO,
BUTTON_ENUM )
Value:
{ \
io.AddKeyEvent(KEY_NO, (gamepad.wButtons & BUTTON_ENUM) != 0); \
}

◆ WIN32_LEAN_AND_MEAN

#define WIN32_LEAN_AND_MEAN

◆ WM_DPICHANGED

#define WM_DPICHANGED   0x02E0

◆ WM_MOUSEHWHEEL

#define WM_MOUSEHWHEEL   0x020E

Typedef Documentation

◆ PFN_GetDpiForMonitor

typedef HRESULT(WINAPI * PFN_GetDpiForMonitor) (HMONITOR, MONITOR_DPI_TYPE, UINT *, UINT *)

◆ PFN_SetProcessDpiAwareness

typedef HRESULT(WINAPI * PFN_SetProcessDpiAwareness) (PROCESS_DPI_AWARENESS)

◆ PFN_SetThreadDpiAwarenessContext

typedef DPI_AWARENESS_CONTEXT(WINAPI * PFN_SetThreadDpiAwarenessContext) (DPI_AWARENESS_CONTEXT)

◆ PFN_XInputGetCapabilities

typedef DWORD(WINAPI * PFN_XInputGetCapabilities) (DWORD, DWORD, XINPUT_CAPABILITIES *)

◆ PFN_XInputGetState

typedef DWORD(WINAPI * PFN_XInputGetState) (DWORD, XINPUT_STATE *)

Enumeration Type Documentation

◆ MONITOR_DPI_TYPE

Enumerator
MDT_EFFECTIVE_DPI 
MDT_ANGULAR_DPI 
MDT_RAW_DPI 
MDT_DEFAULT 

◆ PROCESS_DPI_AWARENESS

Enumerator
PROCESS_DPI_UNAWARE 
PROCESS_SYSTEM_DPI_AWARE 
PROCESS_PER_MONITOR_DPI_AWARE 

Function Documentation

◆ DECLARE_HANDLE()

DECLARE_HANDLE ( DPI_AWARENESS_CONTEXT )

◆ ImGui_ImplWin32_EnableAlphaCompositing()

void ImGui_ImplWin32_EnableAlphaCompositing ( void * hwnd)

◆ ImGui_ImplWin32_EnableDpiAwareness()

void ImGui_ImplWin32_EnableDpiAwareness ( )

◆ ImGui_ImplWin32_GetDpiScaleForHwnd()

float ImGui_ImplWin32_GetDpiScaleForHwnd ( void * hwnd)

◆ ImGui_ImplWin32_GetDpiScaleForMonitor()

float ImGui_ImplWin32_GetDpiScaleForMonitor ( void * monitor)

◆ ImGui_ImplWin32_Init()

ILLUMINE_API bool ImGui_ImplWin32_Init ( void * hwnd)

◆ ImGui_ImplWin32_InitForOpenGL()

ILLUMINE_API bool ImGui_ImplWin32_InitForOpenGL ( void * hwnd)

◆ ImGui_ImplWin32_KeyEventToImGuiKey()

ImGuiKey ImGui_ImplWin32_KeyEventToImGuiKey ( WPARAM wParam,
LPARAM lParam )

◆ ImGui_ImplWin32_NewFrame()

void ImGui_ImplWin32_NewFrame ( )

◆ ImGui_ImplWin32_Shutdown()

void ImGui_ImplWin32_Shutdown ( )

◆ ImGui_ImplWin32_WndProcHandler()

ILLUMINE_API LRESULT ImGui_ImplWin32_WndProcHandler ( HWND hWnd,
UINT msg,
WPARAM wParam,
LPARAM lParam )
extern

◆ ImGui_ImplWin32_WndProcHandlerEx()

ILLUMINE_API LRESULT ImGui_ImplWin32_WndProcHandlerEx ( HWND hWnd,
UINT msg,
WPARAM wParam,
LPARAM lParam,
ImGuiIO & io )
extern