add renderer abstraction

This commit is contained in:
Sven Balzer
2026-07-03 10:14:10 +02:00
parent f8f82bc653
commit aaa5b2078b
118 changed files with 1852545 additions and 1052 deletions
@@ -0,0 +1,158 @@
// THIS FILE HAS BEEN AUTO-GENERATED BY THE 'DEAR BINDINGS' GENERATOR.
// **DO NOT EDIT DIRECTLY**
// https://github.com/dearimgui/dear_bindings
#include "imgui.h"
#include "imgui_impl_win32.h"
#include <stdio.h>
#ifndef WIN32_LEAN_AND_MEAN
#define WIN32_LEAN_AND_MEAN
#endif
#include <windows.h>
// This define indicates that we have windows.h included
#define IMGUI_BACKEND_HAS_WINDOWS_H
// We need to manually declare this
extern IMGUI_IMPL_API LRESULT ImGui_ImplWin32_WndProcHandler(HWND hWnd, UINT msg, WPARAM wParam, LPARAM lParam);
// Wrap this in a namespace to keep it separate from the C++ API
// This define prevents #defines in the header getting defined again (as they are already in the normal header above),
// and thus generating redefinition warnings
#define DEAR_BINDINGS_INTERNAL_GLUE_CODE
namespace cimgui
{
#include "dcimgui_impl_win32.h"
}
#undef DEAR_BINDINGS_INTERNAL_GLUE_CODE
// By-value struct conversions
static inline cimgui::ImVec2 ConvertFromCPP_ImVec2(const ::ImVec2& src)
{
cimgui::ImVec2 dest;
dest.x = src.x;
dest.y = src.y;
return dest;
}
static inline ::ImVec2 ConvertToCPP_ImVec2(const cimgui::ImVec2& src)
{
::ImVec2 dest;
dest.x = src.x;
dest.y = src.y;
return dest;
}
static inline cimgui::ImVec4 ConvertFromCPP_ImVec4(const ::ImVec4& src)
{
cimgui::ImVec4 dest;
dest.x = src.x;
dest.y = src.y;
dest.z = src.z;
dest.w = src.w;
return dest;
}
static inline ::ImVec4 ConvertToCPP_ImVec4(const cimgui::ImVec4& src)
{
::ImVec4 dest;
dest.x = src.x;
dest.y = src.y;
dest.z = src.z;
dest.w = src.w;
return dest;
}
static inline cimgui::ImTextureRef ConvertFromCPP_ImTextureRef(const ::ImTextureRef& src)
{
cimgui::ImTextureRef dest;
dest._TexData = reinterpret_cast<cimgui::ImTextureData*>(src._TexData);
dest._TexID = src._TexID;
return dest;
}
static inline ::ImTextureRef ConvertToCPP_ImTextureRef(const cimgui::ImTextureRef& src)
{
::ImTextureRef dest;
dest._TexData = reinterpret_cast<::ImTextureData*>(src._TexData);
dest._TexID = src._TexID;
return dest;
}
static inline cimgui::ImColor ConvertFromCPP_ImColor(const ::ImColor& src)
{
cimgui::ImColor dest;
dest.Value.x = src.Value.x;
dest.Value.y = src.Value.y;
dest.Value.z = src.Value.z;
dest.Value.w = src.Value.w;
return dest;
}
static inline ::ImColor ConvertToCPP_ImColor(const cimgui::ImColor& src)
{
::ImColor dest;
dest.Value.x = src.Value.x;
dest.Value.y = src.Value.y;
dest.Value.z = src.Value.z;
dest.Value.w = src.Value.w;
return dest;
}
// Function stubs
#ifndef IMGUI_DISABLE
CIMGUI_IMPL_API bool cimgui::cImGui_ImplWin32_Init(void* hwnd)
{
return ::ImGui_ImplWin32_Init(hwnd);
}
CIMGUI_IMPL_API bool cimgui::cImGui_ImplWin32_InitForOpenGL(void* hwnd)
{
return ::ImGui_ImplWin32_InitForOpenGL(hwnd);
}
CIMGUI_IMPL_API void cimgui::cImGui_ImplWin32_Shutdown(void)
{
::ImGui_ImplWin32_Shutdown();
}
CIMGUI_IMPL_API void cimgui::cImGui_ImplWin32_NewFrame(void)
{
::ImGui_ImplWin32_NewFrame();
}
#ifdef IMGUI_BACKEND_HAS_WINDOWS_H
CIMGUI_IMPL_API LRESULT cimgui::cImGui_ImplWin32_WndProcHandler(HWND hWnd, UINT msg, WPARAM wParam, LPARAM lParam)
{
return ::ImGui_ImplWin32_WndProcHandler(hWnd, msg, wParam, lParam);
}
#endif // #ifdef IMGUI_BACKEND_HAS_WINDOWS_H
CIMGUI_IMPL_API void cimgui::cImGui_ImplWin32_EnableDpiAwareness(void)
{
::ImGui_ImplWin32_EnableDpiAwareness();
}
CIMGUI_IMPL_API float cimgui::cImGui_ImplWin32_GetDpiScaleForHwnd(void* hwnd)
{
return ::ImGui_ImplWin32_GetDpiScaleForHwnd(hwnd);
}
CIMGUI_IMPL_API float cimgui::cImGui_ImplWin32_GetDpiScaleForMonitor(void* monitor)
{
return ::ImGui_ImplWin32_GetDpiScaleForMonitor(monitor);
}
CIMGUI_IMPL_API void cimgui::cImGui_ImplWin32_EnableAlphaCompositing(void* hwnd)
{
::ImGui_ImplWin32_EnableAlphaCompositing(hwnd);
}
#endif // #ifndef IMGUI_DISABLE