add renderer abstraction
This commit is contained in:
@@ -0,0 +1,142 @@
|
||||
// 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_allegro5.h"
|
||||
|
||||
#include <stdio.h>
|
||||
|
||||
// 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_allegro5.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_ImplAllegro5_Init(cimgui::ALLEGRO_DISPLAY* display)
|
||||
{
|
||||
return ::ImGui_ImplAllegro5_Init(reinterpret_cast<::ALLEGRO_DISPLAY*>(display));
|
||||
}
|
||||
|
||||
CIMGUI_IMPL_API void cimgui::cImGui_ImplAllegro5_Shutdown(void)
|
||||
{
|
||||
::ImGui_ImplAllegro5_Shutdown();
|
||||
}
|
||||
|
||||
CIMGUI_IMPL_API void cimgui::cImGui_ImplAllegro5_NewFrame(void)
|
||||
{
|
||||
::ImGui_ImplAllegro5_NewFrame();
|
||||
}
|
||||
|
||||
CIMGUI_IMPL_API void cimgui::cImGui_ImplAllegro5_RenderDrawData(cimgui::ImDrawData* draw_data)
|
||||
{
|
||||
::ImGui_ImplAllegro5_RenderDrawData(reinterpret_cast<::ImDrawData*>(draw_data));
|
||||
}
|
||||
|
||||
CIMGUI_IMPL_API bool cimgui::cImGui_ImplAllegro5_ProcessEvent(cimgui::ALLEGRO_EVENT* event)
|
||||
{
|
||||
return ::ImGui_ImplAllegro5_ProcessEvent(reinterpret_cast<::ALLEGRO_EVENT*>(event));
|
||||
}
|
||||
|
||||
CIMGUI_IMPL_API void cimgui::cImGui_ImplAllegro5_SetDisplay(cimgui::ALLEGRO_DISPLAY* display)
|
||||
{
|
||||
::ImGui_ImplAllegro5_SetDisplay(reinterpret_cast<::ALLEGRO_DISPLAY*>(display));
|
||||
}
|
||||
|
||||
CIMGUI_IMPL_API bool cimgui::cImGui_ImplAllegro5_CreateDeviceObjects(void)
|
||||
{
|
||||
return ::ImGui_ImplAllegro5_CreateDeviceObjects();
|
||||
}
|
||||
|
||||
CIMGUI_IMPL_API void cimgui::cImGui_ImplAllegro5_InvalidateDeviceObjects(void)
|
||||
{
|
||||
::ImGui_ImplAllegro5_InvalidateDeviceObjects();
|
||||
}
|
||||
|
||||
CIMGUI_IMPL_API void cimgui::cImGui_ImplAllegro5_UpdateTexture(cimgui::ImTextureData* tex)
|
||||
{
|
||||
::ImGui_ImplAllegro5_UpdateTexture(reinterpret_cast<::ImTextureData*>(tex));
|
||||
}
|
||||
|
||||
#endif // #ifndef IMGUI_DISABLE
|
||||
@@ -0,0 +1,62 @@
|
||||
// THIS FILE HAS BEEN AUTO-GENERATED BY THE 'DEAR BINDINGS' GENERATOR.
|
||||
// **DO NOT EDIT DIRECTLY**
|
||||
// https://github.com/dearimgui/dear_bindings
|
||||
|
||||
// dear imgui: Renderer + Platform Backend for Allegro 5
|
||||
// ImDrawIdx: vertex index. [Compile-time configurable type]
|
||||
// - To use 16-bit indices + allow large meshes: backend need to set 'io.BackendFlags |= ImGuiBackendFlags_RendererHasVtxOffset' and handle ImDrawCmd::VtxOffset (recommended).
|
||||
// - To use 32-bit indices: override with '#define ImDrawIdx unsigned int' in your imconfig.h file.
|
||||
#ifndef ImDrawIdx
|
||||
typedef unsigned short ImDrawIdx; // Default: 16-bit (for maximum compatibility with renderer backends)
|
||||
#endif // #ifndef ImDrawIdx
|
||||
// (Info: Allegro 5 is a cross-platform general purpose library for handling windows, inputs, graphics, etc.)
|
||||
|
||||
// Implemented features:
|
||||
// [X] Renderer: User texture binding. Use 'ALLEGRO_BITMAP*' as texture identifier. Read the FAQ about ImTextureID/ImTextureRef!
|
||||
// [X] Renderer: Texture updates support for dynamic font atlas (ImGuiBackendFlags_RendererHasTextures).
|
||||
// [X] Platform: Keyboard support. Since 1.87 we are using the io.AddKeyEvent() function. Pass ImGuiKey values to all key functions e.g. ImGui::IsKeyPressed(ImGuiKey_Space). [Legacy ALLEGRO_KEY_* values are obsolete since 1.87 and not supported since 1.91.5]
|
||||
// [X] Platform: Clipboard support (from Allegro 5.1.12).
|
||||
// [X] Platform: Mouse cursor shape and visibility (ImGuiBackendFlags_HasMouseCursors). Disable with 'io.ConfigFlags |= ImGuiConfigFlags_NoMouseCursorChange'.
|
||||
// Missing features or Issues:
|
||||
// [ ] Renderer: The renderer is suboptimal as we need to unindex our buffers and convert vertices manually.
|
||||
// [ ] Platform: Missing gamepad support.
|
||||
// [ ] Renderer: Multi-viewport support (multiple windows).
|
||||
|
||||
// You can use unmodified imgui_impl_* files in your project. See examples/ folder for examples of using this.
|
||||
// Prefer including the entire imgui/ repository into your project (either as a copy or as a submodule), and only build the backends you need.
|
||||
// Learn about Dear ImGui:
|
||||
// - FAQ https://dearimgui.com/faq
|
||||
// - Getting Started https://dearimgui.com/getting-started
|
||||
// - Documentation https://dearimgui.com/docs (same as your local docs/ folder).
|
||||
// - Introduction, links and more at the top of imgui.cpp
|
||||
|
||||
#pragma once
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C"
|
||||
{
|
||||
#endif
|
||||
#include "dcimgui.h"
|
||||
#ifndef IMGUI_DISABLE
|
||||
typedef struct ALLEGRO_DISPLAY_t ALLEGRO_DISPLAY;
|
||||
typedef union ALLEGRO_EVENT_t ALLEGRO_EVENT;
|
||||
|
||||
typedef struct ImDrawData_t ImDrawData;
|
||||
// Follow "Getting Started" link and check examples/ folder to learn about using backends!
|
||||
CIMGUI_IMPL_API bool cImGui_ImplAllegro5_Init(ALLEGRO_DISPLAY* display);
|
||||
CIMGUI_IMPL_API void cImGui_ImplAllegro5_Shutdown(void);
|
||||
CIMGUI_IMPL_API void cImGui_ImplAllegro5_NewFrame(void);
|
||||
CIMGUI_IMPL_API void cImGui_ImplAllegro5_RenderDrawData(ImDrawData* draw_data);
|
||||
CIMGUI_IMPL_API bool cImGui_ImplAllegro5_ProcessEvent(ALLEGRO_EVENT* event);
|
||||
CIMGUI_IMPL_API void cImGui_ImplAllegro5_SetDisplay(ALLEGRO_DISPLAY* display);
|
||||
|
||||
// Use if you want to reset your rendering device without losing Dear ImGui state.
|
||||
CIMGUI_IMPL_API bool cImGui_ImplAllegro5_CreateDeviceObjects(void);
|
||||
CIMGUI_IMPL_API void cImGui_ImplAllegro5_InvalidateDeviceObjects(void);
|
||||
|
||||
// (Advanced) Use e.g. if you need to precisely control the timing of texture updates (e.g. for staged rendering), by setting ImDrawData::Textures = nullptr to handle this manually.
|
||||
CIMGUI_IMPL_API void cImGui_ImplAllegro5_UpdateTexture(ImTextureData* tex);
|
||||
#endif// #ifndef IMGUI_DISABLE
|
||||
#ifdef __cplusplus
|
||||
} // End of extern "C" block
|
||||
#endif
|
||||
@@ -0,0 +1,382 @@
|
||||
{
|
||||
"defines": [],
|
||||
"enums": [],
|
||||
"typedefs": [
|
||||
{
|
||||
"name": "ImDrawIdx",
|
||||
"type": {
|
||||
"declaration": "unsigned short",
|
||||
"description": {
|
||||
"kind": "Builtin",
|
||||
"builtin_type": "unsigned_short"
|
||||
}
|
||||
},
|
||||
"comments": {
|
||||
"attached": "// Default: 16-bit (for maximum compatibility with renderer backends)"
|
||||
},
|
||||
"conditionals": [
|
||||
{
|
||||
"condition": "ifndef",
|
||||
"expression": "ImDrawIdx"
|
||||
}
|
||||
],
|
||||
"is_internal": false,
|
||||
"source_location": {
|
||||
"filename": "imgui_impl_allegro5.h"
|
||||
}
|
||||
}
|
||||
],
|
||||
"structs": [
|
||||
{
|
||||
"name": "ALLEGRO_DISPLAY",
|
||||
"original_fully_qualified_name": "ALLEGRO_DISPLAY",
|
||||
"kind": "struct",
|
||||
"by_value": false,
|
||||
"forward_declaration": true,
|
||||
"is_anonymous": false,
|
||||
"fields": [],
|
||||
"is_internal": false,
|
||||
"source_location": {
|
||||
"filename": "imgui_impl_allegro5.h",
|
||||
"line": 27
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "ALLEGRO_EVENT",
|
||||
"original_fully_qualified_name": "ALLEGRO_EVENT",
|
||||
"kind": "union",
|
||||
"by_value": false,
|
||||
"forward_declaration": true,
|
||||
"is_anonymous": false,
|
||||
"fields": [],
|
||||
"is_internal": false,
|
||||
"source_location": {
|
||||
"filename": "imgui_impl_allegro5.h",
|
||||
"line": 28
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "ImDrawData",
|
||||
"original_fully_qualified_name": "ImDrawData",
|
||||
"kind": "struct",
|
||||
"by_value": false,
|
||||
"forward_declaration": true,
|
||||
"is_anonymous": false,
|
||||
"fields": [],
|
||||
"is_internal": false,
|
||||
"source_location": {
|
||||
"filename": "imgui_impl_allegro5.h",
|
||||
"line": 1
|
||||
}
|
||||
}
|
||||
],
|
||||
"functions": [
|
||||
{
|
||||
"name": "cImGui_ImplAllegro5_Init",
|
||||
"original_fully_qualified_name": "ImGui_ImplAllegro5_Init",
|
||||
"return_type": {
|
||||
"declaration": "bool",
|
||||
"description": {
|
||||
"kind": "Builtin",
|
||||
"builtin_type": "bool"
|
||||
}
|
||||
},
|
||||
"arguments": [
|
||||
{
|
||||
"name": "display",
|
||||
"type": {
|
||||
"declaration": "ALLEGRO_DISPLAY*",
|
||||
"description": {
|
||||
"kind": "Pointer",
|
||||
"inner_type": {
|
||||
"kind": "User",
|
||||
"name": "ALLEGRO_DISPLAY"
|
||||
}
|
||||
}
|
||||
},
|
||||
"is_array": false,
|
||||
"is_varargs": false,
|
||||
"is_instance_pointer": false
|
||||
}
|
||||
],
|
||||
"is_default_argument_helper": false,
|
||||
"is_manual_helper": false,
|
||||
"is_imstr_helper": false,
|
||||
"has_imstr_helper": false,
|
||||
"is_unformatted_helper": false,
|
||||
"is_static": false,
|
||||
"comments": {
|
||||
"preceding": [
|
||||
"// Follow \"Getting Started\" link and check examples/ folder to learn about using backends!"
|
||||
]
|
||||
},
|
||||
"is_internal": false,
|
||||
"source_location": {
|
||||
"filename": "imgui_impl_allegro5.h",
|
||||
"line": 31
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "cImGui_ImplAllegro5_Shutdown",
|
||||
"original_fully_qualified_name": "ImGui_ImplAllegro5_Shutdown",
|
||||
"return_type": {
|
||||
"declaration": "void",
|
||||
"description": {
|
||||
"kind": "Builtin",
|
||||
"builtin_type": "void"
|
||||
}
|
||||
},
|
||||
"arguments": [],
|
||||
"is_default_argument_helper": false,
|
||||
"is_manual_helper": false,
|
||||
"is_imstr_helper": false,
|
||||
"has_imstr_helper": false,
|
||||
"is_unformatted_helper": false,
|
||||
"is_static": false,
|
||||
"is_internal": false,
|
||||
"source_location": {
|
||||
"filename": "imgui_impl_allegro5.h",
|
||||
"line": 32
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "cImGui_ImplAllegro5_NewFrame",
|
||||
"original_fully_qualified_name": "ImGui_ImplAllegro5_NewFrame",
|
||||
"return_type": {
|
||||
"declaration": "void",
|
||||
"description": {
|
||||
"kind": "Builtin",
|
||||
"builtin_type": "void"
|
||||
}
|
||||
},
|
||||
"arguments": [],
|
||||
"is_default_argument_helper": false,
|
||||
"is_manual_helper": false,
|
||||
"is_imstr_helper": false,
|
||||
"has_imstr_helper": false,
|
||||
"is_unformatted_helper": false,
|
||||
"is_static": false,
|
||||
"is_internal": false,
|
||||
"source_location": {
|
||||
"filename": "imgui_impl_allegro5.h",
|
||||
"line": 33
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "cImGui_ImplAllegro5_RenderDrawData",
|
||||
"original_fully_qualified_name": "ImGui_ImplAllegro5_RenderDrawData",
|
||||
"return_type": {
|
||||
"declaration": "void",
|
||||
"description": {
|
||||
"kind": "Builtin",
|
||||
"builtin_type": "void"
|
||||
}
|
||||
},
|
||||
"arguments": [
|
||||
{
|
||||
"name": "draw_data",
|
||||
"type": {
|
||||
"declaration": "ImDrawData*",
|
||||
"description": {
|
||||
"kind": "Pointer",
|
||||
"inner_type": {
|
||||
"kind": "User",
|
||||
"name": "ImDrawData"
|
||||
}
|
||||
}
|
||||
},
|
||||
"is_array": false,
|
||||
"is_varargs": false,
|
||||
"is_instance_pointer": false
|
||||
}
|
||||
],
|
||||
"is_default_argument_helper": false,
|
||||
"is_manual_helper": false,
|
||||
"is_imstr_helper": false,
|
||||
"has_imstr_helper": false,
|
||||
"is_unformatted_helper": false,
|
||||
"is_static": false,
|
||||
"is_internal": false,
|
||||
"source_location": {
|
||||
"filename": "imgui_impl_allegro5.h",
|
||||
"line": 34
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "cImGui_ImplAllegro5_ProcessEvent",
|
||||
"original_fully_qualified_name": "ImGui_ImplAllegro5_ProcessEvent",
|
||||
"return_type": {
|
||||
"declaration": "bool",
|
||||
"description": {
|
||||
"kind": "Builtin",
|
||||
"builtin_type": "bool"
|
||||
}
|
||||
},
|
||||
"arguments": [
|
||||
{
|
||||
"name": "event",
|
||||
"type": {
|
||||
"declaration": "ALLEGRO_EVENT*",
|
||||
"description": {
|
||||
"kind": "Pointer",
|
||||
"inner_type": {
|
||||
"kind": "User",
|
||||
"name": "ALLEGRO_EVENT"
|
||||
}
|
||||
}
|
||||
},
|
||||
"is_array": false,
|
||||
"is_varargs": false,
|
||||
"is_instance_pointer": false
|
||||
}
|
||||
],
|
||||
"is_default_argument_helper": false,
|
||||
"is_manual_helper": false,
|
||||
"is_imstr_helper": false,
|
||||
"has_imstr_helper": false,
|
||||
"is_unformatted_helper": false,
|
||||
"is_static": false,
|
||||
"is_internal": false,
|
||||
"source_location": {
|
||||
"filename": "imgui_impl_allegro5.h",
|
||||
"line": 35
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "cImGui_ImplAllegro5_SetDisplay",
|
||||
"original_fully_qualified_name": "ImGui_ImplAllegro5_SetDisplay",
|
||||
"return_type": {
|
||||
"declaration": "void",
|
||||
"description": {
|
||||
"kind": "Builtin",
|
||||
"builtin_type": "void"
|
||||
}
|
||||
},
|
||||
"arguments": [
|
||||
{
|
||||
"name": "display",
|
||||
"type": {
|
||||
"declaration": "ALLEGRO_DISPLAY*",
|
||||
"description": {
|
||||
"kind": "Pointer",
|
||||
"inner_type": {
|
||||
"kind": "User",
|
||||
"name": "ALLEGRO_DISPLAY"
|
||||
}
|
||||
}
|
||||
},
|
||||
"is_array": false,
|
||||
"is_varargs": false,
|
||||
"is_instance_pointer": false
|
||||
}
|
||||
],
|
||||
"is_default_argument_helper": false,
|
||||
"is_manual_helper": false,
|
||||
"is_imstr_helper": false,
|
||||
"has_imstr_helper": false,
|
||||
"is_unformatted_helper": false,
|
||||
"is_static": false,
|
||||
"is_internal": false,
|
||||
"source_location": {
|
||||
"filename": "imgui_impl_allegro5.h",
|
||||
"line": 36
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "cImGui_ImplAllegro5_CreateDeviceObjects",
|
||||
"original_fully_qualified_name": "ImGui_ImplAllegro5_CreateDeviceObjects",
|
||||
"return_type": {
|
||||
"declaration": "bool",
|
||||
"description": {
|
||||
"kind": "Builtin",
|
||||
"builtin_type": "bool"
|
||||
}
|
||||
},
|
||||
"arguments": [],
|
||||
"is_default_argument_helper": false,
|
||||
"is_manual_helper": false,
|
||||
"is_imstr_helper": false,
|
||||
"has_imstr_helper": false,
|
||||
"is_unformatted_helper": false,
|
||||
"is_static": false,
|
||||
"comments": {
|
||||
"preceding": [
|
||||
"// Use if you want to reset your rendering device without losing Dear ImGui state."
|
||||
]
|
||||
},
|
||||
"is_internal": false,
|
||||
"source_location": {
|
||||
"filename": "imgui_impl_allegro5.h",
|
||||
"line": 39
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "cImGui_ImplAllegro5_InvalidateDeviceObjects",
|
||||
"original_fully_qualified_name": "ImGui_ImplAllegro5_InvalidateDeviceObjects",
|
||||
"return_type": {
|
||||
"declaration": "void",
|
||||
"description": {
|
||||
"kind": "Builtin",
|
||||
"builtin_type": "void"
|
||||
}
|
||||
},
|
||||
"arguments": [],
|
||||
"is_default_argument_helper": false,
|
||||
"is_manual_helper": false,
|
||||
"is_imstr_helper": false,
|
||||
"has_imstr_helper": false,
|
||||
"is_unformatted_helper": false,
|
||||
"is_static": false,
|
||||
"is_internal": false,
|
||||
"source_location": {
|
||||
"filename": "imgui_impl_allegro5.h",
|
||||
"line": 40
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "cImGui_ImplAllegro5_UpdateTexture",
|
||||
"original_fully_qualified_name": "ImGui_ImplAllegro5_UpdateTexture",
|
||||
"return_type": {
|
||||
"declaration": "void",
|
||||
"description": {
|
||||
"kind": "Builtin",
|
||||
"builtin_type": "void"
|
||||
}
|
||||
},
|
||||
"arguments": [
|
||||
{
|
||||
"name": "tex",
|
||||
"type": {
|
||||
"declaration": "ImTextureData*",
|
||||
"description": {
|
||||
"kind": "Pointer",
|
||||
"inner_type": {
|
||||
"kind": "User",
|
||||
"name": "ImTextureData"
|
||||
}
|
||||
}
|
||||
},
|
||||
"is_array": false,
|
||||
"is_varargs": false,
|
||||
"is_instance_pointer": false
|
||||
}
|
||||
],
|
||||
"is_default_argument_helper": false,
|
||||
"is_manual_helper": false,
|
||||
"is_imstr_helper": false,
|
||||
"has_imstr_helper": false,
|
||||
"is_unformatted_helper": false,
|
||||
"is_static": false,
|
||||
"comments": {
|
||||
"preceding": [
|
||||
"// (Advanced) Use e.g. if you need to precisely control the timing of texture updates (e.g. for staged rendering), by setting ImDrawData::Textures = nullptr to handle this manually."
|
||||
]
|
||||
},
|
||||
"is_internal": false,
|
||||
"source_location": {
|
||||
"filename": "imgui_impl_allegro5.h",
|
||||
"line": 43
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,7 @@
|
||||
{
|
||||
"defines": [],
|
||||
"enums": [],
|
||||
"typedefs": [],
|
||||
"structs": [],
|
||||
"functions": []
|
||||
}
|
||||
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,117 @@
|
||||
// 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_android.h"
|
||||
|
||||
#include <stdio.h>
|
||||
|
||||
// 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_android.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_ImplAndroid_Init(cimgui::ANativeWindow* window)
|
||||
{
|
||||
return ::ImGui_ImplAndroid_Init(reinterpret_cast<::ANativeWindow*>(window));
|
||||
}
|
||||
|
||||
CIMGUI_IMPL_API int32_t cimgui::cImGui_ImplAndroid_HandleInputEvent(const cimgui::AInputEvent* input_event)
|
||||
{
|
||||
return ::ImGui_ImplAndroid_HandleInputEvent(reinterpret_cast<const ::AInputEvent*>(input_event));
|
||||
}
|
||||
|
||||
CIMGUI_IMPL_API void cimgui::cImGui_ImplAndroid_Shutdown(void)
|
||||
{
|
||||
::ImGui_ImplAndroid_Shutdown();
|
||||
}
|
||||
|
||||
CIMGUI_IMPL_API void cimgui::cImGui_ImplAndroid_NewFrame(void)
|
||||
{
|
||||
::ImGui_ImplAndroid_NewFrame();
|
||||
}
|
||||
|
||||
#endif // #ifndef IMGUI_DISABLE
|
||||
@@ -0,0 +1,55 @@
|
||||
// THIS FILE HAS BEEN AUTO-GENERATED BY THE 'DEAR BINDINGS' GENERATOR.
|
||||
// **DO NOT EDIT DIRECTLY**
|
||||
// https://github.com/dearimgui/dear_bindings
|
||||
|
||||
// dear imgui: Platform Binding for Android native app
|
||||
// ImDrawIdx: vertex index. [Compile-time configurable type]
|
||||
// - To use 16-bit indices + allow large meshes: backend need to set 'io.BackendFlags |= ImGuiBackendFlags_RendererHasVtxOffset' and handle ImDrawCmd::VtxOffset (recommended).
|
||||
// - To use 32-bit indices: override with '#define ImDrawIdx unsigned int' in your imconfig.h file.
|
||||
#ifndef ImDrawIdx
|
||||
typedef unsigned short ImDrawIdx; // Default: 16-bit (for maximum compatibility with renderer backends)
|
||||
#endif // #ifndef ImDrawIdx
|
||||
// This needs to be used along with the OpenGL 3 Renderer (imgui_impl_opengl3)
|
||||
|
||||
// Implemented features:
|
||||
// [X] Platform: Keyboard support. Since 1.87 we are using the io.AddKeyEvent() function. Pass ImGuiKey values to all key functions e.g. ImGui::IsKeyPressed(ImGuiKey_Space). [Legacy AKEYCODE_* values are obsolete since 1.87 and not supported since 1.91.5]
|
||||
// [X] Platform: Mouse support. Can discriminate Mouse/TouchScreen/Pen.
|
||||
// Missing features or Issues:
|
||||
// [ ] Platform: Clipboard support.
|
||||
// [ ] Platform: Gamepad support.
|
||||
// [ ] Platform: Mouse cursor shape and visibility (ImGuiBackendFlags_HasMouseCursors). Disable with 'io.ConfigFlags |= ImGuiConfigFlags_NoMouseCursorChange'. FIXME: Check if this is even possible with Android.
|
||||
// [ ] Platform: Multi-viewport support (multiple windows). Not meaningful on Android.
|
||||
// Important:
|
||||
// - Consider using SDL or GLFW backend on Android, which will be more full-featured than this.
|
||||
// - FIXME: On-screen keyboard currently needs to be enabled by the application (see examples/ and issue #3446)
|
||||
// - FIXME: Unicode character inputs needs to be passed by Dear ImGui by the application (see examples/ and issue #3446)
|
||||
|
||||
// You can use unmodified imgui_impl_* files in your project. See examples/ folder for examples of using this.
|
||||
// Prefer including the entire imgui/ repository into your project (either as a copy or as a submodule), and only build the backends you need.
|
||||
// Learn about Dear ImGui:
|
||||
// - FAQ https://dearimgui.com/faq
|
||||
// - Getting Started https://dearimgui.com/getting-started
|
||||
// - Documentation https://dearimgui.com/docs (same as your local docs/ folder).
|
||||
// - Introduction, links and more at the top of imgui.cpp
|
||||
|
||||
#pragma once
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C"
|
||||
{
|
||||
#endif
|
||||
#include "dcimgui.h"
|
||||
#ifndef IMGUI_DISABLE
|
||||
typedef struct ANativeWindow_t ANativeWindow;
|
||||
typedef struct AInputEvent_t AInputEvent;
|
||||
|
||||
typedef struct ImDrawData_t ImDrawData;
|
||||
// Follow "Getting Started" link and check examples/ folder to learn about using backends!
|
||||
CIMGUI_IMPL_API bool cImGui_ImplAndroid_Init(ANativeWindow* window);
|
||||
CIMGUI_IMPL_API int32_t cImGui_ImplAndroid_HandleInputEvent(const AInputEvent* input_event);
|
||||
CIMGUI_IMPL_API void cImGui_ImplAndroid_Shutdown(void);
|
||||
CIMGUI_IMPL_API void cImGui_ImplAndroid_NewFrame(void);
|
||||
#endif// #ifndef IMGUI_DISABLE
|
||||
#ifdef __cplusplus
|
||||
} // End of extern "C" block
|
||||
#endif
|
||||
@@ -0,0 +1,209 @@
|
||||
{
|
||||
"defines": [],
|
||||
"enums": [],
|
||||
"typedefs": [
|
||||
{
|
||||
"name": "ImDrawIdx",
|
||||
"type": {
|
||||
"declaration": "unsigned short",
|
||||
"description": {
|
||||
"kind": "Builtin",
|
||||
"builtin_type": "unsigned_short"
|
||||
}
|
||||
},
|
||||
"comments": {
|
||||
"attached": "// Default: 16-bit (for maximum compatibility with renderer backends)"
|
||||
},
|
||||
"conditionals": [
|
||||
{
|
||||
"condition": "ifndef",
|
||||
"expression": "ImDrawIdx"
|
||||
}
|
||||
],
|
||||
"is_internal": false,
|
||||
"source_location": {
|
||||
"filename": "imgui_impl_android.h"
|
||||
}
|
||||
}
|
||||
],
|
||||
"structs": [
|
||||
{
|
||||
"name": "ANativeWindow",
|
||||
"original_fully_qualified_name": "ANativeWindow",
|
||||
"kind": "struct",
|
||||
"by_value": false,
|
||||
"forward_declaration": true,
|
||||
"is_anonymous": false,
|
||||
"fields": [],
|
||||
"is_internal": false,
|
||||
"source_location": {
|
||||
"filename": "imgui_impl_android.h",
|
||||
"line": 29
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "AInputEvent",
|
||||
"original_fully_qualified_name": "AInputEvent",
|
||||
"kind": "struct",
|
||||
"by_value": false,
|
||||
"forward_declaration": true,
|
||||
"is_anonymous": false,
|
||||
"fields": [],
|
||||
"is_internal": false,
|
||||
"source_location": {
|
||||
"filename": "imgui_impl_android.h",
|
||||
"line": 30
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "ImDrawData",
|
||||
"original_fully_qualified_name": "ImDrawData",
|
||||
"kind": "struct",
|
||||
"by_value": false,
|
||||
"forward_declaration": true,
|
||||
"is_anonymous": false,
|
||||
"fields": [],
|
||||
"is_internal": false,
|
||||
"source_location": {
|
||||
"filename": "imgui_impl_android.h",
|
||||
"line": 1
|
||||
}
|
||||
}
|
||||
],
|
||||
"functions": [
|
||||
{
|
||||
"name": "cImGui_ImplAndroid_Init",
|
||||
"original_fully_qualified_name": "ImGui_ImplAndroid_Init",
|
||||
"return_type": {
|
||||
"declaration": "bool",
|
||||
"description": {
|
||||
"kind": "Builtin",
|
||||
"builtin_type": "bool"
|
||||
}
|
||||
},
|
||||
"arguments": [
|
||||
{
|
||||
"name": "window",
|
||||
"type": {
|
||||
"declaration": "ANativeWindow*",
|
||||
"description": {
|
||||
"kind": "Pointer",
|
||||
"inner_type": {
|
||||
"kind": "User",
|
||||
"name": "ANativeWindow"
|
||||
}
|
||||
}
|
||||
},
|
||||
"is_array": false,
|
||||
"is_varargs": false,
|
||||
"is_instance_pointer": false
|
||||
}
|
||||
],
|
||||
"is_default_argument_helper": false,
|
||||
"is_manual_helper": false,
|
||||
"is_imstr_helper": false,
|
||||
"has_imstr_helper": false,
|
||||
"is_unformatted_helper": false,
|
||||
"is_static": false,
|
||||
"comments": {
|
||||
"preceding": [
|
||||
"// Follow \"Getting Started\" link and check examples/ folder to learn about using backends!"
|
||||
]
|
||||
},
|
||||
"is_internal": false,
|
||||
"source_location": {
|
||||
"filename": "imgui_impl_android.h",
|
||||
"line": 33
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "cImGui_ImplAndroid_HandleInputEvent",
|
||||
"original_fully_qualified_name": "ImGui_ImplAndroid_HandleInputEvent",
|
||||
"return_type": {
|
||||
"declaration": "int32_t",
|
||||
"description": {
|
||||
"kind": "User",
|
||||
"name": "int32_t"
|
||||
}
|
||||
},
|
||||
"arguments": [
|
||||
{
|
||||
"name": "input_event",
|
||||
"type": {
|
||||
"declaration": "const AInputEvent*",
|
||||
"description": {
|
||||
"kind": "Pointer",
|
||||
"inner_type": {
|
||||
"kind": "User",
|
||||
"name": "AInputEvent",
|
||||
"storage_classes": [
|
||||
"const"
|
||||
]
|
||||
}
|
||||
}
|
||||
},
|
||||
"is_array": false,
|
||||
"is_varargs": false,
|
||||
"is_instance_pointer": false
|
||||
}
|
||||
],
|
||||
"is_default_argument_helper": false,
|
||||
"is_manual_helper": false,
|
||||
"is_imstr_helper": false,
|
||||
"has_imstr_helper": false,
|
||||
"is_unformatted_helper": false,
|
||||
"is_static": false,
|
||||
"is_internal": false,
|
||||
"source_location": {
|
||||
"filename": "imgui_impl_android.h",
|
||||
"line": 34
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "cImGui_ImplAndroid_Shutdown",
|
||||
"original_fully_qualified_name": "ImGui_ImplAndroid_Shutdown",
|
||||
"return_type": {
|
||||
"declaration": "void",
|
||||
"description": {
|
||||
"kind": "Builtin",
|
||||
"builtin_type": "void"
|
||||
}
|
||||
},
|
||||
"arguments": [],
|
||||
"is_default_argument_helper": false,
|
||||
"is_manual_helper": false,
|
||||
"is_imstr_helper": false,
|
||||
"has_imstr_helper": false,
|
||||
"is_unformatted_helper": false,
|
||||
"is_static": false,
|
||||
"is_internal": false,
|
||||
"source_location": {
|
||||
"filename": "imgui_impl_android.h",
|
||||
"line": 35
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "cImGui_ImplAndroid_NewFrame",
|
||||
"original_fully_qualified_name": "ImGui_ImplAndroid_NewFrame",
|
||||
"return_type": {
|
||||
"declaration": "void",
|
||||
"description": {
|
||||
"kind": "Builtin",
|
||||
"builtin_type": "void"
|
||||
}
|
||||
},
|
||||
"arguments": [],
|
||||
"is_default_argument_helper": false,
|
||||
"is_manual_helper": false,
|
||||
"is_imstr_helper": false,
|
||||
"has_imstr_helper": false,
|
||||
"is_unformatted_helper": false,
|
||||
"is_static": false,
|
||||
"is_internal": false,
|
||||
"source_location": {
|
||||
"filename": "imgui_impl_android.h",
|
||||
"line": 36
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,7 @@
|
||||
{
|
||||
"defines": [],
|
||||
"enums": [],
|
||||
"typedefs": [],
|
||||
"structs": [],
|
||||
"functions": []
|
||||
}
|
||||
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,133 @@
|
||||
// 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_dx10.h"
|
||||
|
||||
#include <stdio.h>
|
||||
|
||||
// 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_dx10.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_ImplDX10_Init(cimgui::ID3D10Device* device)
|
||||
{
|
||||
return ::ImGui_ImplDX10_Init(reinterpret_cast<::ID3D10Device*>(device));
|
||||
}
|
||||
|
||||
CIMGUI_IMPL_API void cimgui::cImGui_ImplDX10_Shutdown(void)
|
||||
{
|
||||
::ImGui_ImplDX10_Shutdown();
|
||||
}
|
||||
|
||||
CIMGUI_IMPL_API void cimgui::cImGui_ImplDX10_NewFrame(void)
|
||||
{
|
||||
::ImGui_ImplDX10_NewFrame();
|
||||
}
|
||||
|
||||
CIMGUI_IMPL_API void cimgui::cImGui_ImplDX10_RenderDrawData(cimgui::ImDrawData* draw_data)
|
||||
{
|
||||
::ImGui_ImplDX10_RenderDrawData(reinterpret_cast<::ImDrawData*>(draw_data));
|
||||
}
|
||||
|
||||
CIMGUI_IMPL_API bool cimgui::cImGui_ImplDX10_CreateDeviceObjects(void)
|
||||
{
|
||||
return ::ImGui_ImplDX10_CreateDeviceObjects();
|
||||
}
|
||||
|
||||
CIMGUI_IMPL_API void cimgui::cImGui_ImplDX10_InvalidateDeviceObjects(void)
|
||||
{
|
||||
::ImGui_ImplDX10_InvalidateDeviceObjects();
|
||||
}
|
||||
|
||||
CIMGUI_IMPL_API void cimgui::cImGui_ImplDX10_UpdateTexture(cimgui::ImTextureData* tex)
|
||||
{
|
||||
::ImGui_ImplDX10_UpdateTexture(reinterpret_cast<::ImTextureData*>(tex));
|
||||
}
|
||||
|
||||
#endif // #ifndef IMGUI_DISABLE
|
||||
@@ -0,0 +1,69 @@
|
||||
// THIS FILE HAS BEEN AUTO-GENERATED BY THE 'DEAR BINDINGS' GENERATOR.
|
||||
// **DO NOT EDIT DIRECTLY**
|
||||
// https://github.com/dearimgui/dear_bindings
|
||||
|
||||
// dear imgui: Renderer Backend for DirectX10
|
||||
// Auto-generated forward declarations for C header
|
||||
typedef struct ImGui_ImplDX10_RenderState_t ImGui_ImplDX10_RenderState;
|
||||
// ImDrawIdx: vertex index. [Compile-time configurable type]
|
||||
// - To use 16-bit indices + allow large meshes: backend need to set 'io.BackendFlags |= ImGuiBackendFlags_RendererHasVtxOffset' and handle ImDrawCmd::VtxOffset (recommended).
|
||||
// - To use 32-bit indices: override with '#define ImDrawIdx unsigned int' in your imconfig.h file.
|
||||
#ifndef ImDrawIdx
|
||||
typedef unsigned short ImDrawIdx; // Default: 16-bit (for maximum compatibility with renderer backends)
|
||||
#endif // #ifndef ImDrawIdx
|
||||
// This needs to be used along with a Platform Backend (e.g. Win32)
|
||||
|
||||
// Implemented features:
|
||||
// [X] Renderer: User texture binding. Use 'ID3D10ShaderResourceView*' as texture identifier. Read the FAQ about ImTextureID/ImTextureRef!
|
||||
// [X] Renderer: Large meshes support (64k+ vertices) even with 16-bit indices (ImGuiBackendFlags_RendererHasVtxOffset).
|
||||
// [X] Renderer: Texture updates support for dynamic font atlas (ImGuiBackendFlags_RendererHasTextures).
|
||||
// [X] Renderer: Multi-viewport support (multiple windows). Enable with 'io.ConfigFlags |= ImGuiConfigFlags_ViewportsEnable'.
|
||||
|
||||
// You can use unmodified imgui_impl_* files in your project. See examples/ folder for examples of using this.
|
||||
// Prefer including the entire imgui/ repository into your project (either as a copy or as a submodule), and only build the backends you need.
|
||||
// Learn about Dear ImGui:
|
||||
// - FAQ https://dearimgui.com/faq
|
||||
// - Getting Started https://dearimgui.com/getting-started
|
||||
// - Documentation https://dearimgui.com/docs (same as your local docs/ folder).
|
||||
// - Introduction, links and more at the top of imgui.cpp
|
||||
|
||||
#pragma once
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C"
|
||||
{
|
||||
#endif
|
||||
#include "dcimgui.h"
|
||||
#ifndef IMGUI_DISABLE
|
||||
typedef struct ID3D10Device_t ID3D10Device;
|
||||
typedef struct ID3D10SamplerState_t ID3D10SamplerState;
|
||||
typedef struct ID3D10Buffer_t ID3D10Buffer;
|
||||
|
||||
typedef struct ImDrawData_t ImDrawData;
|
||||
// Follow "Getting Started" link and check examples/ folder to learn about using backends!
|
||||
CIMGUI_IMPL_API bool cImGui_ImplDX10_Init(ID3D10Device* device);
|
||||
CIMGUI_IMPL_API void cImGui_ImplDX10_Shutdown(void);
|
||||
CIMGUI_IMPL_API void cImGui_ImplDX10_NewFrame(void);
|
||||
CIMGUI_IMPL_API void cImGui_ImplDX10_RenderDrawData(ImDrawData* draw_data);
|
||||
|
||||
// Use if you want to reset your rendering device without losing Dear ImGui state.
|
||||
CIMGUI_IMPL_API bool cImGui_ImplDX10_CreateDeviceObjects(void);
|
||||
CIMGUI_IMPL_API void cImGui_ImplDX10_InvalidateDeviceObjects(void);
|
||||
|
||||
// (Advanced) Use e.g. if you need to precisely control the timing of texture updates (e.g. for staged rendering), by setting ImDrawData::Textures = nullptr to handle this manually.
|
||||
CIMGUI_IMPL_API void cImGui_ImplDX10_UpdateTexture(ImTextureData* tex);
|
||||
|
||||
// [BETA] Selected render state data shared with callbacks.
|
||||
// This is temporarily stored in GetPlatformIO().Renderer_RenderState during the ImGui_ImplDX10_RenderDrawData() call.
|
||||
// (Please open an issue if you feel you need access to more data)
|
||||
struct ImGui_ImplDX10_RenderState_t
|
||||
{
|
||||
ID3D10Device* Device;
|
||||
ID3D10SamplerState* SamplerLinear;
|
||||
ID3D10SamplerState* SamplerNearest;
|
||||
ID3D10Buffer* VertexConstantBuffer;
|
||||
};
|
||||
#endif// #ifndef IMGUI_DISABLE
|
||||
#ifdef __cplusplus
|
||||
} // End of extern "C" block
|
||||
#endif
|
||||
@@ -0,0 +1,418 @@
|
||||
{
|
||||
"defines": [],
|
||||
"enums": [],
|
||||
"typedefs": [
|
||||
{
|
||||
"name": "ImDrawIdx",
|
||||
"type": {
|
||||
"declaration": "unsigned short",
|
||||
"description": {
|
||||
"kind": "Builtin",
|
||||
"builtin_type": "unsigned_short"
|
||||
}
|
||||
},
|
||||
"comments": {
|
||||
"attached": "// Default: 16-bit (for maximum compatibility with renderer backends)"
|
||||
},
|
||||
"conditionals": [
|
||||
{
|
||||
"condition": "ifndef",
|
||||
"expression": "ImDrawIdx"
|
||||
}
|
||||
],
|
||||
"is_internal": false,
|
||||
"source_location": {
|
||||
"filename": "imgui_impl_dx10.h"
|
||||
}
|
||||
}
|
||||
],
|
||||
"structs": [
|
||||
{
|
||||
"name": "ID3D10Device",
|
||||
"original_fully_qualified_name": "ID3D10Device",
|
||||
"kind": "struct",
|
||||
"by_value": false,
|
||||
"forward_declaration": true,
|
||||
"is_anonymous": false,
|
||||
"fields": [],
|
||||
"is_internal": false,
|
||||
"source_location": {
|
||||
"filename": "imgui_impl_dx10.h",
|
||||
"line": 22
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "ID3D10SamplerState",
|
||||
"original_fully_qualified_name": "ID3D10SamplerState",
|
||||
"kind": "struct",
|
||||
"by_value": false,
|
||||
"forward_declaration": true,
|
||||
"is_anonymous": false,
|
||||
"fields": [],
|
||||
"is_internal": false,
|
||||
"source_location": {
|
||||
"filename": "imgui_impl_dx10.h",
|
||||
"line": 23
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "ID3D10Buffer",
|
||||
"original_fully_qualified_name": "ID3D10Buffer",
|
||||
"kind": "struct",
|
||||
"by_value": false,
|
||||
"forward_declaration": true,
|
||||
"is_anonymous": false,
|
||||
"fields": [],
|
||||
"is_internal": false,
|
||||
"source_location": {
|
||||
"filename": "imgui_impl_dx10.h",
|
||||
"line": 24
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "ImDrawData",
|
||||
"original_fully_qualified_name": "ImDrawData",
|
||||
"kind": "struct",
|
||||
"by_value": false,
|
||||
"forward_declaration": true,
|
||||
"is_anonymous": false,
|
||||
"fields": [],
|
||||
"is_internal": false,
|
||||
"source_location": {
|
||||
"filename": "imgui_impl_dx10.h",
|
||||
"line": 1
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "ImGui_ImplDX10_RenderState",
|
||||
"original_fully_qualified_name": "ImGui_ImplDX10_RenderState",
|
||||
"kind": "struct",
|
||||
"by_value": false,
|
||||
"forward_declaration": false,
|
||||
"is_anonymous": false,
|
||||
"fields": [
|
||||
{
|
||||
"name": "Device",
|
||||
"is_array": false,
|
||||
"is_anonymous": false,
|
||||
"type": {
|
||||
"declaration": "ID3D10Device*",
|
||||
"description": {
|
||||
"kind": "Pointer",
|
||||
"inner_type": {
|
||||
"kind": "User",
|
||||
"name": "ID3D10Device"
|
||||
}
|
||||
}
|
||||
},
|
||||
"is_internal": false,
|
||||
"source_location": {
|
||||
"filename": "imgui_impl_dx10.h",
|
||||
"line": 44
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "SamplerLinear",
|
||||
"is_array": false,
|
||||
"is_anonymous": false,
|
||||
"type": {
|
||||
"declaration": "ID3D10SamplerState*",
|
||||
"description": {
|
||||
"kind": "Pointer",
|
||||
"inner_type": {
|
||||
"kind": "User",
|
||||
"name": "ID3D10SamplerState"
|
||||
}
|
||||
}
|
||||
},
|
||||
"is_internal": false,
|
||||
"source_location": {
|
||||
"filename": "imgui_impl_dx10.h",
|
||||
"line": 45
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "SamplerNearest",
|
||||
"is_array": false,
|
||||
"is_anonymous": false,
|
||||
"type": {
|
||||
"declaration": "ID3D10SamplerState*",
|
||||
"description": {
|
||||
"kind": "Pointer",
|
||||
"inner_type": {
|
||||
"kind": "User",
|
||||
"name": "ID3D10SamplerState"
|
||||
}
|
||||
}
|
||||
},
|
||||
"is_internal": false,
|
||||
"source_location": {
|
||||
"filename": "imgui_impl_dx10.h",
|
||||
"line": 46
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "VertexConstantBuffer",
|
||||
"is_array": false,
|
||||
"is_anonymous": false,
|
||||
"type": {
|
||||
"declaration": "ID3D10Buffer*",
|
||||
"description": {
|
||||
"kind": "Pointer",
|
||||
"inner_type": {
|
||||
"kind": "User",
|
||||
"name": "ID3D10Buffer"
|
||||
}
|
||||
}
|
||||
},
|
||||
"is_internal": false,
|
||||
"source_location": {
|
||||
"filename": "imgui_impl_dx10.h",
|
||||
"line": 47
|
||||
}
|
||||
}
|
||||
],
|
||||
"comments": {
|
||||
"preceding": [
|
||||
"// [BETA] Selected render state data shared with callbacks.",
|
||||
"// This is temporarily stored in GetPlatformIO().Renderer_RenderState during the ImGui_ImplDX10_RenderDrawData() call.",
|
||||
"// (Please open an issue if you feel you need access to more data)"
|
||||
]
|
||||
},
|
||||
"is_internal": false,
|
||||
"source_location": {
|
||||
"filename": "imgui_impl_dx10.h",
|
||||
"line": 42
|
||||
}
|
||||
}
|
||||
],
|
||||
"functions": [
|
||||
{
|
||||
"name": "cImGui_ImplDX10_Init",
|
||||
"original_fully_qualified_name": "ImGui_ImplDX10_Init",
|
||||
"return_type": {
|
||||
"declaration": "bool",
|
||||
"description": {
|
||||
"kind": "Builtin",
|
||||
"builtin_type": "bool"
|
||||
}
|
||||
},
|
||||
"arguments": [
|
||||
{
|
||||
"name": "device",
|
||||
"type": {
|
||||
"declaration": "ID3D10Device*",
|
||||
"description": {
|
||||
"kind": "Pointer",
|
||||
"inner_type": {
|
||||
"kind": "User",
|
||||
"name": "ID3D10Device"
|
||||
}
|
||||
}
|
||||
},
|
||||
"is_array": false,
|
||||
"is_varargs": false,
|
||||
"is_instance_pointer": false
|
||||
}
|
||||
],
|
||||
"is_default_argument_helper": false,
|
||||
"is_manual_helper": false,
|
||||
"is_imstr_helper": false,
|
||||
"has_imstr_helper": false,
|
||||
"is_unformatted_helper": false,
|
||||
"is_static": false,
|
||||
"comments": {
|
||||
"preceding": [
|
||||
"// Follow \"Getting Started\" link and check examples/ folder to learn about using backends!"
|
||||
]
|
||||
},
|
||||
"is_internal": false,
|
||||
"source_location": {
|
||||
"filename": "imgui_impl_dx10.h",
|
||||
"line": 27
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "cImGui_ImplDX10_Shutdown",
|
||||
"original_fully_qualified_name": "ImGui_ImplDX10_Shutdown",
|
||||
"return_type": {
|
||||
"declaration": "void",
|
||||
"description": {
|
||||
"kind": "Builtin",
|
||||
"builtin_type": "void"
|
||||
}
|
||||
},
|
||||
"arguments": [],
|
||||
"is_default_argument_helper": false,
|
||||
"is_manual_helper": false,
|
||||
"is_imstr_helper": false,
|
||||
"has_imstr_helper": false,
|
||||
"is_unformatted_helper": false,
|
||||
"is_static": false,
|
||||
"is_internal": false,
|
||||
"source_location": {
|
||||
"filename": "imgui_impl_dx10.h",
|
||||
"line": 28
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "cImGui_ImplDX10_NewFrame",
|
||||
"original_fully_qualified_name": "ImGui_ImplDX10_NewFrame",
|
||||
"return_type": {
|
||||
"declaration": "void",
|
||||
"description": {
|
||||
"kind": "Builtin",
|
||||
"builtin_type": "void"
|
||||
}
|
||||
},
|
||||
"arguments": [],
|
||||
"is_default_argument_helper": false,
|
||||
"is_manual_helper": false,
|
||||
"is_imstr_helper": false,
|
||||
"has_imstr_helper": false,
|
||||
"is_unformatted_helper": false,
|
||||
"is_static": false,
|
||||
"is_internal": false,
|
||||
"source_location": {
|
||||
"filename": "imgui_impl_dx10.h",
|
||||
"line": 29
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "cImGui_ImplDX10_RenderDrawData",
|
||||
"original_fully_qualified_name": "ImGui_ImplDX10_RenderDrawData",
|
||||
"return_type": {
|
||||
"declaration": "void",
|
||||
"description": {
|
||||
"kind": "Builtin",
|
||||
"builtin_type": "void"
|
||||
}
|
||||
},
|
||||
"arguments": [
|
||||
{
|
||||
"name": "draw_data",
|
||||
"type": {
|
||||
"declaration": "ImDrawData*",
|
||||
"description": {
|
||||
"kind": "Pointer",
|
||||
"inner_type": {
|
||||
"kind": "User",
|
||||
"name": "ImDrawData"
|
||||
}
|
||||
}
|
||||
},
|
||||
"is_array": false,
|
||||
"is_varargs": false,
|
||||
"is_instance_pointer": false
|
||||
}
|
||||
],
|
||||
"is_default_argument_helper": false,
|
||||
"is_manual_helper": false,
|
||||
"is_imstr_helper": false,
|
||||
"has_imstr_helper": false,
|
||||
"is_unformatted_helper": false,
|
||||
"is_static": false,
|
||||
"is_internal": false,
|
||||
"source_location": {
|
||||
"filename": "imgui_impl_dx10.h",
|
||||
"line": 30
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "cImGui_ImplDX10_CreateDeviceObjects",
|
||||
"original_fully_qualified_name": "ImGui_ImplDX10_CreateDeviceObjects",
|
||||
"return_type": {
|
||||
"declaration": "bool",
|
||||
"description": {
|
||||
"kind": "Builtin",
|
||||
"builtin_type": "bool"
|
||||
}
|
||||
},
|
||||
"arguments": [],
|
||||
"is_default_argument_helper": false,
|
||||
"is_manual_helper": false,
|
||||
"is_imstr_helper": false,
|
||||
"has_imstr_helper": false,
|
||||
"is_unformatted_helper": false,
|
||||
"is_static": false,
|
||||
"comments": {
|
||||
"preceding": [
|
||||
"// Use if you want to reset your rendering device without losing Dear ImGui state."
|
||||
]
|
||||
},
|
||||
"is_internal": false,
|
||||
"source_location": {
|
||||
"filename": "imgui_impl_dx10.h",
|
||||
"line": 33
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "cImGui_ImplDX10_InvalidateDeviceObjects",
|
||||
"original_fully_qualified_name": "ImGui_ImplDX10_InvalidateDeviceObjects",
|
||||
"return_type": {
|
||||
"declaration": "void",
|
||||
"description": {
|
||||
"kind": "Builtin",
|
||||
"builtin_type": "void"
|
||||
}
|
||||
},
|
||||
"arguments": [],
|
||||
"is_default_argument_helper": false,
|
||||
"is_manual_helper": false,
|
||||
"is_imstr_helper": false,
|
||||
"has_imstr_helper": false,
|
||||
"is_unformatted_helper": false,
|
||||
"is_static": false,
|
||||
"is_internal": false,
|
||||
"source_location": {
|
||||
"filename": "imgui_impl_dx10.h",
|
||||
"line": 34
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "cImGui_ImplDX10_UpdateTexture",
|
||||
"original_fully_qualified_name": "ImGui_ImplDX10_UpdateTexture",
|
||||
"return_type": {
|
||||
"declaration": "void",
|
||||
"description": {
|
||||
"kind": "Builtin",
|
||||
"builtin_type": "void"
|
||||
}
|
||||
},
|
||||
"arguments": [
|
||||
{
|
||||
"name": "tex",
|
||||
"type": {
|
||||
"declaration": "ImTextureData*",
|
||||
"description": {
|
||||
"kind": "Pointer",
|
||||
"inner_type": {
|
||||
"kind": "User",
|
||||
"name": "ImTextureData"
|
||||
}
|
||||
}
|
||||
},
|
||||
"is_array": false,
|
||||
"is_varargs": false,
|
||||
"is_instance_pointer": false
|
||||
}
|
||||
],
|
||||
"is_default_argument_helper": false,
|
||||
"is_manual_helper": false,
|
||||
"is_imstr_helper": false,
|
||||
"has_imstr_helper": false,
|
||||
"is_unformatted_helper": false,
|
||||
"is_static": false,
|
||||
"comments": {
|
||||
"preceding": [
|
||||
"// (Advanced) Use e.g. if you need to precisely control the timing of texture updates (e.g. for staged rendering), by setting ImDrawData::Textures = nullptr to handle this manually."
|
||||
]
|
||||
},
|
||||
"is_internal": false,
|
||||
"source_location": {
|
||||
"filename": "imgui_impl_dx10.h",
|
||||
"line": 37
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,7 @@
|
||||
{
|
||||
"defines": [],
|
||||
"enums": [],
|
||||
"typedefs": [],
|
||||
"structs": [],
|
||||
"functions": []
|
||||
}
|
||||
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,133 @@
|
||||
// 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_dx11.h"
|
||||
|
||||
#include <stdio.h>
|
||||
|
||||
// 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_dx11.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_ImplDX11_Init(ID3D11Device* device, ID3D11DeviceContext* device_context)
|
||||
{
|
||||
return ::ImGui_ImplDX11_Init(device, device_context);
|
||||
}
|
||||
|
||||
CIMGUI_IMPL_API void cimgui::cImGui_ImplDX11_Shutdown(void)
|
||||
{
|
||||
::ImGui_ImplDX11_Shutdown();
|
||||
}
|
||||
|
||||
CIMGUI_IMPL_API void cimgui::cImGui_ImplDX11_NewFrame(void)
|
||||
{
|
||||
::ImGui_ImplDX11_NewFrame();
|
||||
}
|
||||
|
||||
CIMGUI_IMPL_API void cimgui::cImGui_ImplDX11_RenderDrawData(cimgui::ImDrawData* draw_data)
|
||||
{
|
||||
::ImGui_ImplDX11_RenderDrawData(reinterpret_cast<::ImDrawData*>(draw_data));
|
||||
}
|
||||
|
||||
CIMGUI_IMPL_API bool cimgui::cImGui_ImplDX11_CreateDeviceObjects(void)
|
||||
{
|
||||
return ::ImGui_ImplDX11_CreateDeviceObjects();
|
||||
}
|
||||
|
||||
CIMGUI_IMPL_API void cimgui::cImGui_ImplDX11_InvalidateDeviceObjects(void)
|
||||
{
|
||||
::ImGui_ImplDX11_InvalidateDeviceObjects();
|
||||
}
|
||||
|
||||
CIMGUI_IMPL_API void cimgui::cImGui_ImplDX11_UpdateTexture(cimgui::ImTextureData* tex)
|
||||
{
|
||||
::ImGui_ImplDX11_UpdateTexture(reinterpret_cast<::ImTextureData*>(tex));
|
||||
}
|
||||
|
||||
#endif // #ifndef IMGUI_DISABLE
|
||||
@@ -0,0 +1,67 @@
|
||||
// THIS FILE HAS BEEN AUTO-GENERATED BY THE 'DEAR BINDINGS' GENERATOR.
|
||||
// **DO NOT EDIT DIRECTLY**
|
||||
// https://github.com/dearimgui/dear_bindings
|
||||
|
||||
// dear imgui: Renderer Backend for DirectX11
|
||||
// Auto-generated forward declarations for C header
|
||||
typedef struct ImGui_ImplDX11_RenderState_t ImGui_ImplDX11_RenderState;
|
||||
// ImDrawIdx: vertex index. [Compile-time configurable type]
|
||||
// - To use 16-bit indices + allow large meshes: backend need to set 'io.BackendFlags |= ImGuiBackendFlags_RendererHasVtxOffset' and handle ImDrawCmd::VtxOffset (recommended).
|
||||
// - To use 32-bit indices: override with '#define ImDrawIdx unsigned int' in your imconfig.h file.
|
||||
#ifndef ImDrawIdx
|
||||
typedef unsigned short ImDrawIdx; // Default: 16-bit (for maximum compatibility with renderer backends)
|
||||
#endif // #ifndef ImDrawIdx
|
||||
// This needs to be used along with a Platform Backend (e.g. Win32)
|
||||
|
||||
// Implemented features:
|
||||
// [X] Renderer: User texture binding. Use 'ID3D11ShaderResourceView*' as texture identifier. Read the FAQ about ImTextureID/ImTextureRef!
|
||||
// [X] Renderer: Large meshes support (64k+ vertices) even with 16-bit indices (ImGuiBackendFlags_RendererHasVtxOffset).
|
||||
// [X] Renderer: Texture updates support for dynamic font atlas (ImGuiBackendFlags_RendererHasTextures).
|
||||
// [X] Renderer: Expose selected render state for draw callbacks to use. Access in '(ImGui_ImplXXXX_RenderState*)GetPlatformIO().Renderer_RenderState'.
|
||||
// [X] Renderer: Multi-viewport support (multiple windows). Enable with 'io.ConfigFlags |= ImGuiConfigFlags_ViewportsEnable'.
|
||||
|
||||
// You can use unmodified imgui_impl_* files in your project. See examples/ folder for examples of using this.
|
||||
// Prefer including the entire imgui/ repository into your project (either as a copy or as a submodule), and only build the backends you need.
|
||||
// Learn about Dear ImGui:
|
||||
// - FAQ https://dearimgui.com/faq
|
||||
// - Getting Started https://dearimgui.com/getting-started
|
||||
// - Documentation https://dearimgui.com/docs (same as your local docs/ folder).
|
||||
// - Introduction, links and more at the top of imgui.cpp
|
||||
|
||||
#pragma once
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C"
|
||||
{
|
||||
#endif
|
||||
#include "dcimgui.h"
|
||||
#ifndef IMGUI_DISABLE
|
||||
typedef struct ImDrawData_t ImDrawData;
|
||||
// Follow "Getting Started" link and check examples/ folder to learn about using backends!
|
||||
CIMGUI_IMPL_API bool cImGui_ImplDX11_Init(ID3D11Device* device, ID3D11DeviceContext* device_context);
|
||||
CIMGUI_IMPL_API void cImGui_ImplDX11_Shutdown(void);
|
||||
CIMGUI_IMPL_API void cImGui_ImplDX11_NewFrame(void);
|
||||
CIMGUI_IMPL_API void cImGui_ImplDX11_RenderDrawData(ImDrawData* draw_data);
|
||||
|
||||
// Use if you want to reset your rendering device without losing Dear ImGui state.
|
||||
CIMGUI_IMPL_API bool cImGui_ImplDX11_CreateDeviceObjects(void);
|
||||
CIMGUI_IMPL_API void cImGui_ImplDX11_InvalidateDeviceObjects(void);
|
||||
|
||||
// (Advanced) Use e.g. if you need to precisely control the timing of texture updates (e.g. for staged rendering), by setting ImDrawData::Textures = nullptr to handle this manually.
|
||||
CIMGUI_IMPL_API void cImGui_ImplDX11_UpdateTexture(ImTextureData* tex);
|
||||
|
||||
// [BETA] Selected render state data shared with callbacks.
|
||||
// This is temporarily stored in GetPlatformIO().Renderer_RenderState during the ImGui_ImplDX11_RenderDrawData() call.
|
||||
// (Please open an issue if you feel you need access to more data)
|
||||
struct ImGui_ImplDX11_RenderState_t
|
||||
{
|
||||
ID3D11Device* Device;
|
||||
ID3D11DeviceContext* DeviceContext;
|
||||
ID3D11SamplerState* SamplerLinear;
|
||||
ID3D11SamplerState* SamplerNearest;
|
||||
ID3D11Buffer* VertexConstantBuffer;
|
||||
};
|
||||
#endif// #ifndef IMGUI_DISABLE
|
||||
#ifdef __cplusplus
|
||||
} // End of extern "C" block
|
||||
#endif
|
||||
@@ -0,0 +1,412 @@
|
||||
{
|
||||
"defines": [],
|
||||
"enums": [],
|
||||
"typedefs": [
|
||||
{
|
||||
"name": "ImDrawIdx",
|
||||
"type": {
|
||||
"declaration": "unsigned short",
|
||||
"description": {
|
||||
"kind": "Builtin",
|
||||
"builtin_type": "unsigned_short"
|
||||
}
|
||||
},
|
||||
"comments": {
|
||||
"attached": "// Default: 16-bit (for maximum compatibility with renderer backends)"
|
||||
},
|
||||
"conditionals": [
|
||||
{
|
||||
"condition": "ifndef",
|
||||
"expression": "ImDrawIdx"
|
||||
}
|
||||
],
|
||||
"is_internal": false,
|
||||
"source_location": {
|
||||
"filename": "imgui_impl_dx11.h"
|
||||
}
|
||||
}
|
||||
],
|
||||
"structs": [
|
||||
{
|
||||
"name": "ImDrawData",
|
||||
"original_fully_qualified_name": "ImDrawData",
|
||||
"kind": "struct",
|
||||
"by_value": false,
|
||||
"forward_declaration": true,
|
||||
"is_anonymous": false,
|
||||
"fields": [],
|
||||
"is_internal": false,
|
||||
"source_location": {
|
||||
"filename": "imgui_impl_dx11.h",
|
||||
"line": 1
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "ImGui_ImplDX11_RenderState",
|
||||
"original_fully_qualified_name": "ImGui_ImplDX11_RenderState",
|
||||
"kind": "struct",
|
||||
"by_value": false,
|
||||
"forward_declaration": false,
|
||||
"is_anonymous": false,
|
||||
"fields": [
|
||||
{
|
||||
"name": "Device",
|
||||
"is_array": false,
|
||||
"is_anonymous": false,
|
||||
"type": {
|
||||
"declaration": "ID3D11Device*",
|
||||
"description": {
|
||||
"kind": "Pointer",
|
||||
"inner_type": {
|
||||
"kind": "User",
|
||||
"name": "ID3D11Device"
|
||||
}
|
||||
}
|
||||
},
|
||||
"is_internal": false,
|
||||
"source_location": {
|
||||
"filename": "imgui_impl_dx11.h",
|
||||
"line": 46
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "DeviceContext",
|
||||
"is_array": false,
|
||||
"is_anonymous": false,
|
||||
"type": {
|
||||
"declaration": "ID3D11DeviceContext*",
|
||||
"description": {
|
||||
"kind": "Pointer",
|
||||
"inner_type": {
|
||||
"kind": "User",
|
||||
"name": "ID3D11DeviceContext"
|
||||
}
|
||||
}
|
||||
},
|
||||
"is_internal": false,
|
||||
"source_location": {
|
||||
"filename": "imgui_impl_dx11.h",
|
||||
"line": 47
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "SamplerLinear",
|
||||
"is_array": false,
|
||||
"is_anonymous": false,
|
||||
"type": {
|
||||
"declaration": "ID3D11SamplerState*",
|
||||
"description": {
|
||||
"kind": "Pointer",
|
||||
"inner_type": {
|
||||
"kind": "User",
|
||||
"name": "ID3D11SamplerState"
|
||||
}
|
||||
}
|
||||
},
|
||||
"is_internal": false,
|
||||
"source_location": {
|
||||
"filename": "imgui_impl_dx11.h",
|
||||
"line": 48
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "SamplerNearest",
|
||||
"is_array": false,
|
||||
"is_anonymous": false,
|
||||
"type": {
|
||||
"declaration": "ID3D11SamplerState*",
|
||||
"description": {
|
||||
"kind": "Pointer",
|
||||
"inner_type": {
|
||||
"kind": "User",
|
||||
"name": "ID3D11SamplerState"
|
||||
}
|
||||
}
|
||||
},
|
||||
"is_internal": false,
|
||||
"source_location": {
|
||||
"filename": "imgui_impl_dx11.h",
|
||||
"line": 49
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "VertexConstantBuffer",
|
||||
"is_array": false,
|
||||
"is_anonymous": false,
|
||||
"type": {
|
||||
"declaration": "ID3D11Buffer*",
|
||||
"description": {
|
||||
"kind": "Pointer",
|
||||
"inner_type": {
|
||||
"kind": "User",
|
||||
"name": "ID3D11Buffer"
|
||||
}
|
||||
}
|
||||
},
|
||||
"is_internal": false,
|
||||
"source_location": {
|
||||
"filename": "imgui_impl_dx11.h",
|
||||
"line": 50
|
||||
}
|
||||
}
|
||||
],
|
||||
"comments": {
|
||||
"preceding": [
|
||||
"// [BETA] Selected render state data shared with callbacks.",
|
||||
"// This is temporarily stored in GetPlatformIO().Renderer_RenderState during the ImGui_ImplDX11_RenderDrawData() call.",
|
||||
"// (Please open an issue if you feel you need access to more data)"
|
||||
]
|
||||
},
|
||||
"is_internal": false,
|
||||
"source_location": {
|
||||
"filename": "imgui_impl_dx11.h",
|
||||
"line": 44
|
||||
}
|
||||
}
|
||||
],
|
||||
"functions": [
|
||||
{
|
||||
"name": "cImGui_ImplDX11_Init",
|
||||
"original_fully_qualified_name": "ImGui_ImplDX11_Init",
|
||||
"return_type": {
|
||||
"declaration": "bool",
|
||||
"description": {
|
||||
"kind": "Builtin",
|
||||
"builtin_type": "bool"
|
||||
}
|
||||
},
|
||||
"arguments": [
|
||||
{
|
||||
"name": "device",
|
||||
"type": {
|
||||
"declaration": "ID3D11Device*",
|
||||
"description": {
|
||||
"kind": "Pointer",
|
||||
"inner_type": {
|
||||
"kind": "User",
|
||||
"name": "ID3D11Device"
|
||||
}
|
||||
}
|
||||
},
|
||||
"is_array": false,
|
||||
"is_varargs": false,
|
||||
"is_instance_pointer": false
|
||||
},
|
||||
{
|
||||
"name": "device_context",
|
||||
"type": {
|
||||
"declaration": "ID3D11DeviceContext*",
|
||||
"description": {
|
||||
"kind": "Pointer",
|
||||
"inner_type": {
|
||||
"kind": "User",
|
||||
"name": "ID3D11DeviceContext"
|
||||
}
|
||||
}
|
||||
},
|
||||
"is_array": false,
|
||||
"is_varargs": false,
|
||||
"is_instance_pointer": false
|
||||
}
|
||||
],
|
||||
"is_default_argument_helper": false,
|
||||
"is_manual_helper": false,
|
||||
"is_imstr_helper": false,
|
||||
"has_imstr_helper": false,
|
||||
"is_unformatted_helper": false,
|
||||
"is_static": false,
|
||||
"comments": {
|
||||
"preceding": [
|
||||
"// Follow \"Getting Started\" link and check examples/ folder to learn about using backends!"
|
||||
]
|
||||
},
|
||||
"is_internal": false,
|
||||
"source_location": {
|
||||
"filename": "imgui_impl_dx11.h",
|
||||
"line": 29
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "cImGui_ImplDX11_Shutdown",
|
||||
"original_fully_qualified_name": "ImGui_ImplDX11_Shutdown",
|
||||
"return_type": {
|
||||
"declaration": "void",
|
||||
"description": {
|
||||
"kind": "Builtin",
|
||||
"builtin_type": "void"
|
||||
}
|
||||
},
|
||||
"arguments": [],
|
||||
"is_default_argument_helper": false,
|
||||
"is_manual_helper": false,
|
||||
"is_imstr_helper": false,
|
||||
"has_imstr_helper": false,
|
||||
"is_unformatted_helper": false,
|
||||
"is_static": false,
|
||||
"is_internal": false,
|
||||
"source_location": {
|
||||
"filename": "imgui_impl_dx11.h",
|
||||
"line": 30
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "cImGui_ImplDX11_NewFrame",
|
||||
"original_fully_qualified_name": "ImGui_ImplDX11_NewFrame",
|
||||
"return_type": {
|
||||
"declaration": "void",
|
||||
"description": {
|
||||
"kind": "Builtin",
|
||||
"builtin_type": "void"
|
||||
}
|
||||
},
|
||||
"arguments": [],
|
||||
"is_default_argument_helper": false,
|
||||
"is_manual_helper": false,
|
||||
"is_imstr_helper": false,
|
||||
"has_imstr_helper": false,
|
||||
"is_unformatted_helper": false,
|
||||
"is_static": false,
|
||||
"is_internal": false,
|
||||
"source_location": {
|
||||
"filename": "imgui_impl_dx11.h",
|
||||
"line": 31
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "cImGui_ImplDX11_RenderDrawData",
|
||||
"original_fully_qualified_name": "ImGui_ImplDX11_RenderDrawData",
|
||||
"return_type": {
|
||||
"declaration": "void",
|
||||
"description": {
|
||||
"kind": "Builtin",
|
||||
"builtin_type": "void"
|
||||
}
|
||||
},
|
||||
"arguments": [
|
||||
{
|
||||
"name": "draw_data",
|
||||
"type": {
|
||||
"declaration": "ImDrawData*",
|
||||
"description": {
|
||||
"kind": "Pointer",
|
||||
"inner_type": {
|
||||
"kind": "User",
|
||||
"name": "ImDrawData"
|
||||
}
|
||||
}
|
||||
},
|
||||
"is_array": false,
|
||||
"is_varargs": false,
|
||||
"is_instance_pointer": false
|
||||
}
|
||||
],
|
||||
"is_default_argument_helper": false,
|
||||
"is_manual_helper": false,
|
||||
"is_imstr_helper": false,
|
||||
"has_imstr_helper": false,
|
||||
"is_unformatted_helper": false,
|
||||
"is_static": false,
|
||||
"is_internal": false,
|
||||
"source_location": {
|
||||
"filename": "imgui_impl_dx11.h",
|
||||
"line": 32
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "cImGui_ImplDX11_CreateDeviceObjects",
|
||||
"original_fully_qualified_name": "ImGui_ImplDX11_CreateDeviceObjects",
|
||||
"return_type": {
|
||||
"declaration": "bool",
|
||||
"description": {
|
||||
"kind": "Builtin",
|
||||
"builtin_type": "bool"
|
||||
}
|
||||
},
|
||||
"arguments": [],
|
||||
"is_default_argument_helper": false,
|
||||
"is_manual_helper": false,
|
||||
"is_imstr_helper": false,
|
||||
"has_imstr_helper": false,
|
||||
"is_unformatted_helper": false,
|
||||
"is_static": false,
|
||||
"comments": {
|
||||
"preceding": [
|
||||
"// Use if you want to reset your rendering device without losing Dear ImGui state."
|
||||
]
|
||||
},
|
||||
"is_internal": false,
|
||||
"source_location": {
|
||||
"filename": "imgui_impl_dx11.h",
|
||||
"line": 35
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "cImGui_ImplDX11_InvalidateDeviceObjects",
|
||||
"original_fully_qualified_name": "ImGui_ImplDX11_InvalidateDeviceObjects",
|
||||
"return_type": {
|
||||
"declaration": "void",
|
||||
"description": {
|
||||
"kind": "Builtin",
|
||||
"builtin_type": "void"
|
||||
}
|
||||
},
|
||||
"arguments": [],
|
||||
"is_default_argument_helper": false,
|
||||
"is_manual_helper": false,
|
||||
"is_imstr_helper": false,
|
||||
"has_imstr_helper": false,
|
||||
"is_unformatted_helper": false,
|
||||
"is_static": false,
|
||||
"is_internal": false,
|
||||
"source_location": {
|
||||
"filename": "imgui_impl_dx11.h",
|
||||
"line": 36
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "cImGui_ImplDX11_UpdateTexture",
|
||||
"original_fully_qualified_name": "ImGui_ImplDX11_UpdateTexture",
|
||||
"return_type": {
|
||||
"declaration": "void",
|
||||
"description": {
|
||||
"kind": "Builtin",
|
||||
"builtin_type": "void"
|
||||
}
|
||||
},
|
||||
"arguments": [
|
||||
{
|
||||
"name": "tex",
|
||||
"type": {
|
||||
"declaration": "ImTextureData*",
|
||||
"description": {
|
||||
"kind": "Pointer",
|
||||
"inner_type": {
|
||||
"kind": "User",
|
||||
"name": "ImTextureData"
|
||||
}
|
||||
}
|
||||
},
|
||||
"is_array": false,
|
||||
"is_varargs": false,
|
||||
"is_instance_pointer": false
|
||||
}
|
||||
],
|
||||
"is_default_argument_helper": false,
|
||||
"is_manual_helper": false,
|
||||
"is_imstr_helper": false,
|
||||
"has_imstr_helper": false,
|
||||
"is_unformatted_helper": false,
|
||||
"is_static": false,
|
||||
"comments": {
|
||||
"preceding": [
|
||||
"// (Advanced) Use e.g. if you need to precisely control the timing of texture updates (e.g. for staged rendering), by setting ImDrawData::Textures = nullptr to handle this manually."
|
||||
]
|
||||
},
|
||||
"is_internal": false,
|
||||
"source_location": {
|
||||
"filename": "imgui_impl_dx11.h",
|
||||
"line": 39
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,7 @@
|
||||
{
|
||||
"defines": [],
|
||||
"enums": [],
|
||||
"typedefs": [],
|
||||
"structs": [],
|
||||
"functions": []
|
||||
}
|
||||
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,143 @@
|
||||
// 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_dx12.h"
|
||||
|
||||
#include <stdio.h>
|
||||
#include <d3d12.h>
|
||||
|
||||
// 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_dx12.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_ImplDX12_Init(cimgui::ImGui_ImplDX12_InitInfo* info)
|
||||
{
|
||||
return ::ImGui_ImplDX12_Init(reinterpret_cast<::ImGui_ImplDX12_InitInfo*>(info));
|
||||
}
|
||||
|
||||
CIMGUI_IMPL_API void cimgui::cImGui_ImplDX12_Shutdown(void)
|
||||
{
|
||||
::ImGui_ImplDX12_Shutdown();
|
||||
}
|
||||
|
||||
CIMGUI_IMPL_API void cimgui::cImGui_ImplDX12_NewFrame(void)
|
||||
{
|
||||
::ImGui_ImplDX12_NewFrame();
|
||||
}
|
||||
|
||||
CIMGUI_IMPL_API void cimgui::cImGui_ImplDX12_RenderDrawData(cimgui::ImDrawData* draw_data, ID3D12GraphicsCommandList* graphics_command_list)
|
||||
{
|
||||
::ImGui_ImplDX12_RenderDrawData(reinterpret_cast<::ImDrawData*>(draw_data), graphics_command_list);
|
||||
}
|
||||
|
||||
#ifndef IMGUI_DISABLE_OBSOLETE_FUNCTIONS
|
||||
|
||||
CIMGUI_IMPL_API bool cimgui::cImGui_ImplDX12_InitID3D12DevicePtr(ID3D12Device* device, int num_frames_in_flight, DXGI_FORMAT rtv_format, ID3D12DescriptorHeap* srv_descriptor_heap, D3D12_CPU_DESCRIPTOR_HANDLE font_srv_cpu_desc_handle, D3D12_GPU_DESCRIPTOR_HANDLE font_srv_gpu_desc_handle)
|
||||
{
|
||||
return ::ImGui_ImplDX12_Init(device, num_frames_in_flight, rtv_format, srv_descriptor_heap, font_srv_cpu_desc_handle, font_srv_gpu_desc_handle);
|
||||
}
|
||||
|
||||
#endif // #ifndef IMGUI_DISABLE_OBSOLETE_FUNCTIONS
|
||||
|
||||
CIMGUI_IMPL_API bool cimgui::cImGui_ImplDX12_CreateDeviceObjects(void)
|
||||
{
|
||||
return ::ImGui_ImplDX12_CreateDeviceObjects();
|
||||
}
|
||||
|
||||
CIMGUI_IMPL_API void cimgui::cImGui_ImplDX12_InvalidateDeviceObjects(void)
|
||||
{
|
||||
::ImGui_ImplDX12_InvalidateDeviceObjects();
|
||||
}
|
||||
|
||||
CIMGUI_IMPL_API void cimgui::cImGui_ImplDX12_UpdateTexture(cimgui::ImTextureData* tex)
|
||||
{
|
||||
::ImGui_ImplDX12_UpdateTexture(reinterpret_cast<::ImTextureData*>(tex));
|
||||
}
|
||||
|
||||
#endif // #ifndef IMGUI_DISABLE
|
||||
@@ -0,0 +1,106 @@
|
||||
// THIS FILE HAS BEEN AUTO-GENERATED BY THE 'DEAR BINDINGS' GENERATOR.
|
||||
// **DO NOT EDIT DIRECTLY**
|
||||
// https://github.com/dearimgui/dear_bindings
|
||||
|
||||
// dear imgui: Renderer Backend for DirectX12
|
||||
// Auto-generated forward declarations for C header
|
||||
typedef struct ImGui_ImplDX12_InitInfo_t ImGui_ImplDX12_InitInfo;
|
||||
typedef struct ImGui_ImplDX12_RenderState_t ImGui_ImplDX12_RenderState;
|
||||
// ImDrawIdx: vertex index. [Compile-time configurable type]
|
||||
// - To use 16-bit indices + allow large meshes: backend need to set 'io.BackendFlags |= ImGuiBackendFlags_RendererHasVtxOffset' and handle ImDrawCmd::VtxOffset (recommended).
|
||||
// - To use 32-bit indices: override with '#define ImDrawIdx unsigned int' in your imconfig.h file.
|
||||
#ifndef ImDrawIdx
|
||||
typedef unsigned short ImDrawIdx; // Default: 16-bit (for maximum compatibility with renderer backends)
|
||||
#endif // #ifndef ImDrawIdx
|
||||
// This needs to be used along with a Platform Backend (e.g. Win32)
|
||||
|
||||
// Implemented features:
|
||||
// [X] Renderer: User texture binding. Use 'D3D12_GPU_DESCRIPTOR_HANDLE' as texture identifier. Read the FAQ about ImTextureID/ImTextureRef!
|
||||
// [X] Renderer: Large meshes support (64k+ vertices) even with 16-bit indices (ImGuiBackendFlags_RendererHasVtxOffset).
|
||||
// [X] Renderer: Texture updates support for dynamic font atlas (ImGuiBackendFlags_RendererHasTextures).
|
||||
// [X] Renderer: Expose selected render state for draw callbacks to use. Access in '(ImGui_ImplXXXX_RenderState*)GetPlatformIO().Renderer_RenderState'.
|
||||
// [X] Renderer: Multi-viewport support (multiple windows). Enable with 'io.ConfigFlags |= ImGuiConfigFlags_ViewportsEnable'.
|
||||
|
||||
// The aim of imgui_impl_dx12.h/.cpp is to be usable in your engine without any modification.
|
||||
// IF YOU FEEL YOU NEED TO MAKE ANY CHANGE TO THIS CODE, please share them and your feedback at https://github.com/ocornut/imgui/
|
||||
|
||||
// You can use unmodified imgui_impl_* files in your project. See examples/ folder for examples of using this.
|
||||
// Prefer including the entire imgui/ repository into your project (either as a copy or as a submodule), and only build the backends you need.
|
||||
// Learn about Dear ImGui:
|
||||
// - FAQ https://dearimgui.com/faq
|
||||
// - Getting Started https://dearimgui.com/getting-started
|
||||
// - Documentation https://dearimgui.com/docs (same as your local docs/ folder).
|
||||
// - Introduction, links and more at the top of imgui.cpp
|
||||
|
||||
#pragma once
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C"
|
||||
{
|
||||
#endif
|
||||
#include "dcimgui.h"
|
||||
#ifndef IMGUI_DISABLE
|
||||
#include <dxgiformat.h>
|
||||
#include <d3d12.h>
|
||||
// Clang/GCC warnings with -Weverything
|
||||
#if defined(__clang__)
|
||||
#pragma clang diagnostic push
|
||||
#pragma clang diagnostic ignored "-Wold-style-cast" // warning: use of old-style cast
|
||||
#endif // #if defined(__clang__)
|
||||
typedef struct ImGui_ImplDX12_InitInfo_ImDrawData_t ImGui_ImplDX12_InitInfo_ImDrawData;
|
||||
// Initialization data, for ImGui_ImplDX12_Init()
|
||||
struct ImGui_ImplDX12_InitInfo_t
|
||||
{
|
||||
ID3D12Device* Device;
|
||||
ID3D12CommandQueue* CommandQueue; // Command queue used for queuing texture uploads.
|
||||
int NumFramesInFlight;
|
||||
DXGI_FORMAT RTVFormat; // RenderTarget format.
|
||||
DXGI_FORMAT DSVFormat; // DepthStencilView format.
|
||||
void* UserData;
|
||||
|
||||
// Allocating SRV descriptors for textures is up to the application, so we provide callbacks.
|
||||
// (current version of the backend will only allocate one descriptor, from 1.92 the backend will need to allocate more)
|
||||
ID3D12DescriptorHeap* SrvDescriptorHeap;
|
||||
void (*SrvDescriptorAllocFn)(ImGui_ImplDX12_InitInfo* info, D3D12_CPU_DESCRIPTOR_HANDLE* out_cpu_desc_handle, D3D12_GPU_DESCRIPTOR_HANDLE* out_gpu_desc_handle);
|
||||
void (*SrvDescriptorFreeFn)(ImGui_ImplDX12_InitInfo* info, D3D12_CPU_DESCRIPTOR_HANDLE cpu_desc_handle, D3D12_GPU_DESCRIPTOR_HANDLE gpu_desc_handle);
|
||||
#ifndef IMGUI_DISABLE_OBSOLETE_FUNCTIONS
|
||||
D3D12_CPU_DESCRIPTOR_HANDLE LegacySingleSrvCpuDescriptor; // To facilitate transition from single descriptor to allocator callback, you may use those.
|
||||
D3D12_GPU_DESCRIPTOR_HANDLE LegacySingleSrvGpuDescriptor;
|
||||
#endif // #ifndef IMGUI_DISABLE_OBSOLETE_FUNCTIONS
|
||||
};
|
||||
|
||||
// Follow "Getting Started" link and check examples/ folder to learn about using backends!
|
||||
CIMGUI_IMPL_API bool cImGui_ImplDX12_Init(ImGui_ImplDX12_InitInfo* info);
|
||||
CIMGUI_IMPL_API void cImGui_ImplDX12_Shutdown(void);
|
||||
CIMGUI_IMPL_API void cImGui_ImplDX12_NewFrame(void);
|
||||
CIMGUI_IMPL_API void cImGui_ImplDX12_RenderDrawData(ImDrawData* draw_data, ID3D12GraphicsCommandList* graphics_command_list);
|
||||
|
||||
#ifndef IMGUI_DISABLE_OBSOLETE_FUNCTIONS
|
||||
// Legacy initialization API Obsoleted in 1.91.5
|
||||
// - font_srv_cpu_desc_handle and font_srv_gpu_desc_handle are handles to a single SRV descriptor to use for the internal font texture, they must be in 'srv_descriptor_heap'
|
||||
// - When we introduced the ImGui_ImplDX12_InitInfo struct we also added a 'ID3D12CommandQueue* CommandQueue' field.
|
||||
CIMGUI_IMPL_API bool cImGui_ImplDX12_InitID3D12DevicePtr(ID3D12Device* device, int num_frames_in_flight, DXGI_FORMAT rtv_format, ID3D12DescriptorHeap* srv_descriptor_heap, D3D12_CPU_DESCRIPTOR_HANDLE font_srv_cpu_desc_handle, D3D12_GPU_DESCRIPTOR_HANDLE font_srv_gpu_desc_handle);
|
||||
#endif // #ifndef IMGUI_DISABLE_OBSOLETE_FUNCTIONS
|
||||
// Use if you want to reset your rendering device without losing Dear ImGui state.
|
||||
CIMGUI_IMPL_API bool cImGui_ImplDX12_CreateDeviceObjects(void);
|
||||
CIMGUI_IMPL_API void cImGui_ImplDX12_InvalidateDeviceObjects(void);
|
||||
|
||||
// (Advanced) Use e.g. if you need to precisely control the timing of texture updates (e.g. for staged rendering), by setting ImDrawData::Textures = nullptr to handle this manually.
|
||||
CIMGUI_IMPL_API void cImGui_ImplDX12_UpdateTexture(ImTextureData* tex);
|
||||
|
||||
// [BETA] Selected render state data shared with callbacks.
|
||||
// This is temporarily stored in GetPlatformIO().Renderer_RenderState during the ImGui_ImplDX12_RenderDrawData() call.
|
||||
// (Please open an issue if you feel you need access to more data)
|
||||
struct ImGui_ImplDX12_RenderState_t
|
||||
{
|
||||
ID3D12Device* Device;
|
||||
ID3D12GraphicsCommandList* CommandList;
|
||||
};
|
||||
|
||||
#if defined(__clang__)
|
||||
#pragma clang diagnostic pop
|
||||
#endif // #if defined(__clang__)
|
||||
#endif// #ifndef IMGUI_DISABLE
|
||||
#ifdef __cplusplus
|
||||
} // End of extern "C" block
|
||||
#endif
|
||||
@@ -0,0 +1,918 @@
|
||||
{
|
||||
"defines": [],
|
||||
"enums": [],
|
||||
"typedefs": [
|
||||
{
|
||||
"name": "ImDrawIdx",
|
||||
"type": {
|
||||
"declaration": "unsigned short",
|
||||
"description": {
|
||||
"kind": "Builtin",
|
||||
"builtin_type": "unsigned_short"
|
||||
}
|
||||
},
|
||||
"comments": {
|
||||
"attached": "// Default: 16-bit (for maximum compatibility with renderer backends)"
|
||||
},
|
||||
"conditionals": [
|
||||
{
|
||||
"condition": "ifndef",
|
||||
"expression": "ImDrawIdx"
|
||||
}
|
||||
],
|
||||
"is_internal": false,
|
||||
"source_location": {
|
||||
"filename": "imgui_impl_dx12.h"
|
||||
}
|
||||
}
|
||||
],
|
||||
"structs": [
|
||||
{
|
||||
"name": "ImGui_ImplDX12_InitInfo_ImDrawData",
|
||||
"original_fully_qualified_name": "ImGui_ImplDX12_InitInfo_ImDrawData",
|
||||
"kind": "struct",
|
||||
"by_value": false,
|
||||
"forward_declaration": true,
|
||||
"is_anonymous": false,
|
||||
"fields": [],
|
||||
"is_internal": false,
|
||||
"source_location": {
|
||||
"filename": "imgui_impl_dx12.h",
|
||||
"line": 1
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "ImGui_ImplDX12_InitInfo",
|
||||
"original_fully_qualified_name": "ImGui_ImplDX12_InitInfo",
|
||||
"kind": "struct",
|
||||
"by_value": false,
|
||||
"forward_declaration": false,
|
||||
"is_anonymous": false,
|
||||
"fields": [
|
||||
{
|
||||
"name": "Device",
|
||||
"is_array": false,
|
||||
"is_anonymous": false,
|
||||
"type": {
|
||||
"declaration": "ID3D12Device*",
|
||||
"description": {
|
||||
"kind": "Pointer",
|
||||
"inner_type": {
|
||||
"kind": "User",
|
||||
"name": "ID3D12Device"
|
||||
}
|
||||
}
|
||||
},
|
||||
"is_internal": false,
|
||||
"source_location": {
|
||||
"filename": "imgui_impl_dx12.h",
|
||||
"line": 37
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "CommandQueue",
|
||||
"is_array": false,
|
||||
"is_anonymous": false,
|
||||
"type": {
|
||||
"declaration": "ID3D12CommandQueue*",
|
||||
"description": {
|
||||
"kind": "Pointer",
|
||||
"inner_type": {
|
||||
"kind": "User",
|
||||
"name": "ID3D12CommandQueue"
|
||||
}
|
||||
}
|
||||
},
|
||||
"comments": {
|
||||
"attached": "// Command queue used for queuing texture uploads."
|
||||
},
|
||||
"is_internal": false,
|
||||
"source_location": {
|
||||
"filename": "imgui_impl_dx12.h",
|
||||
"line": 38
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "NumFramesInFlight",
|
||||
"is_array": false,
|
||||
"is_anonymous": false,
|
||||
"type": {
|
||||
"declaration": "int",
|
||||
"description": {
|
||||
"kind": "Builtin",
|
||||
"builtin_type": "int"
|
||||
}
|
||||
},
|
||||
"is_internal": false,
|
||||
"source_location": {
|
||||
"filename": "imgui_impl_dx12.h",
|
||||
"line": 39
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "RTVFormat",
|
||||
"is_array": false,
|
||||
"is_anonymous": false,
|
||||
"type": {
|
||||
"declaration": "DXGI_FORMAT",
|
||||
"description": {
|
||||
"kind": "User",
|
||||
"name": "DXGI_FORMAT"
|
||||
}
|
||||
},
|
||||
"comments": {
|
||||
"attached": "// RenderTarget format."
|
||||
},
|
||||
"is_internal": false,
|
||||
"source_location": {
|
||||
"filename": "imgui_impl_dx12.h",
|
||||
"line": 40
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "DSVFormat",
|
||||
"is_array": false,
|
||||
"is_anonymous": false,
|
||||
"type": {
|
||||
"declaration": "DXGI_FORMAT",
|
||||
"description": {
|
||||
"kind": "User",
|
||||
"name": "DXGI_FORMAT"
|
||||
}
|
||||
},
|
||||
"comments": {
|
||||
"attached": "// DepthStencilView format."
|
||||
},
|
||||
"is_internal": false,
|
||||
"source_location": {
|
||||
"filename": "imgui_impl_dx12.h",
|
||||
"line": 41
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "UserData",
|
||||
"is_array": false,
|
||||
"is_anonymous": false,
|
||||
"type": {
|
||||
"declaration": "void*",
|
||||
"description": {
|
||||
"kind": "Pointer",
|
||||
"inner_type": {
|
||||
"kind": "Builtin",
|
||||
"builtin_type": "void"
|
||||
}
|
||||
}
|
||||
},
|
||||
"is_internal": false,
|
||||
"source_location": {
|
||||
"filename": "imgui_impl_dx12.h",
|
||||
"line": 42
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "SrvDescriptorHeap",
|
||||
"is_array": false,
|
||||
"is_anonymous": false,
|
||||
"type": {
|
||||
"declaration": "ID3D12DescriptorHeap*",
|
||||
"description": {
|
||||
"kind": "Pointer",
|
||||
"inner_type": {
|
||||
"kind": "User",
|
||||
"name": "ID3D12DescriptorHeap"
|
||||
}
|
||||
}
|
||||
},
|
||||
"comments": {
|
||||
"preceding": [
|
||||
"// Allocating SRV descriptors for textures is up to the application, so we provide callbacks.",
|
||||
"// (current version of the backend will only allocate one descriptor, from 1.92 the backend will need to allocate more)"
|
||||
]
|
||||
},
|
||||
"is_internal": false,
|
||||
"source_location": {
|
||||
"filename": "imgui_impl_dx12.h",
|
||||
"line": 46
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "SrvDescriptorAllocFn",
|
||||
"is_array": false,
|
||||
"is_anonymous": false,
|
||||
"type": {
|
||||
"declaration": "void (*SrvDescriptorAllocFn)(ImGui_ImplDX12_InitInfo* info, D3D12_CPU_DESCRIPTOR_HANDLE* out_cpu_desc_handle, D3D12_GPU_DESCRIPTOR_HANDLE* out_gpu_desc_handle)",
|
||||
"type_details": {
|
||||
"flavour": "function_pointer",
|
||||
"return_type": {
|
||||
"declaration": "void",
|
||||
"description": {
|
||||
"kind": "Builtin",
|
||||
"builtin_type": "void"
|
||||
}
|
||||
},
|
||||
"arguments": [
|
||||
{
|
||||
"name": "info",
|
||||
"type": {
|
||||
"declaration": "ImGui_ImplDX12_InitInfo*",
|
||||
"description": {
|
||||
"kind": "Pointer",
|
||||
"inner_type": {
|
||||
"kind": "User",
|
||||
"name": "ImGui_ImplDX12_InitInfo"
|
||||
}
|
||||
}
|
||||
},
|
||||
"is_array": false,
|
||||
"is_varargs": false,
|
||||
"is_instance_pointer": false
|
||||
},
|
||||
{
|
||||
"name": "out_cpu_desc_handle",
|
||||
"type": {
|
||||
"declaration": "D3D12_CPU_DESCRIPTOR_HANDLE*",
|
||||
"description": {
|
||||
"kind": "Pointer",
|
||||
"inner_type": {
|
||||
"kind": "User",
|
||||
"name": "D3D12_CPU_DESCRIPTOR_HANDLE"
|
||||
}
|
||||
}
|
||||
},
|
||||
"is_array": false,
|
||||
"is_varargs": false,
|
||||
"is_instance_pointer": false
|
||||
},
|
||||
{
|
||||
"name": "out_gpu_desc_handle",
|
||||
"type": {
|
||||
"declaration": "D3D12_GPU_DESCRIPTOR_HANDLE*",
|
||||
"description": {
|
||||
"kind": "Pointer",
|
||||
"inner_type": {
|
||||
"kind": "User",
|
||||
"name": "D3D12_GPU_DESCRIPTOR_HANDLE"
|
||||
}
|
||||
}
|
||||
},
|
||||
"is_array": false,
|
||||
"is_varargs": false,
|
||||
"is_instance_pointer": false
|
||||
}
|
||||
]
|
||||
},
|
||||
"description": {
|
||||
"kind": "Type",
|
||||
"name": "SrvDescriptorAllocFn",
|
||||
"inner_type": {
|
||||
"kind": "Pointer",
|
||||
"inner_type": {
|
||||
"kind": "Function",
|
||||
"return_type": {
|
||||
"kind": "Builtin",
|
||||
"builtin_type": "void"
|
||||
},
|
||||
"parameters": [
|
||||
{
|
||||
"kind": "Type",
|
||||
"name": "info",
|
||||
"inner_type": {
|
||||
"kind": "Pointer",
|
||||
"inner_type": {
|
||||
"kind": "User",
|
||||
"name": "ImGui_ImplDX12_InitInfo"
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"kind": "Type",
|
||||
"name": "out_cpu_desc_handle",
|
||||
"inner_type": {
|
||||
"kind": "Pointer",
|
||||
"inner_type": {
|
||||
"kind": "User",
|
||||
"name": "D3D12_CPU_DESCRIPTOR_HANDLE"
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"kind": "Type",
|
||||
"name": "out_gpu_desc_handle",
|
||||
"inner_type": {
|
||||
"kind": "Pointer",
|
||||
"inner_type": {
|
||||
"kind": "User",
|
||||
"name": "D3D12_GPU_DESCRIPTOR_HANDLE"
|
||||
}
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"is_internal": false,
|
||||
"source_location": {
|
||||
"filename": "imgui_impl_dx12.h"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "SrvDescriptorFreeFn",
|
||||
"is_array": false,
|
||||
"is_anonymous": false,
|
||||
"type": {
|
||||
"declaration": "void (*SrvDescriptorFreeFn)(ImGui_ImplDX12_InitInfo* info, D3D12_CPU_DESCRIPTOR_HANDLE cpu_desc_handle, D3D12_GPU_DESCRIPTOR_HANDLE gpu_desc_handle)",
|
||||
"type_details": {
|
||||
"flavour": "function_pointer",
|
||||
"return_type": {
|
||||
"declaration": "void",
|
||||
"description": {
|
||||
"kind": "Builtin",
|
||||
"builtin_type": "void"
|
||||
}
|
||||
},
|
||||
"arguments": [
|
||||
{
|
||||
"name": "info",
|
||||
"type": {
|
||||
"declaration": "ImGui_ImplDX12_InitInfo*",
|
||||
"description": {
|
||||
"kind": "Pointer",
|
||||
"inner_type": {
|
||||
"kind": "User",
|
||||
"name": "ImGui_ImplDX12_InitInfo"
|
||||
}
|
||||
}
|
||||
},
|
||||
"is_array": false,
|
||||
"is_varargs": false,
|
||||
"is_instance_pointer": false
|
||||
},
|
||||
{
|
||||
"name": "cpu_desc_handle",
|
||||
"type": {
|
||||
"declaration": "D3D12_CPU_DESCRIPTOR_HANDLE",
|
||||
"description": {
|
||||
"kind": "User",
|
||||
"name": "D3D12_CPU_DESCRIPTOR_HANDLE"
|
||||
}
|
||||
},
|
||||
"is_array": false,
|
||||
"is_varargs": false,
|
||||
"is_instance_pointer": false
|
||||
},
|
||||
{
|
||||
"name": "gpu_desc_handle",
|
||||
"type": {
|
||||
"declaration": "D3D12_GPU_DESCRIPTOR_HANDLE",
|
||||
"description": {
|
||||
"kind": "User",
|
||||
"name": "D3D12_GPU_DESCRIPTOR_HANDLE"
|
||||
}
|
||||
},
|
||||
"is_array": false,
|
||||
"is_varargs": false,
|
||||
"is_instance_pointer": false
|
||||
}
|
||||
]
|
||||
},
|
||||
"description": {
|
||||
"kind": "Type",
|
||||
"name": "SrvDescriptorFreeFn",
|
||||
"inner_type": {
|
||||
"kind": "Pointer",
|
||||
"inner_type": {
|
||||
"kind": "Function",
|
||||
"return_type": {
|
||||
"kind": "Builtin",
|
||||
"builtin_type": "void"
|
||||
},
|
||||
"parameters": [
|
||||
{
|
||||
"kind": "Type",
|
||||
"name": "info",
|
||||
"inner_type": {
|
||||
"kind": "Pointer",
|
||||
"inner_type": {
|
||||
"kind": "User",
|
||||
"name": "ImGui_ImplDX12_InitInfo"
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"kind": "Type",
|
||||
"name": "cpu_desc_handle",
|
||||
"inner_type": {
|
||||
"kind": "User",
|
||||
"name": "D3D12_CPU_DESCRIPTOR_HANDLE"
|
||||
}
|
||||
},
|
||||
{
|
||||
"kind": "Type",
|
||||
"name": "gpu_desc_handle",
|
||||
"inner_type": {
|
||||
"kind": "User",
|
||||
"name": "D3D12_GPU_DESCRIPTOR_HANDLE"
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"is_internal": false,
|
||||
"source_location": {
|
||||
"filename": "imgui_impl_dx12.h"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "LegacySingleSrvCpuDescriptor",
|
||||
"is_array": false,
|
||||
"is_anonymous": false,
|
||||
"type": {
|
||||
"declaration": "D3D12_CPU_DESCRIPTOR_HANDLE",
|
||||
"description": {
|
||||
"kind": "User",
|
||||
"name": "D3D12_CPU_DESCRIPTOR_HANDLE"
|
||||
}
|
||||
},
|
||||
"comments": {
|
||||
"attached": "// To facilitate transition from single descriptor to allocator callback, you may use those."
|
||||
},
|
||||
"conditionals": [
|
||||
{
|
||||
"condition": "ifndef",
|
||||
"expression": "IMGUI_DISABLE_OBSOLETE_FUNCTIONS"
|
||||
}
|
||||
],
|
||||
"is_internal": false,
|
||||
"source_location": {
|
||||
"filename": "imgui_impl_dx12.h",
|
||||
"line": 50
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "LegacySingleSrvGpuDescriptor",
|
||||
"is_array": false,
|
||||
"is_anonymous": false,
|
||||
"type": {
|
||||
"declaration": "D3D12_GPU_DESCRIPTOR_HANDLE",
|
||||
"description": {
|
||||
"kind": "User",
|
||||
"name": "D3D12_GPU_DESCRIPTOR_HANDLE"
|
||||
}
|
||||
},
|
||||
"conditionals": [
|
||||
{
|
||||
"condition": "ifndef",
|
||||
"expression": "IMGUI_DISABLE_OBSOLETE_FUNCTIONS"
|
||||
}
|
||||
],
|
||||
"is_internal": false,
|
||||
"source_location": {
|
||||
"filename": "imgui_impl_dx12.h",
|
||||
"line": 51
|
||||
}
|
||||
}
|
||||
],
|
||||
"comments": {
|
||||
"preceding": [
|
||||
"// Initialization data, for ImGui_ImplDX12_Init()"
|
||||
]
|
||||
},
|
||||
"is_internal": false,
|
||||
"source_location": {
|
||||
"filename": "imgui_impl_dx12.h",
|
||||
"line": 35
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "ImGui_ImplDX12_RenderState",
|
||||
"original_fully_qualified_name": "ImGui_ImplDX12_RenderState",
|
||||
"kind": "struct",
|
||||
"by_value": false,
|
||||
"forward_declaration": false,
|
||||
"is_anonymous": false,
|
||||
"fields": [
|
||||
{
|
||||
"name": "Device",
|
||||
"is_array": false,
|
||||
"is_anonymous": false,
|
||||
"type": {
|
||||
"declaration": "ID3D12Device*",
|
||||
"description": {
|
||||
"kind": "Pointer",
|
||||
"inner_type": {
|
||||
"kind": "User",
|
||||
"name": "ID3D12Device"
|
||||
}
|
||||
}
|
||||
},
|
||||
"is_internal": false,
|
||||
"source_location": {
|
||||
"filename": "imgui_impl_dx12.h",
|
||||
"line": 82
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "CommandList",
|
||||
"is_array": false,
|
||||
"is_anonymous": false,
|
||||
"type": {
|
||||
"declaration": "ID3D12GraphicsCommandList*",
|
||||
"description": {
|
||||
"kind": "Pointer",
|
||||
"inner_type": {
|
||||
"kind": "User",
|
||||
"name": "ID3D12GraphicsCommandList"
|
||||
}
|
||||
}
|
||||
},
|
||||
"is_internal": false,
|
||||
"source_location": {
|
||||
"filename": "imgui_impl_dx12.h",
|
||||
"line": 83
|
||||
}
|
||||
}
|
||||
],
|
||||
"comments": {
|
||||
"preceding": [
|
||||
"// [BETA] Selected render state data shared with callbacks.",
|
||||
"// This is temporarily stored in GetPlatformIO().Renderer_RenderState during the ImGui_ImplDX12_RenderDrawData() call.",
|
||||
"// (Please open an issue if you feel you need access to more data)"
|
||||
]
|
||||
},
|
||||
"is_internal": false,
|
||||
"source_location": {
|
||||
"filename": "imgui_impl_dx12.h",
|
||||
"line": 80
|
||||
}
|
||||
}
|
||||
],
|
||||
"functions": [
|
||||
{
|
||||
"name": "cImGui_ImplDX12_Init",
|
||||
"original_fully_qualified_name": "ImGui_ImplDX12_Init",
|
||||
"return_type": {
|
||||
"declaration": "bool",
|
||||
"description": {
|
||||
"kind": "Builtin",
|
||||
"builtin_type": "bool"
|
||||
}
|
||||
},
|
||||
"arguments": [
|
||||
{
|
||||
"name": "info",
|
||||
"type": {
|
||||
"declaration": "ImGui_ImplDX12_InitInfo*",
|
||||
"description": {
|
||||
"kind": "Pointer",
|
||||
"inner_type": {
|
||||
"kind": "User",
|
||||
"name": "ImGui_ImplDX12_InitInfo"
|
||||
}
|
||||
}
|
||||
},
|
||||
"is_array": false,
|
||||
"is_varargs": false,
|
||||
"is_instance_pointer": false
|
||||
}
|
||||
],
|
||||
"is_default_argument_helper": false,
|
||||
"is_manual_helper": false,
|
||||
"is_imstr_helper": false,
|
||||
"has_imstr_helper": false,
|
||||
"is_unformatted_helper": false,
|
||||
"is_static": false,
|
||||
"comments": {
|
||||
"preceding": [
|
||||
"// Follow \"Getting Started\" link and check examples/ folder to learn about using backends!"
|
||||
]
|
||||
},
|
||||
"is_internal": false,
|
||||
"source_location": {
|
||||
"filename": "imgui_impl_dx12.h",
|
||||
"line": 58
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "cImGui_ImplDX12_Shutdown",
|
||||
"original_fully_qualified_name": "ImGui_ImplDX12_Shutdown",
|
||||
"return_type": {
|
||||
"declaration": "void",
|
||||
"description": {
|
||||
"kind": "Builtin",
|
||||
"builtin_type": "void"
|
||||
}
|
||||
},
|
||||
"arguments": [],
|
||||
"is_default_argument_helper": false,
|
||||
"is_manual_helper": false,
|
||||
"is_imstr_helper": false,
|
||||
"has_imstr_helper": false,
|
||||
"is_unformatted_helper": false,
|
||||
"is_static": false,
|
||||
"is_internal": false,
|
||||
"source_location": {
|
||||
"filename": "imgui_impl_dx12.h",
|
||||
"line": 59
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "cImGui_ImplDX12_NewFrame",
|
||||
"original_fully_qualified_name": "ImGui_ImplDX12_NewFrame",
|
||||
"return_type": {
|
||||
"declaration": "void",
|
||||
"description": {
|
||||
"kind": "Builtin",
|
||||
"builtin_type": "void"
|
||||
}
|
||||
},
|
||||
"arguments": [],
|
||||
"is_default_argument_helper": false,
|
||||
"is_manual_helper": false,
|
||||
"is_imstr_helper": false,
|
||||
"has_imstr_helper": false,
|
||||
"is_unformatted_helper": false,
|
||||
"is_static": false,
|
||||
"is_internal": false,
|
||||
"source_location": {
|
||||
"filename": "imgui_impl_dx12.h",
|
||||
"line": 60
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "cImGui_ImplDX12_RenderDrawData",
|
||||
"original_fully_qualified_name": "ImGui_ImplDX12_RenderDrawData",
|
||||
"return_type": {
|
||||
"declaration": "void",
|
||||
"description": {
|
||||
"kind": "Builtin",
|
||||
"builtin_type": "void"
|
||||
}
|
||||
},
|
||||
"arguments": [
|
||||
{
|
||||
"name": "draw_data",
|
||||
"type": {
|
||||
"declaration": "ImDrawData*",
|
||||
"description": {
|
||||
"kind": "Pointer",
|
||||
"inner_type": {
|
||||
"kind": "User",
|
||||
"name": "ImDrawData"
|
||||
}
|
||||
}
|
||||
},
|
||||
"is_array": false,
|
||||
"is_varargs": false,
|
||||
"is_instance_pointer": false
|
||||
},
|
||||
{
|
||||
"name": "graphics_command_list",
|
||||
"type": {
|
||||
"declaration": "ID3D12GraphicsCommandList*",
|
||||
"description": {
|
||||
"kind": "Pointer",
|
||||
"inner_type": {
|
||||
"kind": "User",
|
||||
"name": "ID3D12GraphicsCommandList"
|
||||
}
|
||||
}
|
||||
},
|
||||
"is_array": false,
|
||||
"is_varargs": false,
|
||||
"is_instance_pointer": false
|
||||
}
|
||||
],
|
||||
"is_default_argument_helper": false,
|
||||
"is_manual_helper": false,
|
||||
"is_imstr_helper": false,
|
||||
"has_imstr_helper": false,
|
||||
"is_unformatted_helper": false,
|
||||
"is_static": false,
|
||||
"is_internal": false,
|
||||
"source_location": {
|
||||
"filename": "imgui_impl_dx12.h",
|
||||
"line": 61
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "cImGui_ImplDX12_InitID3D12DevicePtr",
|
||||
"original_fully_qualified_name": "ImGui_ImplDX12_Init",
|
||||
"return_type": {
|
||||
"declaration": "bool",
|
||||
"description": {
|
||||
"kind": "Builtin",
|
||||
"builtin_type": "bool"
|
||||
}
|
||||
},
|
||||
"arguments": [
|
||||
{
|
||||
"name": "device",
|
||||
"type": {
|
||||
"declaration": "ID3D12Device*",
|
||||
"description": {
|
||||
"kind": "Pointer",
|
||||
"inner_type": {
|
||||
"kind": "User",
|
||||
"name": "ID3D12Device"
|
||||
}
|
||||
}
|
||||
},
|
||||
"is_array": false,
|
||||
"is_varargs": false,
|
||||
"is_instance_pointer": false
|
||||
},
|
||||
{
|
||||
"name": "num_frames_in_flight",
|
||||
"type": {
|
||||
"declaration": "int",
|
||||
"description": {
|
||||
"kind": "Builtin",
|
||||
"builtin_type": "int"
|
||||
}
|
||||
},
|
||||
"is_array": false,
|
||||
"is_varargs": false,
|
||||
"is_instance_pointer": false
|
||||
},
|
||||
{
|
||||
"name": "rtv_format",
|
||||
"type": {
|
||||
"declaration": "DXGI_FORMAT",
|
||||
"description": {
|
||||
"kind": "User",
|
||||
"name": "DXGI_FORMAT"
|
||||
}
|
||||
},
|
||||
"is_array": false,
|
||||
"is_varargs": false,
|
||||
"is_instance_pointer": false
|
||||
},
|
||||
{
|
||||
"name": "srv_descriptor_heap",
|
||||
"type": {
|
||||
"declaration": "ID3D12DescriptorHeap*",
|
||||
"description": {
|
||||
"kind": "Pointer",
|
||||
"inner_type": {
|
||||
"kind": "User",
|
||||
"name": "ID3D12DescriptorHeap"
|
||||
}
|
||||
}
|
||||
},
|
||||
"is_array": false,
|
||||
"is_varargs": false,
|
||||
"is_instance_pointer": false
|
||||
},
|
||||
{
|
||||
"name": "font_srv_cpu_desc_handle",
|
||||
"type": {
|
||||
"declaration": "D3D12_CPU_DESCRIPTOR_HANDLE",
|
||||
"description": {
|
||||
"kind": "User",
|
||||
"name": "D3D12_CPU_DESCRIPTOR_HANDLE"
|
||||
}
|
||||
},
|
||||
"is_array": false,
|
||||
"is_varargs": false,
|
||||
"is_instance_pointer": false
|
||||
},
|
||||
{
|
||||
"name": "font_srv_gpu_desc_handle",
|
||||
"type": {
|
||||
"declaration": "D3D12_GPU_DESCRIPTOR_HANDLE",
|
||||
"description": {
|
||||
"kind": "User",
|
||||
"name": "D3D12_GPU_DESCRIPTOR_HANDLE"
|
||||
}
|
||||
},
|
||||
"is_array": false,
|
||||
"is_varargs": false,
|
||||
"is_instance_pointer": false
|
||||
}
|
||||
],
|
||||
"is_default_argument_helper": false,
|
||||
"is_manual_helper": false,
|
||||
"is_imstr_helper": false,
|
||||
"has_imstr_helper": false,
|
||||
"is_unformatted_helper": false,
|
||||
"is_static": false,
|
||||
"comments": {
|
||||
"preceding": [
|
||||
"// Legacy initialization API Obsoleted in 1.91.5",
|
||||
"// - font_srv_cpu_desc_handle and font_srv_gpu_desc_handle are handles to a single SRV descriptor to use for the internal font texture, they must be in 'srv_descriptor_heap'",
|
||||
"// - When we introduced the ImGui_ImplDX12_InitInfo struct we also added a 'ID3D12CommandQueue* CommandQueue' field."
|
||||
]
|
||||
},
|
||||
"conditionals": [
|
||||
{
|
||||
"condition": "ifndef",
|
||||
"expression": "IMGUI_DISABLE_OBSOLETE_FUNCTIONS"
|
||||
}
|
||||
],
|
||||
"is_internal": false,
|
||||
"source_location": {
|
||||
"filename": "imgui_impl_dx12.h",
|
||||
"line": 67
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "cImGui_ImplDX12_CreateDeviceObjects",
|
||||
"original_fully_qualified_name": "ImGui_ImplDX12_CreateDeviceObjects",
|
||||
"return_type": {
|
||||
"declaration": "bool",
|
||||
"description": {
|
||||
"kind": "Builtin",
|
||||
"builtin_type": "bool"
|
||||
}
|
||||
},
|
||||
"arguments": [],
|
||||
"is_default_argument_helper": false,
|
||||
"is_manual_helper": false,
|
||||
"is_imstr_helper": false,
|
||||
"has_imstr_helper": false,
|
||||
"is_unformatted_helper": false,
|
||||
"is_static": false,
|
||||
"comments": {
|
||||
"preceding": [
|
||||
"// Use if you want to reset your rendering device without losing Dear ImGui state."
|
||||
]
|
||||
},
|
||||
"is_internal": false,
|
||||
"source_location": {
|
||||
"filename": "imgui_impl_dx12.h",
|
||||
"line": 71
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "cImGui_ImplDX12_InvalidateDeviceObjects",
|
||||
"original_fully_qualified_name": "ImGui_ImplDX12_InvalidateDeviceObjects",
|
||||
"return_type": {
|
||||
"declaration": "void",
|
||||
"description": {
|
||||
"kind": "Builtin",
|
||||
"builtin_type": "void"
|
||||
}
|
||||
},
|
||||
"arguments": [],
|
||||
"is_default_argument_helper": false,
|
||||
"is_manual_helper": false,
|
||||
"is_imstr_helper": false,
|
||||
"has_imstr_helper": false,
|
||||
"is_unformatted_helper": false,
|
||||
"is_static": false,
|
||||
"is_internal": false,
|
||||
"source_location": {
|
||||
"filename": "imgui_impl_dx12.h",
|
||||
"line": 72
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "cImGui_ImplDX12_UpdateTexture",
|
||||
"original_fully_qualified_name": "ImGui_ImplDX12_UpdateTexture",
|
||||
"return_type": {
|
||||
"declaration": "void",
|
||||
"description": {
|
||||
"kind": "Builtin",
|
||||
"builtin_type": "void"
|
||||
}
|
||||
},
|
||||
"arguments": [
|
||||
{
|
||||
"name": "tex",
|
||||
"type": {
|
||||
"declaration": "ImTextureData*",
|
||||
"description": {
|
||||
"kind": "Pointer",
|
||||
"inner_type": {
|
||||
"kind": "User",
|
||||
"name": "ImTextureData"
|
||||
}
|
||||
}
|
||||
},
|
||||
"is_array": false,
|
||||
"is_varargs": false,
|
||||
"is_instance_pointer": false
|
||||
}
|
||||
],
|
||||
"is_default_argument_helper": false,
|
||||
"is_manual_helper": false,
|
||||
"is_imstr_helper": false,
|
||||
"has_imstr_helper": false,
|
||||
"is_unformatted_helper": false,
|
||||
"is_static": false,
|
||||
"comments": {
|
||||
"preceding": [
|
||||
"// (Advanced) Use e.g. if you need to precisely control the timing of texture updates (e.g. for staged rendering), by setting ImDrawData::Textures = nullptr to handle this manually."
|
||||
]
|
||||
},
|
||||
"is_internal": false,
|
||||
"source_location": {
|
||||
"filename": "imgui_impl_dx12.h",
|
||||
"line": 75
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,7 @@
|
||||
{
|
||||
"defines": [],
|
||||
"enums": [],
|
||||
"typedefs": [],
|
||||
"structs": [],
|
||||
"functions": []
|
||||
}
|
||||
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,133 @@
|
||||
// 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_dx9.h"
|
||||
|
||||
#include <stdio.h>
|
||||
|
||||
// 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_dx9.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_ImplDX9_Init(cimgui::IDirect3DDevice9* device)
|
||||
{
|
||||
return ::ImGui_ImplDX9_Init(reinterpret_cast<::IDirect3DDevice9*>(device));
|
||||
}
|
||||
|
||||
CIMGUI_IMPL_API void cimgui::cImGui_ImplDX9_Shutdown(void)
|
||||
{
|
||||
::ImGui_ImplDX9_Shutdown();
|
||||
}
|
||||
|
||||
CIMGUI_IMPL_API void cimgui::cImGui_ImplDX9_NewFrame(void)
|
||||
{
|
||||
::ImGui_ImplDX9_NewFrame();
|
||||
}
|
||||
|
||||
CIMGUI_IMPL_API void cimgui::cImGui_ImplDX9_RenderDrawData(cimgui::ImDrawData* draw_data)
|
||||
{
|
||||
::ImGui_ImplDX9_RenderDrawData(reinterpret_cast<::ImDrawData*>(draw_data));
|
||||
}
|
||||
|
||||
CIMGUI_IMPL_API bool cimgui::cImGui_ImplDX9_CreateDeviceObjects(void)
|
||||
{
|
||||
return ::ImGui_ImplDX9_CreateDeviceObjects();
|
||||
}
|
||||
|
||||
CIMGUI_IMPL_API void cimgui::cImGui_ImplDX9_InvalidateDeviceObjects(void)
|
||||
{
|
||||
::ImGui_ImplDX9_InvalidateDeviceObjects();
|
||||
}
|
||||
|
||||
CIMGUI_IMPL_API void cimgui::cImGui_ImplDX9_UpdateTexture(cimgui::ImTextureData* tex)
|
||||
{
|
||||
::ImGui_ImplDX9_UpdateTexture(reinterpret_cast<::ImTextureData*>(tex));
|
||||
}
|
||||
|
||||
#endif // #ifndef IMGUI_DISABLE
|
||||
@@ -0,0 +1,55 @@
|
||||
// THIS FILE HAS BEEN AUTO-GENERATED BY THE 'DEAR BINDINGS' GENERATOR.
|
||||
// **DO NOT EDIT DIRECTLY**
|
||||
// https://github.com/dearimgui/dear_bindings
|
||||
|
||||
// dear imgui: Renderer Backend for DirectX9
|
||||
// ImDrawIdx: vertex index. [Compile-time configurable type]
|
||||
// - To use 16-bit indices + allow large meshes: backend need to set 'io.BackendFlags |= ImGuiBackendFlags_RendererHasVtxOffset' and handle ImDrawCmd::VtxOffset (recommended).
|
||||
// - To use 32-bit indices: override with '#define ImDrawIdx unsigned int' in your imconfig.h file.
|
||||
#ifndef ImDrawIdx
|
||||
typedef unsigned short ImDrawIdx; // Default: 16-bit (for maximum compatibility with renderer backends)
|
||||
#endif // #ifndef ImDrawIdx
|
||||
// This needs to be used along with a Platform Backend (e.g. Win32)
|
||||
|
||||
// Implemented features:
|
||||
// [X] Renderer: User texture binding. Use 'LPDIRECT3DTEXTURE9' as texture identifier. Read the FAQ about ImTextureID/ImTextureRef!
|
||||
// [X] Renderer: Large meshes support (64k+ vertices) even with 16-bit indices (ImGuiBackendFlags_RendererHasVtxOffset).
|
||||
// [X] Renderer: Texture updates support for dynamic font atlas (ImGuiBackendFlags_RendererHasTextures).
|
||||
// [X] Renderer: IMGUI_USE_BGRA_PACKED_COLOR support, as this is the optimal color encoding for DirectX9.
|
||||
// [X] Renderer: Multi-viewport support (multiple windows). Enable with 'io.ConfigFlags |= ImGuiConfigFlags_ViewportsEnable'.
|
||||
|
||||
// You can use unmodified imgui_impl_* files in your project. See examples/ folder for examples of using this.
|
||||
// Prefer including the entire imgui/ repository into your project (either as a copy or as a submodule), and only build the backends you need.
|
||||
// Learn about Dear ImGui:
|
||||
// - FAQ https://dearimgui.com/faq
|
||||
// - Getting Started https://dearimgui.com/getting-started
|
||||
// - Documentation https://dearimgui.com/docs (same as your local docs/ folder).
|
||||
// - Introduction, links and more at the top of imgui.cpp
|
||||
|
||||
#pragma once
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C"
|
||||
{
|
||||
#endif
|
||||
#include "dcimgui.h"
|
||||
#ifndef IMGUI_DISABLE
|
||||
typedef struct IDirect3DDevice9 IDirect3DDevice9;
|
||||
|
||||
typedef struct ImDrawData_t ImDrawData;
|
||||
// Follow "Getting Started" link and check examples/ folder to learn about using backends!
|
||||
CIMGUI_IMPL_API bool cImGui_ImplDX9_Init(IDirect3DDevice9* device);
|
||||
CIMGUI_IMPL_API void cImGui_ImplDX9_Shutdown(void);
|
||||
CIMGUI_IMPL_API void cImGui_ImplDX9_NewFrame(void);
|
||||
CIMGUI_IMPL_API void cImGui_ImplDX9_RenderDrawData(ImDrawData* draw_data);
|
||||
|
||||
// Use if you want to reset your rendering device without losing Dear ImGui state.
|
||||
CIMGUI_IMPL_API bool cImGui_ImplDX9_CreateDeviceObjects(void);
|
||||
CIMGUI_IMPL_API void cImGui_ImplDX9_InvalidateDeviceObjects(void);
|
||||
|
||||
// (Advanced) Use e.g. if you need to precisely control the timing of texture updates (e.g. for staged rendering), by setting ImDrawData::Textures = nullptr to handle this manually.
|
||||
CIMGUI_IMPL_API void cImGui_ImplDX9_UpdateTexture(ImTextureData* tex);
|
||||
#endif// #ifndef IMGUI_DISABLE
|
||||
#ifdef __cplusplus
|
||||
} // End of extern "C" block
|
||||
#endif
|
||||
@@ -0,0 +1,288 @@
|
||||
{
|
||||
"defines": [],
|
||||
"enums": [],
|
||||
"typedefs": [
|
||||
{
|
||||
"name": "ImDrawIdx",
|
||||
"type": {
|
||||
"declaration": "unsigned short",
|
||||
"description": {
|
||||
"kind": "Builtin",
|
||||
"builtin_type": "unsigned_short"
|
||||
}
|
||||
},
|
||||
"comments": {
|
||||
"attached": "// Default: 16-bit (for maximum compatibility with renderer backends)"
|
||||
},
|
||||
"conditionals": [
|
||||
{
|
||||
"condition": "ifndef",
|
||||
"expression": "ImDrawIdx"
|
||||
}
|
||||
],
|
||||
"is_internal": false,
|
||||
"source_location": {
|
||||
"filename": "imgui_impl_dx9.h"
|
||||
}
|
||||
}
|
||||
],
|
||||
"structs": [
|
||||
{
|
||||
"name": "IDirect3DDevice9",
|
||||
"original_fully_qualified_name": "IDirect3DDevice9",
|
||||
"kind": "struct",
|
||||
"by_value": false,
|
||||
"forward_declaration": true,
|
||||
"is_anonymous": false,
|
||||
"fields": [],
|
||||
"is_internal": false,
|
||||
"source_location": {
|
||||
"filename": "imgui_impl_dx9.h",
|
||||
"line": 23
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "ImDrawData",
|
||||
"original_fully_qualified_name": "ImDrawData",
|
||||
"kind": "struct",
|
||||
"by_value": false,
|
||||
"forward_declaration": true,
|
||||
"is_anonymous": false,
|
||||
"fields": [],
|
||||
"is_internal": false,
|
||||
"source_location": {
|
||||
"filename": "imgui_impl_dx9.h",
|
||||
"line": 1
|
||||
}
|
||||
}
|
||||
],
|
||||
"functions": [
|
||||
{
|
||||
"name": "cImGui_ImplDX9_Init",
|
||||
"original_fully_qualified_name": "ImGui_ImplDX9_Init",
|
||||
"return_type": {
|
||||
"declaration": "bool",
|
||||
"description": {
|
||||
"kind": "Builtin",
|
||||
"builtin_type": "bool"
|
||||
}
|
||||
},
|
||||
"arguments": [
|
||||
{
|
||||
"name": "device",
|
||||
"type": {
|
||||
"declaration": "IDirect3DDevice9*",
|
||||
"description": {
|
||||
"kind": "Pointer",
|
||||
"inner_type": {
|
||||
"kind": "User",
|
||||
"name": "IDirect3DDevice9"
|
||||
}
|
||||
}
|
||||
},
|
||||
"is_array": false,
|
||||
"is_varargs": false,
|
||||
"is_instance_pointer": false
|
||||
}
|
||||
],
|
||||
"is_default_argument_helper": false,
|
||||
"is_manual_helper": false,
|
||||
"is_imstr_helper": false,
|
||||
"has_imstr_helper": false,
|
||||
"is_unformatted_helper": false,
|
||||
"is_static": false,
|
||||
"comments": {
|
||||
"preceding": [
|
||||
"// Follow \"Getting Started\" link and check examples/ folder to learn about using backends!"
|
||||
]
|
||||
},
|
||||
"is_internal": false,
|
||||
"source_location": {
|
||||
"filename": "imgui_impl_dx9.h",
|
||||
"line": 26
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "cImGui_ImplDX9_Shutdown",
|
||||
"original_fully_qualified_name": "ImGui_ImplDX9_Shutdown",
|
||||
"return_type": {
|
||||
"declaration": "void",
|
||||
"description": {
|
||||
"kind": "Builtin",
|
||||
"builtin_type": "void"
|
||||
}
|
||||
},
|
||||
"arguments": [],
|
||||
"is_default_argument_helper": false,
|
||||
"is_manual_helper": false,
|
||||
"is_imstr_helper": false,
|
||||
"has_imstr_helper": false,
|
||||
"is_unformatted_helper": false,
|
||||
"is_static": false,
|
||||
"is_internal": false,
|
||||
"source_location": {
|
||||
"filename": "imgui_impl_dx9.h",
|
||||
"line": 27
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "cImGui_ImplDX9_NewFrame",
|
||||
"original_fully_qualified_name": "ImGui_ImplDX9_NewFrame",
|
||||
"return_type": {
|
||||
"declaration": "void",
|
||||
"description": {
|
||||
"kind": "Builtin",
|
||||
"builtin_type": "void"
|
||||
}
|
||||
},
|
||||
"arguments": [],
|
||||
"is_default_argument_helper": false,
|
||||
"is_manual_helper": false,
|
||||
"is_imstr_helper": false,
|
||||
"has_imstr_helper": false,
|
||||
"is_unformatted_helper": false,
|
||||
"is_static": false,
|
||||
"is_internal": false,
|
||||
"source_location": {
|
||||
"filename": "imgui_impl_dx9.h",
|
||||
"line": 28
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "cImGui_ImplDX9_RenderDrawData",
|
||||
"original_fully_qualified_name": "ImGui_ImplDX9_RenderDrawData",
|
||||
"return_type": {
|
||||
"declaration": "void",
|
||||
"description": {
|
||||
"kind": "Builtin",
|
||||
"builtin_type": "void"
|
||||
}
|
||||
},
|
||||
"arguments": [
|
||||
{
|
||||
"name": "draw_data",
|
||||
"type": {
|
||||
"declaration": "ImDrawData*",
|
||||
"description": {
|
||||
"kind": "Pointer",
|
||||
"inner_type": {
|
||||
"kind": "User",
|
||||
"name": "ImDrawData"
|
||||
}
|
||||
}
|
||||
},
|
||||
"is_array": false,
|
||||
"is_varargs": false,
|
||||
"is_instance_pointer": false
|
||||
}
|
||||
],
|
||||
"is_default_argument_helper": false,
|
||||
"is_manual_helper": false,
|
||||
"is_imstr_helper": false,
|
||||
"has_imstr_helper": false,
|
||||
"is_unformatted_helper": false,
|
||||
"is_static": false,
|
||||
"is_internal": false,
|
||||
"source_location": {
|
||||
"filename": "imgui_impl_dx9.h",
|
||||
"line": 29
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "cImGui_ImplDX9_CreateDeviceObjects",
|
||||
"original_fully_qualified_name": "ImGui_ImplDX9_CreateDeviceObjects",
|
||||
"return_type": {
|
||||
"declaration": "bool",
|
||||
"description": {
|
||||
"kind": "Builtin",
|
||||
"builtin_type": "bool"
|
||||
}
|
||||
},
|
||||
"arguments": [],
|
||||
"is_default_argument_helper": false,
|
||||
"is_manual_helper": false,
|
||||
"is_imstr_helper": false,
|
||||
"has_imstr_helper": false,
|
||||
"is_unformatted_helper": false,
|
||||
"is_static": false,
|
||||
"comments": {
|
||||
"preceding": [
|
||||
"// Use if you want to reset your rendering device without losing Dear ImGui state."
|
||||
]
|
||||
},
|
||||
"is_internal": false,
|
||||
"source_location": {
|
||||
"filename": "imgui_impl_dx9.h",
|
||||
"line": 32
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "cImGui_ImplDX9_InvalidateDeviceObjects",
|
||||
"original_fully_qualified_name": "ImGui_ImplDX9_InvalidateDeviceObjects",
|
||||
"return_type": {
|
||||
"declaration": "void",
|
||||
"description": {
|
||||
"kind": "Builtin",
|
||||
"builtin_type": "void"
|
||||
}
|
||||
},
|
||||
"arguments": [],
|
||||
"is_default_argument_helper": false,
|
||||
"is_manual_helper": false,
|
||||
"is_imstr_helper": false,
|
||||
"has_imstr_helper": false,
|
||||
"is_unformatted_helper": false,
|
||||
"is_static": false,
|
||||
"is_internal": false,
|
||||
"source_location": {
|
||||
"filename": "imgui_impl_dx9.h",
|
||||
"line": 33
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "cImGui_ImplDX9_UpdateTexture",
|
||||
"original_fully_qualified_name": "ImGui_ImplDX9_UpdateTexture",
|
||||
"return_type": {
|
||||
"declaration": "void",
|
||||
"description": {
|
||||
"kind": "Builtin",
|
||||
"builtin_type": "void"
|
||||
}
|
||||
},
|
||||
"arguments": [
|
||||
{
|
||||
"name": "tex",
|
||||
"type": {
|
||||
"declaration": "ImTextureData*",
|
||||
"description": {
|
||||
"kind": "Pointer",
|
||||
"inner_type": {
|
||||
"kind": "User",
|
||||
"name": "ImTextureData"
|
||||
}
|
||||
}
|
||||
},
|
||||
"is_array": false,
|
||||
"is_varargs": false,
|
||||
"is_instance_pointer": false
|
||||
}
|
||||
],
|
||||
"is_default_argument_helper": false,
|
||||
"is_manual_helper": false,
|
||||
"is_imstr_helper": false,
|
||||
"has_imstr_helper": false,
|
||||
"is_unformatted_helper": false,
|
||||
"is_static": false,
|
||||
"comments": {
|
||||
"preceding": [
|
||||
"// (Advanced) Use e.g. if you need to precisely control the timing of texture updates (e.g. for staged rendering), by setting ImDrawData::Textures = nullptr to handle this manually."
|
||||
]
|
||||
},
|
||||
"is_internal": false,
|
||||
"source_location": {
|
||||
"filename": "imgui_impl_dx9.h",
|
||||
"line": 36
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,7 @@
|
||||
{
|
||||
"defines": [],
|
||||
"enums": [],
|
||||
"typedefs": [],
|
||||
"structs": [],
|
||||
"functions": []
|
||||
}
|
||||
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,202 @@
|
||||
// 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_glfw.h"
|
||||
|
||||
#include <stdio.h>
|
||||
|
||||
// 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_glfw.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_ImplGlfw_InitForOpenGL(cimgui::GLFWwindow* window, bool install_callbacks)
|
||||
{
|
||||
return ::ImGui_ImplGlfw_InitForOpenGL(reinterpret_cast<::GLFWwindow*>(window), install_callbacks);
|
||||
}
|
||||
|
||||
CIMGUI_IMPL_API bool cimgui::cImGui_ImplGlfw_InitForVulkan(cimgui::GLFWwindow* window, bool install_callbacks)
|
||||
{
|
||||
return ::ImGui_ImplGlfw_InitForVulkan(reinterpret_cast<::GLFWwindow*>(window), install_callbacks);
|
||||
}
|
||||
|
||||
CIMGUI_IMPL_API bool cimgui::cImGui_ImplGlfw_InitForOther(cimgui::GLFWwindow* window, bool install_callbacks)
|
||||
{
|
||||
return ::ImGui_ImplGlfw_InitForOther(reinterpret_cast<::GLFWwindow*>(window), install_callbacks);
|
||||
}
|
||||
|
||||
CIMGUI_IMPL_API void cimgui::cImGui_ImplGlfw_Shutdown(void)
|
||||
{
|
||||
::ImGui_ImplGlfw_Shutdown();
|
||||
}
|
||||
|
||||
CIMGUI_IMPL_API void cimgui::cImGui_ImplGlfw_NewFrame(void)
|
||||
{
|
||||
::ImGui_ImplGlfw_NewFrame();
|
||||
}
|
||||
|
||||
#ifdef __EMSCRIPTEN__
|
||||
|
||||
CIMGUI_IMPL_API void cimgui::cImGui_ImplGlfw_InstallEmscriptenCallbacks(cimgui::GLFWwindow* window, const char* canvas_selector)
|
||||
{
|
||||
::ImGui_ImplGlfw_InstallEmscriptenCallbacks(reinterpret_cast<::GLFWwindow*>(window), canvas_selector);
|
||||
}
|
||||
|
||||
#endif // #ifdef __EMSCRIPTEN__
|
||||
|
||||
CIMGUI_IMPL_API void cimgui::cImGui_ImplGlfw_InstallCallbacks(cimgui::GLFWwindow* window)
|
||||
{
|
||||
::ImGui_ImplGlfw_InstallCallbacks(reinterpret_cast<::GLFWwindow*>(window));
|
||||
}
|
||||
|
||||
CIMGUI_IMPL_API void cimgui::cImGui_ImplGlfw_RestoreCallbacks(cimgui::GLFWwindow* window)
|
||||
{
|
||||
::ImGui_ImplGlfw_RestoreCallbacks(reinterpret_cast<::GLFWwindow*>(window));
|
||||
}
|
||||
|
||||
CIMGUI_IMPL_API void cimgui::cImGui_ImplGlfw_SetCallbacksChainForAllWindows(bool chain_for_all_windows)
|
||||
{
|
||||
::ImGui_ImplGlfw_SetCallbacksChainForAllWindows(chain_for_all_windows);
|
||||
}
|
||||
|
||||
CIMGUI_IMPL_API void cimgui::cImGui_ImplGlfw_WindowFocusCallback(cimgui::GLFWwindow* window, int focused)
|
||||
{
|
||||
::ImGui_ImplGlfw_WindowFocusCallback(reinterpret_cast<::GLFWwindow*>(window), focused);
|
||||
}
|
||||
|
||||
CIMGUI_IMPL_API void cimgui::cImGui_ImplGlfw_CursorEnterCallback(cimgui::GLFWwindow* window, int entered)
|
||||
{
|
||||
::ImGui_ImplGlfw_CursorEnterCallback(reinterpret_cast<::GLFWwindow*>(window), entered);
|
||||
}
|
||||
|
||||
CIMGUI_IMPL_API void cimgui::cImGui_ImplGlfw_CursorPosCallback(cimgui::GLFWwindow* window, double x, double y)
|
||||
{
|
||||
::ImGui_ImplGlfw_CursorPosCallback(reinterpret_cast<::GLFWwindow*>(window), x, y);
|
||||
}
|
||||
|
||||
CIMGUI_IMPL_API void cimgui::cImGui_ImplGlfw_MouseButtonCallback(cimgui::GLFWwindow* window, int button, int action, int mods)
|
||||
{
|
||||
::ImGui_ImplGlfw_MouseButtonCallback(reinterpret_cast<::GLFWwindow*>(window), button, action, mods);
|
||||
}
|
||||
|
||||
CIMGUI_IMPL_API void cimgui::cImGui_ImplGlfw_ScrollCallback(cimgui::GLFWwindow* window, double xoffset, double yoffset)
|
||||
{
|
||||
::ImGui_ImplGlfw_ScrollCallback(reinterpret_cast<::GLFWwindow*>(window), xoffset, yoffset);
|
||||
}
|
||||
|
||||
CIMGUI_IMPL_API void cimgui::cImGui_ImplGlfw_KeyCallback(cimgui::GLFWwindow* window, int key, int scancode, int action, int mods)
|
||||
{
|
||||
::ImGui_ImplGlfw_KeyCallback(reinterpret_cast<::GLFWwindow*>(window), key, scancode, action, mods);
|
||||
}
|
||||
|
||||
CIMGUI_IMPL_API void cimgui::cImGui_ImplGlfw_CharCallback(cimgui::GLFWwindow* window, unsigned int c)
|
||||
{
|
||||
::ImGui_ImplGlfw_CharCallback(reinterpret_cast<::GLFWwindow*>(window), c);
|
||||
}
|
||||
|
||||
CIMGUI_IMPL_API void cimgui::cImGui_ImplGlfw_MonitorCallback(cimgui::GLFWmonitor* monitor, int event)
|
||||
{
|
||||
::ImGui_ImplGlfw_MonitorCallback(reinterpret_cast<::GLFWmonitor*>(monitor), event);
|
||||
}
|
||||
|
||||
CIMGUI_IMPL_API void cimgui::cImGui_ImplGlfw_Sleep(int milliseconds)
|
||||
{
|
||||
::ImGui_ImplGlfw_Sleep(milliseconds);
|
||||
}
|
||||
|
||||
CIMGUI_IMPL_API float cimgui::cImGui_ImplGlfw_GetContentScaleForWindow(cimgui::GLFWwindow* window)
|
||||
{
|
||||
return ::ImGui_ImplGlfw_GetContentScaleForWindow(reinterpret_cast<::GLFWwindow*>(window));
|
||||
}
|
||||
|
||||
CIMGUI_IMPL_API float cimgui::cImGui_ImplGlfw_GetContentScaleForMonitor(cimgui::GLFWmonitor* monitor)
|
||||
{
|
||||
return ::ImGui_ImplGlfw_GetContentScaleForMonitor(reinterpret_cast<::GLFWmonitor*>(monitor));
|
||||
}
|
||||
|
||||
#endif // #ifndef IMGUI_DISABLE
|
||||
@@ -0,0 +1,88 @@
|
||||
// THIS FILE HAS BEEN AUTO-GENERATED BY THE 'DEAR BINDINGS' GENERATOR.
|
||||
// **DO NOT EDIT DIRECTLY**
|
||||
// https://github.com/dearimgui/dear_bindings
|
||||
|
||||
// dear imgui: Platform Backend for GLFW
|
||||
// ImDrawIdx: vertex index. [Compile-time configurable type]
|
||||
// - To use 16-bit indices + allow large meshes: backend need to set 'io.BackendFlags |= ImGuiBackendFlags_RendererHasVtxOffset' and handle ImDrawCmd::VtxOffset (recommended).
|
||||
// - To use 32-bit indices: override with '#define ImDrawIdx unsigned int' in your imconfig.h file.
|
||||
#ifndef ImDrawIdx
|
||||
typedef unsigned short ImDrawIdx; // Default: 16-bit (for maximum compatibility with renderer backends)
|
||||
#endif // #ifndef ImDrawIdx
|
||||
// This needs to be used along with a Renderer (e.g. OpenGL3, Vulkan, WebGPU..)
|
||||
// (Info: GLFW is a cross-platform general purpose library for handling windows, inputs, OpenGL/Vulkan graphics context creation, etc.)
|
||||
// (Requires: GLFW 3.0+. Prefer GLFW 3.3+/3.4+ for full feature support.)
|
||||
|
||||
// Implemented features:
|
||||
// [X] Platform: Clipboard support.
|
||||
// [X] Platform: Mouse support. Can discriminate Mouse/TouchScreen/Pen (Windows only).
|
||||
// [X] Platform: Keyboard support. Since 1.87 we are using the io.AddKeyEvent() function. Pass ImGuiKey values to all key functions e.g. ImGui::IsKeyPressed(ImGuiKey_Space). [Legacy GLFW_KEY_* values are obsolete since 1.87 and not supported since 1.91.5]
|
||||
// [X] Platform: Gamepad support. Enable with 'io.ConfigFlags |= ImGuiConfigFlags_NavEnableGamepad'.
|
||||
// [X] Platform: Mouse cursor shape and visibility (ImGuiBackendFlags_HasMouseCursors) with GLFW 3.1+. Resizing cursors requires GLFW 3.4+! Disable with 'io.ConfigFlags |= ImGuiConfigFlags_NoMouseCursorChange'.
|
||||
// [X] Platform: Multi-viewport support (multiple windows). Enable with 'io.ConfigFlags |= ImGuiConfigFlags_ViewportsEnable'.
|
||||
// [X] Multiple Dear ImGui contexts support.
|
||||
// Missing features or Issues:
|
||||
// [ ] Platform: Touch events are only correctly identified as Touch on Windows. This create issues with some interactions. GLFW doesn't provide a way to identify touch inputs from mouse inputs, we cannot call io.AddMouseSourceEvent() to identify the source. We provide a Windows-specific workaround.
|
||||
// [ ] Platform: Missing ImGuiMouseCursor_Wait and ImGuiMouseCursor_Progress cursors.
|
||||
// [ ] Platform: Multi-viewport: Missing ImGuiBackendFlags_HasParentViewport support. The viewport->ParentViewportID field is ignored, and therefore io.ConfigViewportsNoDefaultParent has no effect either.
|
||||
|
||||
// You can use unmodified imgui_impl_* files in your project. See examples/ folder for examples of using this.
|
||||
// Prefer including the entire imgui/ repository into your project (either as a copy or as a submodule), and only build the backends you need.
|
||||
// Learn about Dear ImGui:
|
||||
// - FAQ https://dearimgui.com/faq
|
||||
// - Getting Started https://dearimgui.com/getting-started
|
||||
// - Documentation https://dearimgui.com/docs (same as your local docs/ folder).
|
||||
// - Introduction, links and more at the top of imgui.cpp
|
||||
|
||||
#pragma once
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C"
|
||||
{
|
||||
#endif
|
||||
#include "dcimgui.h"
|
||||
#ifndef IMGUI_DISABLE
|
||||
typedef struct GLFWwindow GLFWwindow;
|
||||
typedef struct GLFWmonitor GLFWmonitor;
|
||||
|
||||
typedef struct ImDrawData_t ImDrawData;
|
||||
// Follow "Getting Started" link and check examples/ folder to learn about using backends!
|
||||
CIMGUI_IMPL_API bool cImGui_ImplGlfw_InitForOpenGL(GLFWwindow* window, bool install_callbacks);
|
||||
CIMGUI_IMPL_API bool cImGui_ImplGlfw_InitForVulkan(GLFWwindow* window, bool install_callbacks);
|
||||
CIMGUI_IMPL_API bool cImGui_ImplGlfw_InitForOther(GLFWwindow* window, bool install_callbacks);
|
||||
CIMGUI_IMPL_API void cImGui_ImplGlfw_Shutdown(void);
|
||||
CIMGUI_IMPL_API void cImGui_ImplGlfw_NewFrame(void);
|
||||
|
||||
// Emscripten related initialization phase methods (call after ImGui_ImplGlfw_InitForOpenGL)
|
||||
#ifdef __EMSCRIPTEN__
|
||||
CIMGUI_IMPL_API void cImGui_ImplGlfw_InstallEmscriptenCallbacks(GLFWwindow* window, const char* canvas_selector);
|
||||
//static inline void ImGui_ImplGlfw_InstallEmscriptenCanvasResizeCallback(const char* canvas_selector) { ImGui_ImplGlfw_InstallEmscriptenCallbacks(nullptr, canvas_selector); } } // Renamed in 1.91.0
|
||||
#endif // #ifdef __EMSCRIPTEN__
|
||||
// GLFW callbacks install
|
||||
// - When calling Init with 'install_callbacks=true': ImGui_ImplGlfw_InstallCallbacks() is called. GLFW callbacks will be installed for you. They will chain-call user's previously installed callbacks, if any.
|
||||
// - When calling Init with 'install_callbacks=false': GLFW callbacks won't be installed. You will need to call individual function yourself from your own GLFW callbacks.
|
||||
CIMGUI_IMPL_API void cImGui_ImplGlfw_InstallCallbacks(GLFWwindow* window);
|
||||
CIMGUI_IMPL_API void cImGui_ImplGlfw_RestoreCallbacks(GLFWwindow* window);
|
||||
|
||||
// GLFW callbacks options:
|
||||
// - Set 'chain_for_all_windows=true' to enable chaining callbacks for all windows (including secondary viewports created by backends or by user)
|
||||
CIMGUI_IMPL_API void cImGui_ImplGlfw_SetCallbacksChainForAllWindows(bool chain_for_all_windows);
|
||||
|
||||
// GLFW callbacks (individual callbacks to call yourself if you didn't install callbacks)
|
||||
CIMGUI_IMPL_API void cImGui_ImplGlfw_WindowFocusCallback(GLFWwindow* window, int focused); // Since 1.84
|
||||
CIMGUI_IMPL_API void cImGui_ImplGlfw_CursorEnterCallback(GLFWwindow* window, int entered); // Since 1.84
|
||||
CIMGUI_IMPL_API void cImGui_ImplGlfw_CursorPosCallback(GLFWwindow* window, double x, double y); // Since 1.87
|
||||
CIMGUI_IMPL_API void cImGui_ImplGlfw_MouseButtonCallback(GLFWwindow* window, int button, int action, int mods);
|
||||
CIMGUI_IMPL_API void cImGui_ImplGlfw_ScrollCallback(GLFWwindow* window, double xoffset, double yoffset);
|
||||
CIMGUI_IMPL_API void cImGui_ImplGlfw_KeyCallback(GLFWwindow* window, int key, int scancode, int action, int mods);
|
||||
CIMGUI_IMPL_API void cImGui_ImplGlfw_CharCallback(GLFWwindow* window, unsigned int c);
|
||||
CIMGUI_IMPL_API void cImGui_ImplGlfw_MonitorCallback(GLFWmonitor* monitor, int event);
|
||||
|
||||
// GLFW helpers
|
||||
CIMGUI_IMPL_API void cImGui_ImplGlfw_Sleep(int milliseconds);
|
||||
CIMGUI_IMPL_API float cImGui_ImplGlfw_GetContentScaleForWindow(GLFWwindow* window);
|
||||
CIMGUI_IMPL_API float cImGui_ImplGlfw_GetContentScaleForMonitor(GLFWmonitor* monitor);
|
||||
#endif// #ifndef IMGUI_DISABLE
|
||||
#ifdef __cplusplus
|
||||
} // End of extern "C" block
|
||||
#endif
|
||||
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,7 @@
|
||||
{
|
||||
"defines": [],
|
||||
"enums": [],
|
||||
"typedefs": [],
|
||||
"structs": [],
|
||||
"functions": []
|
||||
}
|
||||
File diff suppressed because it is too large
Load Diff
@@ -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_glut.h"
|
||||
|
||||
#include <stdio.h>
|
||||
|
||||
// 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_glut.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_ImplGLUT_Init(void)
|
||||
{
|
||||
return ::ImGui_ImplGLUT_Init();
|
||||
}
|
||||
|
||||
CIMGUI_IMPL_API void cimgui::cImGui_ImplGLUT_InstallFuncs(void)
|
||||
{
|
||||
::ImGui_ImplGLUT_InstallFuncs();
|
||||
}
|
||||
|
||||
CIMGUI_IMPL_API void cimgui::cImGui_ImplGLUT_Shutdown(void)
|
||||
{
|
||||
::ImGui_ImplGLUT_Shutdown();
|
||||
}
|
||||
|
||||
CIMGUI_IMPL_API void cimgui::cImGui_ImplGLUT_NewFrame(void)
|
||||
{
|
||||
::ImGui_ImplGLUT_NewFrame();
|
||||
}
|
||||
|
||||
CIMGUI_IMPL_API void cimgui::cImGui_ImplGLUT_ReshapeFunc(int w, int h)
|
||||
{
|
||||
::ImGui_ImplGLUT_ReshapeFunc(w, h);
|
||||
}
|
||||
|
||||
CIMGUI_IMPL_API void cimgui::cImGui_ImplGLUT_MotionFunc(int x, int y)
|
||||
{
|
||||
::ImGui_ImplGLUT_MotionFunc(x, y);
|
||||
}
|
||||
|
||||
CIMGUI_IMPL_API void cimgui::cImGui_ImplGLUT_MouseFunc(int button, int state, int x, int y)
|
||||
{
|
||||
::ImGui_ImplGLUT_MouseFunc(button, state, x, y);
|
||||
}
|
||||
|
||||
CIMGUI_IMPL_API void cimgui::cImGui_ImplGLUT_MouseWheelFunc(int button, int dir, int x, int y)
|
||||
{
|
||||
::ImGui_ImplGLUT_MouseWheelFunc(button, dir, x, y);
|
||||
}
|
||||
|
||||
CIMGUI_IMPL_API void cimgui::cImGui_ImplGLUT_KeyboardFunc(unsigned char c, int x, int y)
|
||||
{
|
||||
::ImGui_ImplGLUT_KeyboardFunc(c, x, y);
|
||||
}
|
||||
|
||||
CIMGUI_IMPL_API void cimgui::cImGui_ImplGLUT_KeyboardUpFunc(unsigned char c, int x, int y)
|
||||
{
|
||||
::ImGui_ImplGLUT_KeyboardUpFunc(c, x, y);
|
||||
}
|
||||
|
||||
CIMGUI_IMPL_API void cimgui::cImGui_ImplGLUT_SpecialFunc(int key, int x, int y)
|
||||
{
|
||||
::ImGui_ImplGLUT_SpecialFunc(key, x, y);
|
||||
}
|
||||
|
||||
CIMGUI_IMPL_API void cimgui::cImGui_ImplGLUT_SpecialUpFunc(int key, int x, int y)
|
||||
{
|
||||
::ImGui_ImplGLUT_SpecialUpFunc(key, x, y);
|
||||
}
|
||||
|
||||
#endif // #ifndef IMGUI_DISABLE
|
||||
@@ -0,0 +1,65 @@
|
||||
// THIS FILE HAS BEEN AUTO-GENERATED BY THE 'DEAR BINDINGS' GENERATOR.
|
||||
// **DO NOT EDIT DIRECTLY**
|
||||
// https://github.com/dearimgui/dear_bindings
|
||||
|
||||
// dear imgui: Platform Backend for GLUT/FreeGLUT
|
||||
// ImDrawIdx: vertex index. [Compile-time configurable type]
|
||||
// - To use 16-bit indices + allow large meshes: backend need to set 'io.BackendFlags |= ImGuiBackendFlags_RendererHasVtxOffset' and handle ImDrawCmd::VtxOffset (recommended).
|
||||
// - To use 32-bit indices: override with '#define ImDrawIdx unsigned int' in your imconfig.h file.
|
||||
#ifndef ImDrawIdx
|
||||
typedef unsigned short ImDrawIdx; // Default: 16-bit (for maximum compatibility with renderer backends)
|
||||
#endif // #ifndef ImDrawIdx
|
||||
// This needs to be used along with a Renderer (e.g. OpenGL2)
|
||||
|
||||
// !!! GLUT/FreeGLUT IS OBSOLETE PREHISTORIC SOFTWARE. Using GLUT is not recommended unless you really miss the 90's. !!!
|
||||
// !!! If someone or something is teaching you GLUT today, you are being abused. Please show some resistance. !!!
|
||||
// !!! Nowadays, prefer using GLFW or SDL instead!
|
||||
|
||||
// Implemented features:
|
||||
// [X] Platform: Partial keyboard support. Since 1.87 we are using the io.AddKeyEvent() function. Pass ImGuiKey values to all key functions e.g. ImGui::IsKeyPressed(ImGuiKey_Space). [Legacy GLUT values are obsolete since 1.87 and not supported since 1.91.5]
|
||||
// Missing features or Issues:
|
||||
// [ ] Platform: GLUT is unable to distinguish e.g. Backspace from CTRL+H or TAB from CTRL+I
|
||||
// [ ] Platform: Missing horizontal mouse wheel support.
|
||||
// [ ] Platform: Missing mouse cursor shape/visibility support.
|
||||
// [ ] Platform: Missing clipboard support (not supported by Glut).
|
||||
// [ ] Platform: Missing gamepad support.
|
||||
// [ ] Platform: Missing multi-viewport support (multiple windows).
|
||||
|
||||
// You can use unmodified imgui_impl_* files in your project. See examples/ folder for examples of using this.
|
||||
// Prefer including the entire imgui/ repository into your project (either as a copy or as a submodule), and only build the backends you need.
|
||||
// Learn about Dear ImGui:
|
||||
// - FAQ https://dearimgui.com/faq
|
||||
// - Getting Started https://dearimgui.com/getting-started
|
||||
// - Documentation https://dearimgui.com/docs (same as your local docs/ folder).
|
||||
// - Introduction, links and more at the top of imgui.cpp
|
||||
|
||||
#pragma once
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C"
|
||||
{
|
||||
#endif
|
||||
#ifndef IMGUI_DISABLE
|
||||
#include "dcimgui.h"
|
||||
typedef struct ImDrawData_t ImDrawData;
|
||||
// Follow "Getting Started" link and check examples/ folder to learn about using backends!
|
||||
CIMGUI_IMPL_API bool cImGui_ImplGLUT_Init(void);
|
||||
CIMGUI_IMPL_API void cImGui_ImplGLUT_InstallFuncs(void);
|
||||
CIMGUI_IMPL_API void cImGui_ImplGLUT_Shutdown(void);
|
||||
CIMGUI_IMPL_API void cImGui_ImplGLUT_NewFrame(void);
|
||||
|
||||
// You can call ImGui_ImplGLUT_InstallFuncs() to get all those functions installed automatically,
|
||||
// or call them yourself from your own GLUT handlers. We are using the same weird names as GLUT for consistency..
|
||||
//------------------------------------ GLUT name ---------------------------------------------- Decent Name ---------
|
||||
CIMGUI_IMPL_API void cImGui_ImplGLUT_ReshapeFunc(int w, int h); // ~ ResizeFunc
|
||||
CIMGUI_IMPL_API void cImGui_ImplGLUT_MotionFunc(int x, int y); // ~ MouseMoveFunc
|
||||
CIMGUI_IMPL_API void cImGui_ImplGLUT_MouseFunc(int button, int state, int x, int y); // ~ MouseButtonFunc
|
||||
CIMGUI_IMPL_API void cImGui_ImplGLUT_MouseWheelFunc(int button, int dir, int x, int y); // ~ MouseWheelFunc
|
||||
CIMGUI_IMPL_API void cImGui_ImplGLUT_KeyboardFunc(unsigned char c, int x, int y); // ~ CharPressedFunc
|
||||
CIMGUI_IMPL_API void cImGui_ImplGLUT_KeyboardUpFunc(unsigned char c, int x, int y); // ~ CharReleasedFunc
|
||||
CIMGUI_IMPL_API void cImGui_ImplGLUT_SpecialFunc(int key, int x, int y); // ~ KeyPressedFunc
|
||||
CIMGUI_IMPL_API void cImGui_ImplGLUT_SpecialUpFunc(int key, int x, int y); // ~ KeyReleasedFunc
|
||||
#endif// #ifndef IMGUI_DISABLE
|
||||
#ifdef __cplusplus
|
||||
} // End of extern "C" block
|
||||
#endif
|
||||
@@ -0,0 +1,677 @@
|
||||
{
|
||||
"defines": [],
|
||||
"enums": [],
|
||||
"typedefs": [
|
||||
{
|
||||
"name": "ImDrawIdx",
|
||||
"type": {
|
||||
"declaration": "unsigned short",
|
||||
"description": {
|
||||
"kind": "Builtin",
|
||||
"builtin_type": "unsigned_short"
|
||||
}
|
||||
},
|
||||
"comments": {
|
||||
"attached": "// Default: 16-bit (for maximum compatibility with renderer backends)"
|
||||
},
|
||||
"conditionals": [
|
||||
{
|
||||
"condition": "ifndef",
|
||||
"expression": "ImDrawIdx"
|
||||
}
|
||||
],
|
||||
"is_internal": false,
|
||||
"source_location": {
|
||||
"filename": "imgui_impl_glut.h"
|
||||
}
|
||||
}
|
||||
],
|
||||
"structs": [
|
||||
{
|
||||
"name": "ImDrawData",
|
||||
"original_fully_qualified_name": "ImDrawData",
|
||||
"kind": "struct",
|
||||
"by_value": false,
|
||||
"forward_declaration": true,
|
||||
"is_anonymous": false,
|
||||
"fields": [],
|
||||
"is_internal": false,
|
||||
"source_location": {
|
||||
"filename": "imgui_impl_glut.h",
|
||||
"line": 1
|
||||
}
|
||||
}
|
||||
],
|
||||
"functions": [
|
||||
{
|
||||
"name": "cImGui_ImplGLUT_Init",
|
||||
"original_fully_qualified_name": "ImGui_ImplGLUT_Init",
|
||||
"return_type": {
|
||||
"declaration": "bool",
|
||||
"description": {
|
||||
"kind": "Builtin",
|
||||
"builtin_type": "bool"
|
||||
}
|
||||
},
|
||||
"arguments": [],
|
||||
"is_default_argument_helper": false,
|
||||
"is_manual_helper": false,
|
||||
"is_imstr_helper": false,
|
||||
"has_imstr_helper": false,
|
||||
"is_unformatted_helper": false,
|
||||
"is_static": false,
|
||||
"comments": {
|
||||
"preceding": [
|
||||
"// Follow \"Getting Started\" link and check examples/ folder to learn about using backends!"
|
||||
]
|
||||
},
|
||||
"is_internal": false,
|
||||
"source_location": {
|
||||
"filename": "imgui_impl_glut.h",
|
||||
"line": 31
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "cImGui_ImplGLUT_InstallFuncs",
|
||||
"original_fully_qualified_name": "ImGui_ImplGLUT_InstallFuncs",
|
||||
"return_type": {
|
||||
"declaration": "void",
|
||||
"description": {
|
||||
"kind": "Builtin",
|
||||
"builtin_type": "void"
|
||||
}
|
||||
},
|
||||
"arguments": [],
|
||||
"is_default_argument_helper": false,
|
||||
"is_manual_helper": false,
|
||||
"is_imstr_helper": false,
|
||||
"has_imstr_helper": false,
|
||||
"is_unformatted_helper": false,
|
||||
"is_static": false,
|
||||
"is_internal": false,
|
||||
"source_location": {
|
||||
"filename": "imgui_impl_glut.h",
|
||||
"line": 32
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "cImGui_ImplGLUT_Shutdown",
|
||||
"original_fully_qualified_name": "ImGui_ImplGLUT_Shutdown",
|
||||
"return_type": {
|
||||
"declaration": "void",
|
||||
"description": {
|
||||
"kind": "Builtin",
|
||||
"builtin_type": "void"
|
||||
}
|
||||
},
|
||||
"arguments": [],
|
||||
"is_default_argument_helper": false,
|
||||
"is_manual_helper": false,
|
||||
"is_imstr_helper": false,
|
||||
"has_imstr_helper": false,
|
||||
"is_unformatted_helper": false,
|
||||
"is_static": false,
|
||||
"is_internal": false,
|
||||
"source_location": {
|
||||
"filename": "imgui_impl_glut.h",
|
||||
"line": 33
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "cImGui_ImplGLUT_NewFrame",
|
||||
"original_fully_qualified_name": "ImGui_ImplGLUT_NewFrame",
|
||||
"return_type": {
|
||||
"declaration": "void",
|
||||
"description": {
|
||||
"kind": "Builtin",
|
||||
"builtin_type": "void"
|
||||
}
|
||||
},
|
||||
"arguments": [],
|
||||
"is_default_argument_helper": false,
|
||||
"is_manual_helper": false,
|
||||
"is_imstr_helper": false,
|
||||
"has_imstr_helper": false,
|
||||
"is_unformatted_helper": false,
|
||||
"is_static": false,
|
||||
"is_internal": false,
|
||||
"source_location": {
|
||||
"filename": "imgui_impl_glut.h",
|
||||
"line": 34
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "cImGui_ImplGLUT_ReshapeFunc",
|
||||
"original_fully_qualified_name": "ImGui_ImplGLUT_ReshapeFunc",
|
||||
"return_type": {
|
||||
"declaration": "void",
|
||||
"description": {
|
||||
"kind": "Builtin",
|
||||
"builtin_type": "void"
|
||||
}
|
||||
},
|
||||
"arguments": [
|
||||
{
|
||||
"name": "w",
|
||||
"type": {
|
||||
"declaration": "int",
|
||||
"description": {
|
||||
"kind": "Builtin",
|
||||
"builtin_type": "int"
|
||||
}
|
||||
},
|
||||
"is_array": false,
|
||||
"is_varargs": false,
|
||||
"is_instance_pointer": false
|
||||
},
|
||||
{
|
||||
"name": "h",
|
||||
"type": {
|
||||
"declaration": "int",
|
||||
"description": {
|
||||
"kind": "Builtin",
|
||||
"builtin_type": "int"
|
||||
}
|
||||
},
|
||||
"is_array": false,
|
||||
"is_varargs": false,
|
||||
"is_instance_pointer": false
|
||||
}
|
||||
],
|
||||
"is_default_argument_helper": false,
|
||||
"is_manual_helper": false,
|
||||
"is_imstr_helper": false,
|
||||
"has_imstr_helper": false,
|
||||
"is_unformatted_helper": false,
|
||||
"is_static": false,
|
||||
"comments": {
|
||||
"preceding": [
|
||||
"// You can call ImGui_ImplGLUT_InstallFuncs() to get all those functions installed automatically,",
|
||||
"// or call them yourself from your own GLUT handlers. We are using the same weird names as GLUT for consistency..",
|
||||
"//------------------------------------ GLUT name ---------------------------------------------- Decent Name ---------"
|
||||
],
|
||||
"attached": "// ~ ResizeFunc"
|
||||
},
|
||||
"is_internal": false,
|
||||
"source_location": {
|
||||
"filename": "imgui_impl_glut.h",
|
||||
"line": 39
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "cImGui_ImplGLUT_MotionFunc",
|
||||
"original_fully_qualified_name": "ImGui_ImplGLUT_MotionFunc",
|
||||
"return_type": {
|
||||
"declaration": "void",
|
||||
"description": {
|
||||
"kind": "Builtin",
|
||||
"builtin_type": "void"
|
||||
}
|
||||
},
|
||||
"arguments": [
|
||||
{
|
||||
"name": "x",
|
||||
"type": {
|
||||
"declaration": "int",
|
||||
"description": {
|
||||
"kind": "Builtin",
|
||||
"builtin_type": "int"
|
||||
}
|
||||
},
|
||||
"is_array": false,
|
||||
"is_varargs": false,
|
||||
"is_instance_pointer": false
|
||||
},
|
||||
{
|
||||
"name": "y",
|
||||
"type": {
|
||||
"declaration": "int",
|
||||
"description": {
|
||||
"kind": "Builtin",
|
||||
"builtin_type": "int"
|
||||
}
|
||||
},
|
||||
"is_array": false,
|
||||
"is_varargs": false,
|
||||
"is_instance_pointer": false
|
||||
}
|
||||
],
|
||||
"is_default_argument_helper": false,
|
||||
"is_manual_helper": false,
|
||||
"is_imstr_helper": false,
|
||||
"has_imstr_helper": false,
|
||||
"is_unformatted_helper": false,
|
||||
"is_static": false,
|
||||
"comments": {
|
||||
"attached": "// ~ MouseMoveFunc"
|
||||
},
|
||||
"is_internal": false,
|
||||
"source_location": {
|
||||
"filename": "imgui_impl_glut.h",
|
||||
"line": 40
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "cImGui_ImplGLUT_MouseFunc",
|
||||
"original_fully_qualified_name": "ImGui_ImplGLUT_MouseFunc",
|
||||
"return_type": {
|
||||
"declaration": "void",
|
||||
"description": {
|
||||
"kind": "Builtin",
|
||||
"builtin_type": "void"
|
||||
}
|
||||
},
|
||||
"arguments": [
|
||||
{
|
||||
"name": "button",
|
||||
"type": {
|
||||
"declaration": "int",
|
||||
"description": {
|
||||
"kind": "Builtin",
|
||||
"builtin_type": "int"
|
||||
}
|
||||
},
|
||||
"is_array": false,
|
||||
"is_varargs": false,
|
||||
"is_instance_pointer": false
|
||||
},
|
||||
{
|
||||
"name": "state",
|
||||
"type": {
|
||||
"declaration": "int",
|
||||
"description": {
|
||||
"kind": "Builtin",
|
||||
"builtin_type": "int"
|
||||
}
|
||||
},
|
||||
"is_array": false,
|
||||
"is_varargs": false,
|
||||
"is_instance_pointer": false
|
||||
},
|
||||
{
|
||||
"name": "x",
|
||||
"type": {
|
||||
"declaration": "int",
|
||||
"description": {
|
||||
"kind": "Builtin",
|
||||
"builtin_type": "int"
|
||||
}
|
||||
},
|
||||
"is_array": false,
|
||||
"is_varargs": false,
|
||||
"is_instance_pointer": false
|
||||
},
|
||||
{
|
||||
"name": "y",
|
||||
"type": {
|
||||
"declaration": "int",
|
||||
"description": {
|
||||
"kind": "Builtin",
|
||||
"builtin_type": "int"
|
||||
}
|
||||
},
|
||||
"is_array": false,
|
||||
"is_varargs": false,
|
||||
"is_instance_pointer": false
|
||||
}
|
||||
],
|
||||
"is_default_argument_helper": false,
|
||||
"is_manual_helper": false,
|
||||
"is_imstr_helper": false,
|
||||
"has_imstr_helper": false,
|
||||
"is_unformatted_helper": false,
|
||||
"is_static": false,
|
||||
"comments": {
|
||||
"attached": "// ~ MouseButtonFunc"
|
||||
},
|
||||
"is_internal": false,
|
||||
"source_location": {
|
||||
"filename": "imgui_impl_glut.h",
|
||||
"line": 41
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "cImGui_ImplGLUT_MouseWheelFunc",
|
||||
"original_fully_qualified_name": "ImGui_ImplGLUT_MouseWheelFunc",
|
||||
"return_type": {
|
||||
"declaration": "void",
|
||||
"description": {
|
||||
"kind": "Builtin",
|
||||
"builtin_type": "void"
|
||||
}
|
||||
},
|
||||
"arguments": [
|
||||
{
|
||||
"name": "button",
|
||||
"type": {
|
||||
"declaration": "int",
|
||||
"description": {
|
||||
"kind": "Builtin",
|
||||
"builtin_type": "int"
|
||||
}
|
||||
},
|
||||
"is_array": false,
|
||||
"is_varargs": false,
|
||||
"is_instance_pointer": false
|
||||
},
|
||||
{
|
||||
"name": "dir",
|
||||
"type": {
|
||||
"declaration": "int",
|
||||
"description": {
|
||||
"kind": "Builtin",
|
||||
"builtin_type": "int"
|
||||
}
|
||||
},
|
||||
"is_array": false,
|
||||
"is_varargs": false,
|
||||
"is_instance_pointer": false
|
||||
},
|
||||
{
|
||||
"name": "x",
|
||||
"type": {
|
||||
"declaration": "int",
|
||||
"description": {
|
||||
"kind": "Builtin",
|
||||
"builtin_type": "int"
|
||||
}
|
||||
},
|
||||
"is_array": false,
|
||||
"is_varargs": false,
|
||||
"is_instance_pointer": false
|
||||
},
|
||||
{
|
||||
"name": "y",
|
||||
"type": {
|
||||
"declaration": "int",
|
||||
"description": {
|
||||
"kind": "Builtin",
|
||||
"builtin_type": "int"
|
||||
}
|
||||
},
|
||||
"is_array": false,
|
||||
"is_varargs": false,
|
||||
"is_instance_pointer": false
|
||||
}
|
||||
],
|
||||
"is_default_argument_helper": false,
|
||||
"is_manual_helper": false,
|
||||
"is_imstr_helper": false,
|
||||
"has_imstr_helper": false,
|
||||
"is_unformatted_helper": false,
|
||||
"is_static": false,
|
||||
"comments": {
|
||||
"attached": "// ~ MouseWheelFunc"
|
||||
},
|
||||
"is_internal": false,
|
||||
"source_location": {
|
||||
"filename": "imgui_impl_glut.h",
|
||||
"line": 42
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "cImGui_ImplGLUT_KeyboardFunc",
|
||||
"original_fully_qualified_name": "ImGui_ImplGLUT_KeyboardFunc",
|
||||
"return_type": {
|
||||
"declaration": "void",
|
||||
"description": {
|
||||
"kind": "Builtin",
|
||||
"builtin_type": "void"
|
||||
}
|
||||
},
|
||||
"arguments": [
|
||||
{
|
||||
"name": "c",
|
||||
"type": {
|
||||
"declaration": "unsigned char",
|
||||
"description": {
|
||||
"kind": "Builtin",
|
||||
"builtin_type": "unsigned_char"
|
||||
}
|
||||
},
|
||||
"is_array": false,
|
||||
"is_varargs": false,
|
||||
"is_instance_pointer": false
|
||||
},
|
||||
{
|
||||
"name": "x",
|
||||
"type": {
|
||||
"declaration": "int",
|
||||
"description": {
|
||||
"kind": "Builtin",
|
||||
"builtin_type": "int"
|
||||
}
|
||||
},
|
||||
"is_array": false,
|
||||
"is_varargs": false,
|
||||
"is_instance_pointer": false
|
||||
},
|
||||
{
|
||||
"name": "y",
|
||||
"type": {
|
||||
"declaration": "int",
|
||||
"description": {
|
||||
"kind": "Builtin",
|
||||
"builtin_type": "int"
|
||||
}
|
||||
},
|
||||
"is_array": false,
|
||||
"is_varargs": false,
|
||||
"is_instance_pointer": false
|
||||
}
|
||||
],
|
||||
"is_default_argument_helper": false,
|
||||
"is_manual_helper": false,
|
||||
"is_imstr_helper": false,
|
||||
"has_imstr_helper": false,
|
||||
"is_unformatted_helper": false,
|
||||
"is_static": false,
|
||||
"comments": {
|
||||
"attached": "// ~ CharPressedFunc"
|
||||
},
|
||||
"is_internal": false,
|
||||
"source_location": {
|
||||
"filename": "imgui_impl_glut.h",
|
||||
"line": 43
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "cImGui_ImplGLUT_KeyboardUpFunc",
|
||||
"original_fully_qualified_name": "ImGui_ImplGLUT_KeyboardUpFunc",
|
||||
"return_type": {
|
||||
"declaration": "void",
|
||||
"description": {
|
||||
"kind": "Builtin",
|
||||
"builtin_type": "void"
|
||||
}
|
||||
},
|
||||
"arguments": [
|
||||
{
|
||||
"name": "c",
|
||||
"type": {
|
||||
"declaration": "unsigned char",
|
||||
"description": {
|
||||
"kind": "Builtin",
|
||||
"builtin_type": "unsigned_char"
|
||||
}
|
||||
},
|
||||
"is_array": false,
|
||||
"is_varargs": false,
|
||||
"is_instance_pointer": false
|
||||
},
|
||||
{
|
||||
"name": "x",
|
||||
"type": {
|
||||
"declaration": "int",
|
||||
"description": {
|
||||
"kind": "Builtin",
|
||||
"builtin_type": "int"
|
||||
}
|
||||
},
|
||||
"is_array": false,
|
||||
"is_varargs": false,
|
||||
"is_instance_pointer": false
|
||||
},
|
||||
{
|
||||
"name": "y",
|
||||
"type": {
|
||||
"declaration": "int",
|
||||
"description": {
|
||||
"kind": "Builtin",
|
||||
"builtin_type": "int"
|
||||
}
|
||||
},
|
||||
"is_array": false,
|
||||
"is_varargs": false,
|
||||
"is_instance_pointer": false
|
||||
}
|
||||
],
|
||||
"is_default_argument_helper": false,
|
||||
"is_manual_helper": false,
|
||||
"is_imstr_helper": false,
|
||||
"has_imstr_helper": false,
|
||||
"is_unformatted_helper": false,
|
||||
"is_static": false,
|
||||
"comments": {
|
||||
"attached": "// ~ CharReleasedFunc"
|
||||
},
|
||||
"is_internal": false,
|
||||
"source_location": {
|
||||
"filename": "imgui_impl_glut.h",
|
||||
"line": 44
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "cImGui_ImplGLUT_SpecialFunc",
|
||||
"original_fully_qualified_name": "ImGui_ImplGLUT_SpecialFunc",
|
||||
"return_type": {
|
||||
"declaration": "void",
|
||||
"description": {
|
||||
"kind": "Builtin",
|
||||
"builtin_type": "void"
|
||||
}
|
||||
},
|
||||
"arguments": [
|
||||
{
|
||||
"name": "key",
|
||||
"type": {
|
||||
"declaration": "int",
|
||||
"description": {
|
||||
"kind": "Builtin",
|
||||
"builtin_type": "int"
|
||||
}
|
||||
},
|
||||
"is_array": false,
|
||||
"is_varargs": false,
|
||||
"is_instance_pointer": false
|
||||
},
|
||||
{
|
||||
"name": "x",
|
||||
"type": {
|
||||
"declaration": "int",
|
||||
"description": {
|
||||
"kind": "Builtin",
|
||||
"builtin_type": "int"
|
||||
}
|
||||
},
|
||||
"is_array": false,
|
||||
"is_varargs": false,
|
||||
"is_instance_pointer": false
|
||||
},
|
||||
{
|
||||
"name": "y",
|
||||
"type": {
|
||||
"declaration": "int",
|
||||
"description": {
|
||||
"kind": "Builtin",
|
||||
"builtin_type": "int"
|
||||
}
|
||||
},
|
||||
"is_array": false,
|
||||
"is_varargs": false,
|
||||
"is_instance_pointer": false
|
||||
}
|
||||
],
|
||||
"is_default_argument_helper": false,
|
||||
"is_manual_helper": false,
|
||||
"is_imstr_helper": false,
|
||||
"has_imstr_helper": false,
|
||||
"is_unformatted_helper": false,
|
||||
"is_static": false,
|
||||
"comments": {
|
||||
"attached": "// ~ KeyPressedFunc"
|
||||
},
|
||||
"is_internal": false,
|
||||
"source_location": {
|
||||
"filename": "imgui_impl_glut.h",
|
||||
"line": 45
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "cImGui_ImplGLUT_SpecialUpFunc",
|
||||
"original_fully_qualified_name": "ImGui_ImplGLUT_SpecialUpFunc",
|
||||
"return_type": {
|
||||
"declaration": "void",
|
||||
"description": {
|
||||
"kind": "Builtin",
|
||||
"builtin_type": "void"
|
||||
}
|
||||
},
|
||||
"arguments": [
|
||||
{
|
||||
"name": "key",
|
||||
"type": {
|
||||
"declaration": "int",
|
||||
"description": {
|
||||
"kind": "Builtin",
|
||||
"builtin_type": "int"
|
||||
}
|
||||
},
|
||||
"is_array": false,
|
||||
"is_varargs": false,
|
||||
"is_instance_pointer": false
|
||||
},
|
||||
{
|
||||
"name": "x",
|
||||
"type": {
|
||||
"declaration": "int",
|
||||
"description": {
|
||||
"kind": "Builtin",
|
||||
"builtin_type": "int"
|
||||
}
|
||||
},
|
||||
"is_array": false,
|
||||
"is_varargs": false,
|
||||
"is_instance_pointer": false
|
||||
},
|
||||
{
|
||||
"name": "y",
|
||||
"type": {
|
||||
"declaration": "int",
|
||||
"description": {
|
||||
"kind": "Builtin",
|
||||
"builtin_type": "int"
|
||||
}
|
||||
},
|
||||
"is_array": false,
|
||||
"is_varargs": false,
|
||||
"is_instance_pointer": false
|
||||
}
|
||||
],
|
||||
"is_default_argument_helper": false,
|
||||
"is_manual_helper": false,
|
||||
"is_imstr_helper": false,
|
||||
"has_imstr_helper": false,
|
||||
"is_unformatted_helper": false,
|
||||
"is_static": false,
|
||||
"comments": {
|
||||
"attached": "// ~ KeyReleasedFunc"
|
||||
},
|
||||
"is_internal": false,
|
||||
"source_location": {
|
||||
"filename": "imgui_impl_glut.h",
|
||||
"line": 46
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,7 @@
|
||||
{
|
||||
"defines": [],
|
||||
"enums": [],
|
||||
"typedefs": [],
|
||||
"structs": [],
|
||||
"functions": []
|
||||
}
|
||||
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,148 @@
|
||||
// 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_null.h"
|
||||
|
||||
#include <stdio.h>
|
||||
|
||||
// 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_null.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_ImplNull_Init(void)
|
||||
{
|
||||
return ::ImGui_ImplNull_Init();
|
||||
}
|
||||
|
||||
CIMGUI_IMPL_API void cimgui::cImGui_ImplNull_Shutdown(void)
|
||||
{
|
||||
::ImGui_ImplNull_Shutdown();
|
||||
}
|
||||
|
||||
CIMGUI_IMPL_API void cimgui::cImGui_ImplNull_NewFrame(void)
|
||||
{
|
||||
::ImGui_ImplNull_NewFrame();
|
||||
}
|
||||
|
||||
CIMGUI_IMPL_API bool cimgui::cImGui_ImplNullPlatform_Init(void)
|
||||
{
|
||||
return ::ImGui_ImplNullPlatform_Init();
|
||||
}
|
||||
|
||||
CIMGUI_IMPL_API void cimgui::cImGui_ImplNullPlatform_Shutdown(void)
|
||||
{
|
||||
::ImGui_ImplNullPlatform_Shutdown();
|
||||
}
|
||||
|
||||
CIMGUI_IMPL_API void cimgui::cImGui_ImplNullPlatform_NewFrame(void)
|
||||
{
|
||||
::ImGui_ImplNullPlatform_NewFrame();
|
||||
}
|
||||
|
||||
CIMGUI_IMPL_API bool cimgui::cImGui_ImplNullRender_Init(void)
|
||||
{
|
||||
return ::ImGui_ImplNullRender_Init();
|
||||
}
|
||||
|
||||
CIMGUI_IMPL_API void cimgui::cImGui_ImplNullRender_Shutdown(void)
|
||||
{
|
||||
::ImGui_ImplNullRender_Shutdown();
|
||||
}
|
||||
|
||||
CIMGUI_IMPL_API void cimgui::cImGui_ImplNullRender_NewFrame(void)
|
||||
{
|
||||
::ImGui_ImplNullRender_NewFrame();
|
||||
}
|
||||
|
||||
CIMGUI_IMPL_API void cimgui::cImGui_ImplNullRender_RenderDrawData(cimgui::ImDrawData* draw_data)
|
||||
{
|
||||
::ImGui_ImplNullRender_RenderDrawData(reinterpret_cast<::ImDrawData*>(draw_data));
|
||||
}
|
||||
|
||||
#endif // #ifndef IMGUI_DISABLE
|
||||
@@ -0,0 +1,51 @@
|
||||
// THIS FILE HAS BEEN AUTO-GENERATED BY THE 'DEAR BINDINGS' GENERATOR.
|
||||
// **DO NOT EDIT DIRECTLY**
|
||||
// https://github.com/dearimgui/dear_bindings
|
||||
|
||||
// dear imgui: Null Platform+Renderer Backends
|
||||
// ImDrawIdx: vertex index. [Compile-time configurable type]
|
||||
// - To use 16-bit indices + allow large meshes: backend need to set 'io.BackendFlags |= ImGuiBackendFlags_RendererHasVtxOffset' and handle ImDrawCmd::VtxOffset (recommended).
|
||||
// - To use 32-bit indices: override with '#define ImDrawIdx unsigned int' in your imconfig.h file.
|
||||
#ifndef ImDrawIdx
|
||||
typedef unsigned short ImDrawIdx; // Default: 16-bit (for maximum compatibility with renderer backends)
|
||||
#endif // #ifndef ImDrawIdx
|
||||
// This is designed if you need to use a blind Dear Imgui context with no input and no output.
|
||||
|
||||
// You can use unmodified imgui_impl_* files in your project. See examples/ folder for examples of using this.
|
||||
// Prefer including the entire imgui/ repository into your project (either as a copy or as a submodule), and only build the backends you need.
|
||||
// Learn about Dear ImGui:
|
||||
// - FAQ https://dearimgui.com/faq
|
||||
// - Getting Started https://dearimgui.com/getting-started
|
||||
// - Documentation https://dearimgui.com/docs (same as your local docs/ folder).
|
||||
// - Introduction, links and more at the top of imgui.cpp
|
||||
|
||||
#pragma once
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C"
|
||||
{
|
||||
#endif
|
||||
#include "dcimgui.h"
|
||||
#ifndef IMGUI_DISABLE
|
||||
// Follow "Getting Started" link and check examples/ folder to learn about using backends!
|
||||
|
||||
typedef struct ImDrawData_t ImDrawData;
|
||||
// Null = NullPlatform + NullRender
|
||||
CIMGUI_IMPL_API bool cImGui_ImplNull_Init(void);
|
||||
CIMGUI_IMPL_API void cImGui_ImplNull_Shutdown(void);
|
||||
CIMGUI_IMPL_API void cImGui_ImplNull_NewFrame(void);
|
||||
|
||||
// Null platform only (single screen, fixed timestep, no inputs)
|
||||
CIMGUI_IMPL_API bool cImGui_ImplNullPlatform_Init(void);
|
||||
CIMGUI_IMPL_API void cImGui_ImplNullPlatform_Shutdown(void);
|
||||
CIMGUI_IMPL_API void cImGui_ImplNullPlatform_NewFrame(void);
|
||||
|
||||
// Null renderer only (no output)
|
||||
CIMGUI_IMPL_API bool cImGui_ImplNullRender_Init(void);
|
||||
CIMGUI_IMPL_API void cImGui_ImplNullRender_Shutdown(void);
|
||||
CIMGUI_IMPL_API void cImGui_ImplNullRender_NewFrame(void);
|
||||
CIMGUI_IMPL_API void cImGui_ImplNullRender_RenderDrawData(ImDrawData* draw_data);
|
||||
#endif// #ifndef IMGUI_DISABLE
|
||||
#ifdef __cplusplus
|
||||
} // End of extern "C" block
|
||||
#endif
|
||||
@@ -0,0 +1,309 @@
|
||||
{
|
||||
"defines": [],
|
||||
"enums": [],
|
||||
"typedefs": [
|
||||
{
|
||||
"name": "ImDrawIdx",
|
||||
"type": {
|
||||
"declaration": "unsigned short",
|
||||
"description": {
|
||||
"kind": "Builtin",
|
||||
"builtin_type": "unsigned_short"
|
||||
}
|
||||
},
|
||||
"comments": {
|
||||
"attached": "// Default: 16-bit (for maximum compatibility with renderer backends)"
|
||||
},
|
||||
"conditionals": [
|
||||
{
|
||||
"condition": "ifndef",
|
||||
"expression": "ImDrawIdx"
|
||||
}
|
||||
],
|
||||
"is_internal": false,
|
||||
"source_location": {
|
||||
"filename": "imgui_impl_null.h"
|
||||
}
|
||||
}
|
||||
],
|
||||
"structs": [
|
||||
{
|
||||
"name": "ImDrawData",
|
||||
"original_fully_qualified_name": "ImDrawData",
|
||||
"kind": "struct",
|
||||
"by_value": false,
|
||||
"forward_declaration": true,
|
||||
"is_anonymous": false,
|
||||
"fields": [],
|
||||
"is_internal": false,
|
||||
"source_location": {
|
||||
"filename": "imgui_impl_null.h",
|
||||
"line": 1
|
||||
}
|
||||
}
|
||||
],
|
||||
"functions": [
|
||||
{
|
||||
"name": "cImGui_ImplNull_Init",
|
||||
"original_fully_qualified_name": "ImGui_ImplNull_Init",
|
||||
"return_type": {
|
||||
"declaration": "bool",
|
||||
"description": {
|
||||
"kind": "Builtin",
|
||||
"builtin_type": "bool"
|
||||
}
|
||||
},
|
||||
"arguments": [],
|
||||
"is_default_argument_helper": false,
|
||||
"is_manual_helper": false,
|
||||
"is_imstr_helper": false,
|
||||
"has_imstr_helper": false,
|
||||
"is_unformatted_helper": false,
|
||||
"is_static": false,
|
||||
"comments": {
|
||||
"preceding": [
|
||||
"// Null = NullPlatform + NullRender"
|
||||
]
|
||||
},
|
||||
"is_internal": false,
|
||||
"source_location": {
|
||||
"filename": "imgui_impl_null.h",
|
||||
"line": 19
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "cImGui_ImplNull_Shutdown",
|
||||
"original_fully_qualified_name": "ImGui_ImplNull_Shutdown",
|
||||
"return_type": {
|
||||
"declaration": "void",
|
||||
"description": {
|
||||
"kind": "Builtin",
|
||||
"builtin_type": "void"
|
||||
}
|
||||
},
|
||||
"arguments": [],
|
||||
"is_default_argument_helper": false,
|
||||
"is_manual_helper": false,
|
||||
"is_imstr_helper": false,
|
||||
"has_imstr_helper": false,
|
||||
"is_unformatted_helper": false,
|
||||
"is_static": false,
|
||||
"is_internal": false,
|
||||
"source_location": {
|
||||
"filename": "imgui_impl_null.h",
|
||||
"line": 20
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "cImGui_ImplNull_NewFrame",
|
||||
"original_fully_qualified_name": "ImGui_ImplNull_NewFrame",
|
||||
"return_type": {
|
||||
"declaration": "void",
|
||||
"description": {
|
||||
"kind": "Builtin",
|
||||
"builtin_type": "void"
|
||||
}
|
||||
},
|
||||
"arguments": [],
|
||||
"is_default_argument_helper": false,
|
||||
"is_manual_helper": false,
|
||||
"is_imstr_helper": false,
|
||||
"has_imstr_helper": false,
|
||||
"is_unformatted_helper": false,
|
||||
"is_static": false,
|
||||
"is_internal": false,
|
||||
"source_location": {
|
||||
"filename": "imgui_impl_null.h",
|
||||
"line": 21
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "cImGui_ImplNullPlatform_Init",
|
||||
"original_fully_qualified_name": "ImGui_ImplNullPlatform_Init",
|
||||
"return_type": {
|
||||
"declaration": "bool",
|
||||
"description": {
|
||||
"kind": "Builtin",
|
||||
"builtin_type": "bool"
|
||||
}
|
||||
},
|
||||
"arguments": [],
|
||||
"is_default_argument_helper": false,
|
||||
"is_manual_helper": false,
|
||||
"is_imstr_helper": false,
|
||||
"has_imstr_helper": false,
|
||||
"is_unformatted_helper": false,
|
||||
"is_static": false,
|
||||
"comments": {
|
||||
"preceding": [
|
||||
"// Null platform only (single screen, fixed timestep, no inputs)"
|
||||
]
|
||||
},
|
||||
"is_internal": false,
|
||||
"source_location": {
|
||||
"filename": "imgui_impl_null.h",
|
||||
"line": 24
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "cImGui_ImplNullPlatform_Shutdown",
|
||||
"original_fully_qualified_name": "ImGui_ImplNullPlatform_Shutdown",
|
||||
"return_type": {
|
||||
"declaration": "void",
|
||||
"description": {
|
||||
"kind": "Builtin",
|
||||
"builtin_type": "void"
|
||||
}
|
||||
},
|
||||
"arguments": [],
|
||||
"is_default_argument_helper": false,
|
||||
"is_manual_helper": false,
|
||||
"is_imstr_helper": false,
|
||||
"has_imstr_helper": false,
|
||||
"is_unformatted_helper": false,
|
||||
"is_static": false,
|
||||
"is_internal": false,
|
||||
"source_location": {
|
||||
"filename": "imgui_impl_null.h",
|
||||
"line": 25
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "cImGui_ImplNullPlatform_NewFrame",
|
||||
"original_fully_qualified_name": "ImGui_ImplNullPlatform_NewFrame",
|
||||
"return_type": {
|
||||
"declaration": "void",
|
||||
"description": {
|
||||
"kind": "Builtin",
|
||||
"builtin_type": "void"
|
||||
}
|
||||
},
|
||||
"arguments": [],
|
||||
"is_default_argument_helper": false,
|
||||
"is_manual_helper": false,
|
||||
"is_imstr_helper": false,
|
||||
"has_imstr_helper": false,
|
||||
"is_unformatted_helper": false,
|
||||
"is_static": false,
|
||||
"is_internal": false,
|
||||
"source_location": {
|
||||
"filename": "imgui_impl_null.h",
|
||||
"line": 26
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "cImGui_ImplNullRender_Init",
|
||||
"original_fully_qualified_name": "ImGui_ImplNullRender_Init",
|
||||
"return_type": {
|
||||
"declaration": "bool",
|
||||
"description": {
|
||||
"kind": "Builtin",
|
||||
"builtin_type": "bool"
|
||||
}
|
||||
},
|
||||
"arguments": [],
|
||||
"is_default_argument_helper": false,
|
||||
"is_manual_helper": false,
|
||||
"is_imstr_helper": false,
|
||||
"has_imstr_helper": false,
|
||||
"is_unformatted_helper": false,
|
||||
"is_static": false,
|
||||
"comments": {
|
||||
"preceding": [
|
||||
"// Null renderer only (no output)"
|
||||
]
|
||||
},
|
||||
"is_internal": false,
|
||||
"source_location": {
|
||||
"filename": "imgui_impl_null.h",
|
||||
"line": 29
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "cImGui_ImplNullRender_Shutdown",
|
||||
"original_fully_qualified_name": "ImGui_ImplNullRender_Shutdown",
|
||||
"return_type": {
|
||||
"declaration": "void",
|
||||
"description": {
|
||||
"kind": "Builtin",
|
||||
"builtin_type": "void"
|
||||
}
|
||||
},
|
||||
"arguments": [],
|
||||
"is_default_argument_helper": false,
|
||||
"is_manual_helper": false,
|
||||
"is_imstr_helper": false,
|
||||
"has_imstr_helper": false,
|
||||
"is_unformatted_helper": false,
|
||||
"is_static": false,
|
||||
"is_internal": false,
|
||||
"source_location": {
|
||||
"filename": "imgui_impl_null.h",
|
||||
"line": 30
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "cImGui_ImplNullRender_NewFrame",
|
||||
"original_fully_qualified_name": "ImGui_ImplNullRender_NewFrame",
|
||||
"return_type": {
|
||||
"declaration": "void",
|
||||
"description": {
|
||||
"kind": "Builtin",
|
||||
"builtin_type": "void"
|
||||
}
|
||||
},
|
||||
"arguments": [],
|
||||
"is_default_argument_helper": false,
|
||||
"is_manual_helper": false,
|
||||
"is_imstr_helper": false,
|
||||
"has_imstr_helper": false,
|
||||
"is_unformatted_helper": false,
|
||||
"is_static": false,
|
||||
"is_internal": false,
|
||||
"source_location": {
|
||||
"filename": "imgui_impl_null.h",
|
||||
"line": 31
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "cImGui_ImplNullRender_RenderDrawData",
|
||||
"original_fully_qualified_name": "ImGui_ImplNullRender_RenderDrawData",
|
||||
"return_type": {
|
||||
"declaration": "void",
|
||||
"description": {
|
||||
"kind": "Builtin",
|
||||
"builtin_type": "void"
|
||||
}
|
||||
},
|
||||
"arguments": [
|
||||
{
|
||||
"name": "draw_data",
|
||||
"type": {
|
||||
"declaration": "ImDrawData*",
|
||||
"description": {
|
||||
"kind": "Pointer",
|
||||
"inner_type": {
|
||||
"kind": "User",
|
||||
"name": "ImDrawData"
|
||||
}
|
||||
}
|
||||
},
|
||||
"is_array": false,
|
||||
"is_varargs": false,
|
||||
"is_instance_pointer": false
|
||||
}
|
||||
],
|
||||
"is_default_argument_helper": false,
|
||||
"is_manual_helper": false,
|
||||
"is_imstr_helper": false,
|
||||
"has_imstr_helper": false,
|
||||
"is_unformatted_helper": false,
|
||||
"is_static": false,
|
||||
"is_internal": false,
|
||||
"source_location": {
|
||||
"filename": "imgui_impl_null.h",
|
||||
"line": 32
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,7 @@
|
||||
{
|
||||
"defines": [],
|
||||
"enums": [],
|
||||
"typedefs": [],
|
||||
"structs": [],
|
||||
"functions": []
|
||||
}
|
||||
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,133 @@
|
||||
// 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_opengl2.h"
|
||||
|
||||
#include <stdio.h>
|
||||
|
||||
// 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_opengl2.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_ImplOpenGL2_Init(void)
|
||||
{
|
||||
return ::ImGui_ImplOpenGL2_Init();
|
||||
}
|
||||
|
||||
CIMGUI_IMPL_API void cimgui::cImGui_ImplOpenGL2_Shutdown(void)
|
||||
{
|
||||
::ImGui_ImplOpenGL2_Shutdown();
|
||||
}
|
||||
|
||||
CIMGUI_IMPL_API void cimgui::cImGui_ImplOpenGL2_NewFrame(void)
|
||||
{
|
||||
::ImGui_ImplOpenGL2_NewFrame();
|
||||
}
|
||||
|
||||
CIMGUI_IMPL_API void cimgui::cImGui_ImplOpenGL2_RenderDrawData(cimgui::ImDrawData* draw_data)
|
||||
{
|
||||
::ImGui_ImplOpenGL2_RenderDrawData(reinterpret_cast<::ImDrawData*>(draw_data));
|
||||
}
|
||||
|
||||
CIMGUI_IMPL_API bool cimgui::cImGui_ImplOpenGL2_CreateDeviceObjects(void)
|
||||
{
|
||||
return ::ImGui_ImplOpenGL2_CreateDeviceObjects();
|
||||
}
|
||||
|
||||
CIMGUI_IMPL_API void cimgui::cImGui_ImplOpenGL2_DestroyDeviceObjects(void)
|
||||
{
|
||||
::ImGui_ImplOpenGL2_DestroyDeviceObjects();
|
||||
}
|
||||
|
||||
CIMGUI_IMPL_API void cimgui::cImGui_ImplOpenGL2_UpdateTexture(cimgui::ImTextureData* tex)
|
||||
{
|
||||
::ImGui_ImplOpenGL2_UpdateTexture(reinterpret_cast<::ImTextureData*>(tex));
|
||||
}
|
||||
|
||||
#endif // #ifndef IMGUI_DISABLE
|
||||
@@ -0,0 +1,61 @@
|
||||
// THIS FILE HAS BEEN AUTO-GENERATED BY THE 'DEAR BINDINGS' GENERATOR.
|
||||
// **DO NOT EDIT DIRECTLY**
|
||||
// https://github.com/dearimgui/dear_bindings
|
||||
|
||||
// dear imgui: Renderer Backend for OpenGL2 (legacy OpenGL, fixed pipeline)
|
||||
// ImDrawIdx: vertex index. [Compile-time configurable type]
|
||||
// - To use 16-bit indices + allow large meshes: backend need to set 'io.BackendFlags |= ImGuiBackendFlags_RendererHasVtxOffset' and handle ImDrawCmd::VtxOffset (recommended).
|
||||
// - To use 32-bit indices: override with '#define ImDrawIdx unsigned int' in your imconfig.h file.
|
||||
#ifndef ImDrawIdx
|
||||
typedef unsigned short ImDrawIdx; // Default: 16-bit (for maximum compatibility with renderer backends)
|
||||
#endif // #ifndef ImDrawIdx
|
||||
// This needs to be used along with a Platform Backend (e.g. GLFW, SDL, Win32, custom..)
|
||||
|
||||
// Implemented features:
|
||||
// [X] Renderer: User texture binding. Use 'GLuint' OpenGL texture as texture identifier. Read the FAQ about ImTextureID/ImTextureRef!
|
||||
// [X] Renderer: Texture updates support for dynamic font atlas (ImGuiBackendFlags_RendererHasTextures).
|
||||
// [X] Renderer: Multi-viewport support (multiple windows). Enable with 'io.ConfigFlags |= ImGuiConfigFlags_ViewportsEnable'.
|
||||
// Missing features or Issues:
|
||||
// [ ] Renderer: Large meshes support (64k+ vertices) even with 16-bit indices (ImGuiBackendFlags_RendererHasVtxOffset).
|
||||
|
||||
// You can use unmodified imgui_impl_* files in your project. See examples/ folder for examples of using this.
|
||||
// Prefer including the entire imgui/ repository into your project (either as a copy or as a submodule), and only build the backends you need.
|
||||
// Learn about Dear ImGui:
|
||||
// - FAQ https://dearimgui.com/faq
|
||||
// - Getting Started https://dearimgui.com/getting-started
|
||||
// - Documentation https://dearimgui.com/docs (same as your local docs/ folder).
|
||||
// - Introduction, links and more at the top of imgui.cpp
|
||||
|
||||
// **DO NOT USE THIS CODE IF YOUR CODE/ENGINE IS USING MODERN OPENGL (SHADERS, VBO, VAO, etc.)**
|
||||
// **Prefer using the code in imgui_impl_opengl3.cpp**
|
||||
// This code is mostly provided as a reference to learn how ImGui integration works, because it is shorter to read.
|
||||
// If your code is using GL3+ context or any semi modern OpenGL calls, using this is likely to make everything more
|
||||
// complicated, will require your code to reset every single OpenGL attributes to their initial state, and might
|
||||
// confuse your GPU driver.
|
||||
// The GL2 code is unable to reset attributes or even call e.g. "glUseProgram(0)" because they don't exist in that API.
|
||||
|
||||
#pragma once
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C"
|
||||
{
|
||||
#endif
|
||||
#include "dcimgui.h"
|
||||
#ifndef IMGUI_DISABLE
|
||||
typedef struct ImDrawData_t ImDrawData;
|
||||
// Follow "Getting Started" link and check examples/ folder to learn about using backends!
|
||||
CIMGUI_IMPL_API bool cImGui_ImplOpenGL2_Init(void);
|
||||
CIMGUI_IMPL_API void cImGui_ImplOpenGL2_Shutdown(void);
|
||||
CIMGUI_IMPL_API void cImGui_ImplOpenGL2_NewFrame(void);
|
||||
CIMGUI_IMPL_API void cImGui_ImplOpenGL2_RenderDrawData(ImDrawData* draw_data);
|
||||
|
||||
// Called by Init/NewFrame/Shutdown
|
||||
CIMGUI_IMPL_API bool cImGui_ImplOpenGL2_CreateDeviceObjects(void);
|
||||
CIMGUI_IMPL_API void cImGui_ImplOpenGL2_DestroyDeviceObjects(void);
|
||||
|
||||
// (Advanced) Use e.g. if you need to precisely control the timing of texture updates (e.g. for staged rendering), by setting ImDrawData::Textures = nullptr to handle this manually.
|
||||
CIMGUI_IMPL_API void cImGui_ImplOpenGL2_UpdateTexture(ImTextureData* tex);
|
||||
#endif// #ifndef IMGUI_DISABLE
|
||||
#ifdef __cplusplus
|
||||
} // End of extern "C" block
|
||||
#endif
|
||||
@@ -0,0 +1,257 @@
|
||||
{
|
||||
"defines": [],
|
||||
"enums": [],
|
||||
"typedefs": [
|
||||
{
|
||||
"name": "ImDrawIdx",
|
||||
"type": {
|
||||
"declaration": "unsigned short",
|
||||
"description": {
|
||||
"kind": "Builtin",
|
||||
"builtin_type": "unsigned_short"
|
||||
}
|
||||
},
|
||||
"comments": {
|
||||
"attached": "// Default: 16-bit (for maximum compatibility with renderer backends)"
|
||||
},
|
||||
"conditionals": [
|
||||
{
|
||||
"condition": "ifndef",
|
||||
"expression": "ImDrawIdx"
|
||||
}
|
||||
],
|
||||
"is_internal": false,
|
||||
"source_location": {
|
||||
"filename": "imgui_impl_opengl2.h"
|
||||
}
|
||||
}
|
||||
],
|
||||
"structs": [
|
||||
{
|
||||
"name": "ImDrawData",
|
||||
"original_fully_qualified_name": "ImDrawData",
|
||||
"kind": "struct",
|
||||
"by_value": false,
|
||||
"forward_declaration": true,
|
||||
"is_anonymous": false,
|
||||
"fields": [],
|
||||
"is_internal": false,
|
||||
"source_location": {
|
||||
"filename": "imgui_impl_opengl2.h",
|
||||
"line": 1
|
||||
}
|
||||
}
|
||||
],
|
||||
"functions": [
|
||||
{
|
||||
"name": "cImGui_ImplOpenGL2_Init",
|
||||
"original_fully_qualified_name": "ImGui_ImplOpenGL2_Init",
|
||||
"return_type": {
|
||||
"declaration": "bool",
|
||||
"description": {
|
||||
"kind": "Builtin",
|
||||
"builtin_type": "bool"
|
||||
}
|
||||
},
|
||||
"arguments": [],
|
||||
"is_default_argument_helper": false,
|
||||
"is_manual_helper": false,
|
||||
"is_imstr_helper": false,
|
||||
"has_imstr_helper": false,
|
||||
"is_unformatted_helper": false,
|
||||
"is_static": false,
|
||||
"comments": {
|
||||
"preceding": [
|
||||
"// Follow \"Getting Started\" link and check examples/ folder to learn about using backends!"
|
||||
]
|
||||
},
|
||||
"is_internal": false,
|
||||
"source_location": {
|
||||
"filename": "imgui_impl_opengl2.h",
|
||||
"line": 32
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "cImGui_ImplOpenGL2_Shutdown",
|
||||
"original_fully_qualified_name": "ImGui_ImplOpenGL2_Shutdown",
|
||||
"return_type": {
|
||||
"declaration": "void",
|
||||
"description": {
|
||||
"kind": "Builtin",
|
||||
"builtin_type": "void"
|
||||
}
|
||||
},
|
||||
"arguments": [],
|
||||
"is_default_argument_helper": false,
|
||||
"is_manual_helper": false,
|
||||
"is_imstr_helper": false,
|
||||
"has_imstr_helper": false,
|
||||
"is_unformatted_helper": false,
|
||||
"is_static": false,
|
||||
"is_internal": false,
|
||||
"source_location": {
|
||||
"filename": "imgui_impl_opengl2.h",
|
||||
"line": 33
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "cImGui_ImplOpenGL2_NewFrame",
|
||||
"original_fully_qualified_name": "ImGui_ImplOpenGL2_NewFrame",
|
||||
"return_type": {
|
||||
"declaration": "void",
|
||||
"description": {
|
||||
"kind": "Builtin",
|
||||
"builtin_type": "void"
|
||||
}
|
||||
},
|
||||
"arguments": [],
|
||||
"is_default_argument_helper": false,
|
||||
"is_manual_helper": false,
|
||||
"is_imstr_helper": false,
|
||||
"has_imstr_helper": false,
|
||||
"is_unformatted_helper": false,
|
||||
"is_static": false,
|
||||
"is_internal": false,
|
||||
"source_location": {
|
||||
"filename": "imgui_impl_opengl2.h",
|
||||
"line": 34
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "cImGui_ImplOpenGL2_RenderDrawData",
|
||||
"original_fully_qualified_name": "ImGui_ImplOpenGL2_RenderDrawData",
|
||||
"return_type": {
|
||||
"declaration": "void",
|
||||
"description": {
|
||||
"kind": "Builtin",
|
||||
"builtin_type": "void"
|
||||
}
|
||||
},
|
||||
"arguments": [
|
||||
{
|
||||
"name": "draw_data",
|
||||
"type": {
|
||||
"declaration": "ImDrawData*",
|
||||
"description": {
|
||||
"kind": "Pointer",
|
||||
"inner_type": {
|
||||
"kind": "User",
|
||||
"name": "ImDrawData"
|
||||
}
|
||||
}
|
||||
},
|
||||
"is_array": false,
|
||||
"is_varargs": false,
|
||||
"is_instance_pointer": false
|
||||
}
|
||||
],
|
||||
"is_default_argument_helper": false,
|
||||
"is_manual_helper": false,
|
||||
"is_imstr_helper": false,
|
||||
"has_imstr_helper": false,
|
||||
"is_unformatted_helper": false,
|
||||
"is_static": false,
|
||||
"is_internal": false,
|
||||
"source_location": {
|
||||
"filename": "imgui_impl_opengl2.h",
|
||||
"line": 35
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "cImGui_ImplOpenGL2_CreateDeviceObjects",
|
||||
"original_fully_qualified_name": "ImGui_ImplOpenGL2_CreateDeviceObjects",
|
||||
"return_type": {
|
||||
"declaration": "bool",
|
||||
"description": {
|
||||
"kind": "Builtin",
|
||||
"builtin_type": "bool"
|
||||
}
|
||||
},
|
||||
"arguments": [],
|
||||
"is_default_argument_helper": false,
|
||||
"is_manual_helper": false,
|
||||
"is_imstr_helper": false,
|
||||
"has_imstr_helper": false,
|
||||
"is_unformatted_helper": false,
|
||||
"is_static": false,
|
||||
"comments": {
|
||||
"preceding": [
|
||||
"// Called by Init/NewFrame/Shutdown"
|
||||
]
|
||||
},
|
||||
"is_internal": false,
|
||||
"source_location": {
|
||||
"filename": "imgui_impl_opengl2.h",
|
||||
"line": 38
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "cImGui_ImplOpenGL2_DestroyDeviceObjects",
|
||||
"original_fully_qualified_name": "ImGui_ImplOpenGL2_DestroyDeviceObjects",
|
||||
"return_type": {
|
||||
"declaration": "void",
|
||||
"description": {
|
||||
"kind": "Builtin",
|
||||
"builtin_type": "void"
|
||||
}
|
||||
},
|
||||
"arguments": [],
|
||||
"is_default_argument_helper": false,
|
||||
"is_manual_helper": false,
|
||||
"is_imstr_helper": false,
|
||||
"has_imstr_helper": false,
|
||||
"is_unformatted_helper": false,
|
||||
"is_static": false,
|
||||
"is_internal": false,
|
||||
"source_location": {
|
||||
"filename": "imgui_impl_opengl2.h",
|
||||
"line": 39
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "cImGui_ImplOpenGL2_UpdateTexture",
|
||||
"original_fully_qualified_name": "ImGui_ImplOpenGL2_UpdateTexture",
|
||||
"return_type": {
|
||||
"declaration": "void",
|
||||
"description": {
|
||||
"kind": "Builtin",
|
||||
"builtin_type": "void"
|
||||
}
|
||||
},
|
||||
"arguments": [
|
||||
{
|
||||
"name": "tex",
|
||||
"type": {
|
||||
"declaration": "ImTextureData*",
|
||||
"description": {
|
||||
"kind": "Pointer",
|
||||
"inner_type": {
|
||||
"kind": "User",
|
||||
"name": "ImTextureData"
|
||||
}
|
||||
}
|
||||
},
|
||||
"is_array": false,
|
||||
"is_varargs": false,
|
||||
"is_instance_pointer": false
|
||||
}
|
||||
],
|
||||
"is_default_argument_helper": false,
|
||||
"is_manual_helper": false,
|
||||
"is_imstr_helper": false,
|
||||
"has_imstr_helper": false,
|
||||
"is_unformatted_helper": false,
|
||||
"is_static": false,
|
||||
"comments": {
|
||||
"preceding": [
|
||||
"// (Advanced) Use e.g. if you need to precisely control the timing of texture updates (e.g. for staged rendering), by setting ImDrawData::Textures = nullptr to handle this manually."
|
||||
]
|
||||
},
|
||||
"is_internal": false,
|
||||
"source_location": {
|
||||
"filename": "imgui_impl_opengl2.h",
|
||||
"line": 42
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,7 @@
|
||||
{
|
||||
"defines": [],
|
||||
"enums": [],
|
||||
"typedefs": [],
|
||||
"structs": [],
|
||||
"functions": []
|
||||
}
|
||||
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,138 @@
|
||||
// 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_opengl3.h"
|
||||
|
||||
#include <stdio.h>
|
||||
|
||||
// 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_opengl3.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_ImplOpenGL3_Init(void)
|
||||
{
|
||||
return ::ImGui_ImplOpenGL3_Init();
|
||||
}
|
||||
|
||||
CIMGUI_IMPL_API bool cimgui::cImGui_ImplOpenGL3_InitEx(const char* glsl_version)
|
||||
{
|
||||
return ::ImGui_ImplOpenGL3_Init(glsl_version);
|
||||
}
|
||||
|
||||
CIMGUI_IMPL_API void cimgui::cImGui_ImplOpenGL3_Shutdown(void)
|
||||
{
|
||||
::ImGui_ImplOpenGL3_Shutdown();
|
||||
}
|
||||
|
||||
CIMGUI_IMPL_API void cimgui::cImGui_ImplOpenGL3_NewFrame(void)
|
||||
{
|
||||
::ImGui_ImplOpenGL3_NewFrame();
|
||||
}
|
||||
|
||||
CIMGUI_IMPL_API void cimgui::cImGui_ImplOpenGL3_RenderDrawData(cimgui::ImDrawData* draw_data)
|
||||
{
|
||||
::ImGui_ImplOpenGL3_RenderDrawData(reinterpret_cast<::ImDrawData*>(draw_data));
|
||||
}
|
||||
|
||||
CIMGUI_IMPL_API bool cimgui::cImGui_ImplOpenGL3_CreateDeviceObjects(void)
|
||||
{
|
||||
return ::ImGui_ImplOpenGL3_CreateDeviceObjects();
|
||||
}
|
||||
|
||||
CIMGUI_IMPL_API void cimgui::cImGui_ImplOpenGL3_DestroyDeviceObjects(void)
|
||||
{
|
||||
::ImGui_ImplOpenGL3_DestroyDeviceObjects();
|
||||
}
|
||||
|
||||
CIMGUI_IMPL_API void cimgui::cImGui_ImplOpenGL3_UpdateTexture(cimgui::ImTextureData* tex)
|
||||
{
|
||||
::ImGui_ImplOpenGL3_UpdateTexture(reinterpret_cast<::ImTextureData*>(tex));
|
||||
}
|
||||
|
||||
#endif // #ifndef IMGUI_DISABLE
|
||||
@@ -0,0 +1,87 @@
|
||||
// THIS FILE HAS BEEN AUTO-GENERATED BY THE 'DEAR BINDINGS' GENERATOR.
|
||||
// **DO NOT EDIT DIRECTLY**
|
||||
// https://github.com/dearimgui/dear_bindings
|
||||
|
||||
// dear imgui: Renderer Backend for modern OpenGL with shaders / programmatic pipeline
|
||||
// ImDrawIdx: vertex index. [Compile-time configurable type]
|
||||
// - To use 16-bit indices + allow large meshes: backend need to set 'io.BackendFlags |= ImGuiBackendFlags_RendererHasVtxOffset' and handle ImDrawCmd::VtxOffset (recommended).
|
||||
// - To use 32-bit indices: override with '#define ImDrawIdx unsigned int' in your imconfig.h file.
|
||||
#ifndef ImDrawIdx
|
||||
typedef unsigned short ImDrawIdx; // Default: 16-bit (for maximum compatibility with renderer backends)
|
||||
#endif // #ifndef ImDrawIdx
|
||||
// - Desktop GL: 2.x 3.x 4.x
|
||||
// - Embedded GL: ES 2.0 (WebGL 1.0), ES 3.0 (WebGL 2.0)
|
||||
// This needs to be used along with a Platform Backend (e.g. GLFW, SDL, Win32, custom..)
|
||||
|
||||
// Implemented features:
|
||||
// [X] Renderer: User texture binding. Use 'GLuint' OpenGL texture as texture identifier. Read the FAQ about ImTextureID/ImTextureRef!
|
||||
// [x] Renderer: Large meshes support (64k+ vertices) even with 16-bit indices (ImGuiBackendFlags_RendererHasVtxOffset) [Desktop OpenGL only!]
|
||||
// [X] Renderer: Texture updates support for dynamic font atlas (ImGuiBackendFlags_RendererHasTextures).
|
||||
// [X] Renderer: Multi-viewport support (multiple windows). Enable with 'io.ConfigFlags |= ImGuiConfigFlags_ViewportsEnable'.
|
||||
|
||||
// About WebGL/ES:
|
||||
// - You need to '#define IMGUI_IMPL_OPENGL_ES2' or '#define IMGUI_IMPL_OPENGL_ES3' to use WebGL or OpenGL ES.
|
||||
// - This is done automatically on iOS, Android and Emscripten targets.
|
||||
// - For other targets, the define needs to be visible from the imgui_impl_opengl3.cpp compilation unit. If unsure, define globally or in imconfig.h.
|
||||
|
||||
// You can use unmodified imgui_impl_* files in your project. See examples/ folder for examples of using this.
|
||||
// Prefer including the entire imgui/ repository into your project (either as a copy or as a submodule), and only build the backends you need.
|
||||
// Learn about Dear ImGui:
|
||||
// - FAQ https://dearimgui.com/faq
|
||||
// - Getting Started https://dearimgui.com/getting-started
|
||||
// - Documentation https://dearimgui.com/docs (same as your local docs/ folder).
|
||||
// - Introduction, links and more at the top of imgui.cpp
|
||||
|
||||
// About GLSL version:
|
||||
// The 'glsl_version' initialization parameter should be nullptr (default) or a "#version XXX" string.
|
||||
// On computer platform the GLSL version default to "#version 130". On OpenGL ES 3 platform it defaults to "#version 300 es"
|
||||
// Only override if your GL version doesn't handle this GLSL version. See GLSL version table at the top of imgui_impl_opengl3.cpp.
|
||||
|
||||
#pragma once
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C"
|
||||
{
|
||||
#endif
|
||||
#include "dcimgui.h"
|
||||
#ifndef IMGUI_DISABLE
|
||||
typedef struct ImDrawData_t ImDrawData;
|
||||
// Follow "Getting Started" link and check examples/ folder to learn about using backends!
|
||||
CIMGUI_IMPL_API bool cImGui_ImplOpenGL3_Init(void); // Implied glsl_version = nullptr
|
||||
CIMGUI_IMPL_API bool cImGui_ImplOpenGL3_InitEx(const char* glsl_version /* = nullptr */);
|
||||
CIMGUI_IMPL_API void cImGui_ImplOpenGL3_Shutdown(void);
|
||||
CIMGUI_IMPL_API void cImGui_ImplOpenGL3_NewFrame(void);
|
||||
CIMGUI_IMPL_API void cImGui_ImplOpenGL3_RenderDrawData(ImDrawData* draw_data);
|
||||
|
||||
// (Optional) Called by Init/NewFrame/Shutdown
|
||||
CIMGUI_IMPL_API bool cImGui_ImplOpenGL3_CreateDeviceObjects(void);
|
||||
CIMGUI_IMPL_API void cImGui_ImplOpenGL3_DestroyDeviceObjects(void);
|
||||
|
||||
// (Advanced) Use e.g. if you need to precisely control the timing of texture updates (e.g. for staged rendering), by setting ImDrawData::Textures = nullptr to handle this manually.
|
||||
CIMGUI_IMPL_API void cImGui_ImplOpenGL3_UpdateTexture(ImTextureData* tex);
|
||||
|
||||
// Configuration flags to add in your imconfig file:
|
||||
//#define IMGUI_IMPL_OPENGL_ES2 // Enable ES 2 (Auto-detected on Emscripten)
|
||||
//#define IMGUI_IMPL_OPENGL_ES3 // Enable ES 3 (Auto-detected on iOS/Android)
|
||||
|
||||
// You can explicitly select GLES2 or GLES3 API by using one of the '#define IMGUI_IMPL_OPENGL_LOADER_XXX' in imconfig.h or compiler command-line.
|
||||
#if !defined(IMGUI_IMPL_OPENGL_ES2)\
|
||||
&&!defined(IMGUI_IMPL_OPENGL_ES3)
|
||||
// Try to detect GLES on matching platforms
|
||||
#if defined(__APPLE__)
|
||||
#include <TargetConditionals.h>
|
||||
#endif // #if defined(__APPLE__)
|
||||
#if (defined(__APPLE__)&&(TARGET_OS_IOS || TARGET_OS_TV))||(defined(__ANDROID__))
|
||||
#define IMGUI_IMPL_OPENGL_ES3 // iOS, Android -> GL ES 3, "#version 300 es"
|
||||
#else
|
||||
#if defined(__EMSCRIPTEN__)|| defined(__amigaos4__)
|
||||
#define IMGUI_IMPL_OPENGL_ES2 // Emscripten -> GL ES 2, "#version 100"
|
||||
#else
|
||||
// Otherwise imgui_impl_opengl3_loader.h will be used.
|
||||
#endif // #if defined(__EMSCRIPTEN__)|| defined(__amigaos4__)
|
||||
#endif // #if (defined(__APPLE__)&&(TARGET_OS_IOS || TARGET_OS_TV))||(defined(__ANDROID__))
|
||||
#endif // #if !defined(IMGUI_IMPL_OPENGL_ES2) &&!defined(IMGUI_IMPL_OPENGL_ES3)
|
||||
#endif// #ifndef IMGUI_DISABLE
|
||||
#ifdef __cplusplus
|
||||
} // End of extern "C" block
|
||||
#endif
|
||||
@@ -0,0 +1,349 @@
|
||||
{
|
||||
"defines": [
|
||||
{
|
||||
"name": "IMGUI_IMPL_OPENGL_ES3",
|
||||
"comments": {
|
||||
"attached": "// iOS, Android -> GL ES 3, \"#version 300 es\""
|
||||
},
|
||||
"conditionals": [
|
||||
{
|
||||
"condition": "if",
|
||||
"expression": "!defined(IMGUI_IMPL_OPENGL_ES2)\\\n &&!defined(IMGUI_IMPL_OPENGL_ES3)"
|
||||
},
|
||||
{
|
||||
"condition": "if",
|
||||
"expression": "(defined(__APPLE__)&&(TARGET_OS_IOS || TARGET_OS_TV))||(defined(__ANDROID__))"
|
||||
}
|
||||
],
|
||||
"is_internal": false,
|
||||
"source_location": {
|
||||
"filename": "imgui_impl_opengl3.h",
|
||||
"line": 60
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "IMGUI_IMPL_OPENGL_ES2",
|
||||
"comments": {
|
||||
"attached": "// Emscripten -> GL ES 2, \"#version 100\""
|
||||
},
|
||||
"conditionals": [
|
||||
{
|
||||
"condition": "if",
|
||||
"expression": "!defined(IMGUI_IMPL_OPENGL_ES2)\\\n &&!defined(IMGUI_IMPL_OPENGL_ES3)"
|
||||
},
|
||||
{
|
||||
"condition": "ifnot",
|
||||
"expression": "(defined(__APPLE__)&&(TARGET_OS_IOS || TARGET_OS_TV))||(defined(__ANDROID__))"
|
||||
},
|
||||
{
|
||||
"condition": "if",
|
||||
"expression": "defined(__EMSCRIPTEN__)|| defined(__amigaos4__)"
|
||||
}
|
||||
],
|
||||
"is_internal": false,
|
||||
"source_location": {
|
||||
"filename": "imgui_impl_opengl3.h",
|
||||
"line": 62
|
||||
}
|
||||
}
|
||||
],
|
||||
"enums": [],
|
||||
"typedefs": [
|
||||
{
|
||||
"name": "ImDrawIdx",
|
||||
"type": {
|
||||
"declaration": "unsigned short",
|
||||
"description": {
|
||||
"kind": "Builtin",
|
||||
"builtin_type": "unsigned_short"
|
||||
}
|
||||
},
|
||||
"comments": {
|
||||
"attached": "// Default: 16-bit (for maximum compatibility with renderer backends)"
|
||||
},
|
||||
"conditionals": [
|
||||
{
|
||||
"condition": "ifndef",
|
||||
"expression": "ImDrawIdx"
|
||||
}
|
||||
],
|
||||
"is_internal": false,
|
||||
"source_location": {
|
||||
"filename": "imgui_impl_opengl3.h"
|
||||
}
|
||||
}
|
||||
],
|
||||
"structs": [
|
||||
{
|
||||
"name": "ImDrawData",
|
||||
"original_fully_qualified_name": "ImDrawData",
|
||||
"kind": "struct",
|
||||
"by_value": false,
|
||||
"forward_declaration": true,
|
||||
"is_anonymous": false,
|
||||
"fields": [],
|
||||
"is_internal": false,
|
||||
"source_location": {
|
||||
"filename": "imgui_impl_opengl3.h",
|
||||
"line": 1
|
||||
}
|
||||
}
|
||||
],
|
||||
"functions": [
|
||||
{
|
||||
"name": "cImGui_ImplOpenGL3_Init",
|
||||
"original_fully_qualified_name": "ImGui_ImplOpenGL3_Init",
|
||||
"return_type": {
|
||||
"declaration": "bool",
|
||||
"description": {
|
||||
"kind": "Builtin",
|
||||
"builtin_type": "bool"
|
||||
}
|
||||
},
|
||||
"arguments": [],
|
||||
"is_default_argument_helper": true,
|
||||
"is_manual_helper": false,
|
||||
"is_imstr_helper": false,
|
||||
"has_imstr_helper": false,
|
||||
"is_unformatted_helper": false,
|
||||
"is_static": false,
|
||||
"comments": {
|
||||
"preceding": [
|
||||
"// Follow \"Getting Started\" link and check examples/ folder to learn about using backends!"
|
||||
],
|
||||
"attached": "// Implied glsl_version = nullptr"
|
||||
},
|
||||
"is_internal": false,
|
||||
"source_location": {
|
||||
"filename": "imgui_impl_opengl3.h",
|
||||
"line": 35
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "cImGui_ImplOpenGL3_InitEx",
|
||||
"original_fully_qualified_name": "ImGui_ImplOpenGL3_Init",
|
||||
"return_type": {
|
||||
"declaration": "bool",
|
||||
"description": {
|
||||
"kind": "Builtin",
|
||||
"builtin_type": "bool"
|
||||
}
|
||||
},
|
||||
"arguments": [
|
||||
{
|
||||
"name": "glsl_version",
|
||||
"type": {
|
||||
"declaration": "const char*",
|
||||
"description": {
|
||||
"kind": "Pointer",
|
||||
"inner_type": {
|
||||
"kind": "Builtin",
|
||||
"builtin_type": "char",
|
||||
"storage_classes": [
|
||||
"const"
|
||||
]
|
||||
}
|
||||
}
|
||||
},
|
||||
"is_array": false,
|
||||
"is_varargs": false,
|
||||
"default_value": "nullptr",
|
||||
"is_instance_pointer": false
|
||||
}
|
||||
],
|
||||
"is_default_argument_helper": false,
|
||||
"is_manual_helper": false,
|
||||
"is_imstr_helper": false,
|
||||
"has_imstr_helper": false,
|
||||
"is_unformatted_helper": false,
|
||||
"is_static": false,
|
||||
"is_internal": false,
|
||||
"source_location": {
|
||||
"filename": "imgui_impl_opengl3.h",
|
||||
"line": 35
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "cImGui_ImplOpenGL3_Shutdown",
|
||||
"original_fully_qualified_name": "ImGui_ImplOpenGL3_Shutdown",
|
||||
"return_type": {
|
||||
"declaration": "void",
|
||||
"description": {
|
||||
"kind": "Builtin",
|
||||
"builtin_type": "void"
|
||||
}
|
||||
},
|
||||
"arguments": [],
|
||||
"is_default_argument_helper": false,
|
||||
"is_manual_helper": false,
|
||||
"is_imstr_helper": false,
|
||||
"has_imstr_helper": false,
|
||||
"is_unformatted_helper": false,
|
||||
"is_static": false,
|
||||
"is_internal": false,
|
||||
"source_location": {
|
||||
"filename": "imgui_impl_opengl3.h",
|
||||
"line": 36
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "cImGui_ImplOpenGL3_NewFrame",
|
||||
"original_fully_qualified_name": "ImGui_ImplOpenGL3_NewFrame",
|
||||
"return_type": {
|
||||
"declaration": "void",
|
||||
"description": {
|
||||
"kind": "Builtin",
|
||||
"builtin_type": "void"
|
||||
}
|
||||
},
|
||||
"arguments": [],
|
||||
"is_default_argument_helper": false,
|
||||
"is_manual_helper": false,
|
||||
"is_imstr_helper": false,
|
||||
"has_imstr_helper": false,
|
||||
"is_unformatted_helper": false,
|
||||
"is_static": false,
|
||||
"is_internal": false,
|
||||
"source_location": {
|
||||
"filename": "imgui_impl_opengl3.h",
|
||||
"line": 37
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "cImGui_ImplOpenGL3_RenderDrawData",
|
||||
"original_fully_qualified_name": "ImGui_ImplOpenGL3_RenderDrawData",
|
||||
"return_type": {
|
||||
"declaration": "void",
|
||||
"description": {
|
||||
"kind": "Builtin",
|
||||
"builtin_type": "void"
|
||||
}
|
||||
},
|
||||
"arguments": [
|
||||
{
|
||||
"name": "draw_data",
|
||||
"type": {
|
||||
"declaration": "ImDrawData*",
|
||||
"description": {
|
||||
"kind": "Pointer",
|
||||
"inner_type": {
|
||||
"kind": "User",
|
||||
"name": "ImDrawData"
|
||||
}
|
||||
}
|
||||
},
|
||||
"is_array": false,
|
||||
"is_varargs": false,
|
||||
"is_instance_pointer": false
|
||||
}
|
||||
],
|
||||
"is_default_argument_helper": false,
|
||||
"is_manual_helper": false,
|
||||
"is_imstr_helper": false,
|
||||
"has_imstr_helper": false,
|
||||
"is_unformatted_helper": false,
|
||||
"is_static": false,
|
||||
"is_internal": false,
|
||||
"source_location": {
|
||||
"filename": "imgui_impl_opengl3.h",
|
||||
"line": 38
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "cImGui_ImplOpenGL3_CreateDeviceObjects",
|
||||
"original_fully_qualified_name": "ImGui_ImplOpenGL3_CreateDeviceObjects",
|
||||
"return_type": {
|
||||
"declaration": "bool",
|
||||
"description": {
|
||||
"kind": "Builtin",
|
||||
"builtin_type": "bool"
|
||||
}
|
||||
},
|
||||
"arguments": [],
|
||||
"is_default_argument_helper": false,
|
||||
"is_manual_helper": false,
|
||||
"is_imstr_helper": false,
|
||||
"has_imstr_helper": false,
|
||||
"is_unformatted_helper": false,
|
||||
"is_static": false,
|
||||
"comments": {
|
||||
"preceding": [
|
||||
"// (Optional) Called by Init/NewFrame/Shutdown"
|
||||
]
|
||||
},
|
||||
"is_internal": false,
|
||||
"source_location": {
|
||||
"filename": "imgui_impl_opengl3.h",
|
||||
"line": 41
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "cImGui_ImplOpenGL3_DestroyDeviceObjects",
|
||||
"original_fully_qualified_name": "ImGui_ImplOpenGL3_DestroyDeviceObjects",
|
||||
"return_type": {
|
||||
"declaration": "void",
|
||||
"description": {
|
||||
"kind": "Builtin",
|
||||
"builtin_type": "void"
|
||||
}
|
||||
},
|
||||
"arguments": [],
|
||||
"is_default_argument_helper": false,
|
||||
"is_manual_helper": false,
|
||||
"is_imstr_helper": false,
|
||||
"has_imstr_helper": false,
|
||||
"is_unformatted_helper": false,
|
||||
"is_static": false,
|
||||
"is_internal": false,
|
||||
"source_location": {
|
||||
"filename": "imgui_impl_opengl3.h",
|
||||
"line": 42
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "cImGui_ImplOpenGL3_UpdateTexture",
|
||||
"original_fully_qualified_name": "ImGui_ImplOpenGL3_UpdateTexture",
|
||||
"return_type": {
|
||||
"declaration": "void",
|
||||
"description": {
|
||||
"kind": "Builtin",
|
||||
"builtin_type": "void"
|
||||
}
|
||||
},
|
||||
"arguments": [
|
||||
{
|
||||
"name": "tex",
|
||||
"type": {
|
||||
"declaration": "ImTextureData*",
|
||||
"description": {
|
||||
"kind": "Pointer",
|
||||
"inner_type": {
|
||||
"kind": "User",
|
||||
"name": "ImTextureData"
|
||||
}
|
||||
}
|
||||
},
|
||||
"is_array": false,
|
||||
"is_varargs": false,
|
||||
"is_instance_pointer": false
|
||||
}
|
||||
],
|
||||
"is_default_argument_helper": false,
|
||||
"is_manual_helper": false,
|
||||
"is_imstr_helper": false,
|
||||
"has_imstr_helper": false,
|
||||
"is_unformatted_helper": false,
|
||||
"is_static": false,
|
||||
"comments": {
|
||||
"preceding": [
|
||||
"// (Advanced) Use e.g. if you need to precisely control the timing of texture updates (e.g. for staged rendering), by setting ImDrawData::Textures = nullptr to handle this manually."
|
||||
]
|
||||
},
|
||||
"is_internal": false,
|
||||
"source_location": {
|
||||
"filename": "imgui_impl_opengl3.h",
|
||||
"line": 45
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,7 @@
|
||||
{
|
||||
"defines": [],
|
||||
"enums": [],
|
||||
"typedefs": [],
|
||||
"structs": [],
|
||||
"functions": []
|
||||
}
|
||||
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,168 @@
|
||||
// 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_sdl2.h"
|
||||
|
||||
#include <stdio.h>
|
||||
|
||||
// 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_sdl2.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_ImplSDL2_InitForOpenGL(cimgui::SDL_Window* window, void* sdl_gl_context)
|
||||
{
|
||||
return ::ImGui_ImplSDL2_InitForOpenGL(reinterpret_cast<::SDL_Window*>(window), sdl_gl_context);
|
||||
}
|
||||
|
||||
CIMGUI_IMPL_API bool cimgui::cImGui_ImplSDL2_InitForVulkan(cimgui::SDL_Window* window)
|
||||
{
|
||||
return ::ImGui_ImplSDL2_InitForVulkan(reinterpret_cast<::SDL_Window*>(window));
|
||||
}
|
||||
|
||||
CIMGUI_IMPL_API bool cimgui::cImGui_ImplSDL2_InitForD3D(cimgui::SDL_Window* window)
|
||||
{
|
||||
return ::ImGui_ImplSDL2_InitForD3D(reinterpret_cast<::SDL_Window*>(window));
|
||||
}
|
||||
|
||||
CIMGUI_IMPL_API bool cimgui::cImGui_ImplSDL2_InitForMetal(cimgui::SDL_Window* window)
|
||||
{
|
||||
return ::ImGui_ImplSDL2_InitForMetal(reinterpret_cast<::SDL_Window*>(window));
|
||||
}
|
||||
|
||||
CIMGUI_IMPL_API bool cimgui::cImGui_ImplSDL2_InitForSDLRenderer(cimgui::SDL_Window* window, cimgui::SDL_Renderer* renderer)
|
||||
{
|
||||
return ::ImGui_ImplSDL2_InitForSDLRenderer(reinterpret_cast<::SDL_Window*>(window), reinterpret_cast<::SDL_Renderer*>(renderer));
|
||||
}
|
||||
|
||||
CIMGUI_IMPL_API bool cimgui::cImGui_ImplSDL2_InitForOther(cimgui::SDL_Window* window)
|
||||
{
|
||||
return ::ImGui_ImplSDL2_InitForOther(reinterpret_cast<::SDL_Window*>(window));
|
||||
}
|
||||
|
||||
CIMGUI_IMPL_API void cimgui::cImGui_ImplSDL2_Shutdown(void)
|
||||
{
|
||||
::ImGui_ImplSDL2_Shutdown();
|
||||
}
|
||||
|
||||
CIMGUI_IMPL_API void cimgui::cImGui_ImplSDL2_NewFrame(void)
|
||||
{
|
||||
::ImGui_ImplSDL2_NewFrame();
|
||||
}
|
||||
|
||||
CIMGUI_IMPL_API bool cimgui::cImGui_ImplSDL2_ProcessEvent(const SDL_Event* event)
|
||||
{
|
||||
return ::ImGui_ImplSDL2_ProcessEvent(event);
|
||||
}
|
||||
|
||||
CIMGUI_IMPL_API float cimgui::cImGui_ImplSDL2_GetContentScaleForWindow(cimgui::SDL_Window* window)
|
||||
{
|
||||
return ::ImGui_ImplSDL2_GetContentScaleForWindow(reinterpret_cast<::SDL_Window*>(window));
|
||||
}
|
||||
|
||||
CIMGUI_IMPL_API float cimgui::cImGui_ImplSDL2_GetContentScaleForDisplay(int display_index)
|
||||
{
|
||||
return ::ImGui_ImplSDL2_GetContentScaleForDisplay(display_index);
|
||||
}
|
||||
|
||||
CIMGUI_IMPL_API void cimgui::cImGui_ImplSDL2_SetGamepadMode(cimgui::ImGui_ImplSDL2_GamepadMode mode)
|
||||
{
|
||||
::ImGui_ImplSDL2_SetGamepadMode(static_cast<::ImGui_ImplSDL2_GamepadMode>(mode));
|
||||
}
|
||||
|
||||
CIMGUI_IMPL_API void cimgui::cImGui_ImplSDL2_SetGamepadModeEx(cimgui::ImGui_ImplSDL2_GamepadMode mode, struct cimgui::_SDL_GameController** manual_gamepads_array, int manual_gamepads_count)
|
||||
{
|
||||
::ImGui_ImplSDL2_SetGamepadMode(static_cast<::ImGui_ImplSDL2_GamepadMode>(mode), reinterpret_cast<struct ::_SDL_GameController**>(manual_gamepads_array), manual_gamepads_count);
|
||||
}
|
||||
|
||||
CIMGUI_IMPL_API void cimgui::cImGui_ImplSDL2_SetMouseCaptureMode(cimgui::ImGui_ImplSDL2_MouseCaptureMode mode)
|
||||
{
|
||||
::ImGui_ImplSDL2_SetMouseCaptureMode(static_cast<::ImGui_ImplSDL2_MouseCaptureMode>(mode));
|
||||
}
|
||||
|
||||
#endif // #ifndef IMGUI_DISABLE
|
||||
@@ -0,0 +1,89 @@
|
||||
// THIS FILE HAS BEEN AUTO-GENERATED BY THE 'DEAR BINDINGS' GENERATOR.
|
||||
// **DO NOT EDIT DIRECTLY**
|
||||
// https://github.com/dearimgui/dear_bindings
|
||||
|
||||
// dear imgui: Platform Backend for SDL2
|
||||
// ImDrawIdx: vertex index. [Compile-time configurable type]
|
||||
// - To use 16-bit indices + allow large meshes: backend need to set 'io.BackendFlags |= ImGuiBackendFlags_RendererHasVtxOffset' and handle ImDrawCmd::VtxOffset (recommended).
|
||||
// - To use 32-bit indices: override with '#define ImDrawIdx unsigned int' in your imconfig.h file.
|
||||
#ifndef ImDrawIdx
|
||||
typedef unsigned short ImDrawIdx; // Default: 16-bit (for maximum compatibility with renderer backends)
|
||||
#endif // #ifndef ImDrawIdx
|
||||
// This needs to be used along with a Renderer (e.g. DirectX11, OpenGL3, Vulkan..)
|
||||
// (Info: SDL2 is a cross-platform general purpose library for handling windows, inputs, graphics context creation, etc.)
|
||||
|
||||
// Implemented features:
|
||||
// [X] Platform: Clipboard support.
|
||||
// [X] Platform: Mouse support. Can discriminate Mouse/TouchScreen.
|
||||
// [X] Platform: Keyboard support. Since 1.87 we are using the io.AddKeyEvent() function. Pass ImGuiKey values to all key functions e.g. ImGui::IsKeyPressed(ImGuiKey_Space). [Legacy SDL_SCANCODE_* values are obsolete since 1.87 and not supported since 1.91.5]
|
||||
// [X] Platform: Gamepad support.
|
||||
// [X] Platform: Mouse cursor shape and visibility (ImGuiBackendFlags_HasMouseCursors). Disable with 'io.ConfigFlags |= ImGuiConfigFlags_NoMouseCursorChange'.
|
||||
// [X] Platform: Basic IME support. App needs to call 'SDL_SetHint(SDL_HINT_IME_SHOW_UI, "1");' before SDL_CreateWindow()!.
|
||||
// [X] Platform: Multi-viewport support (multiple windows). Enable with 'io.ConfigFlags |= ImGuiConfigFlags_ViewportsEnable'.
|
||||
// Missing features or Issues:
|
||||
// [ ] Platform: Multi-viewport: Minimized windows seems to break mouse wheel events (at least under Windows).
|
||||
// [ ] Platform: Multi-viewport: Missing ImGuiBackendFlags_HasParentViewport support. The viewport->ParentViewportID field is ignored, and therefore io.ConfigViewportsNoDefaultParent has no effect either.
|
||||
|
||||
// You can use unmodified imgui_impl_* files in your project. See examples/ folder for examples of using this.
|
||||
// Prefer including the entire imgui/ repository into your project (either as a copy or as a submodule), and only build the backends you need.
|
||||
// Learn about Dear ImGui:
|
||||
// - FAQ https://dearimgui.com/faq
|
||||
// - Getting Started https://dearimgui.com/getting-started
|
||||
// - Documentation https://dearimgui.com/docs (same as your local docs/ folder).
|
||||
// - Introduction, links and more at the top of imgui.cpp
|
||||
|
||||
#pragma once
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C"
|
||||
{
|
||||
#endif
|
||||
#include "dcimgui.h"
|
||||
#ifndef IMGUI_DISABLE
|
||||
typedef struct SDL_Window SDL_Window;
|
||||
typedef struct SDL_Renderer SDL_Renderer;
|
||||
typedef struct _SDL_GameController _SDL_GameController;
|
||||
typedef union SDL_Event SDL_Event;
|
||||
|
||||
typedef struct ImDrawData_t ImDrawData;
|
||||
// Follow "Getting Started" link and check examples/ folder to learn about using backends!
|
||||
CIMGUI_IMPL_API bool cImGui_ImplSDL2_InitForOpenGL(SDL_Window* window, void* sdl_gl_context);
|
||||
CIMGUI_IMPL_API bool cImGui_ImplSDL2_InitForVulkan(SDL_Window* window);
|
||||
CIMGUI_IMPL_API bool cImGui_ImplSDL2_InitForD3D(SDL_Window* window);
|
||||
CIMGUI_IMPL_API bool cImGui_ImplSDL2_InitForMetal(SDL_Window* window);
|
||||
CIMGUI_IMPL_API bool cImGui_ImplSDL2_InitForSDLRenderer(SDL_Window* window, SDL_Renderer* renderer);
|
||||
CIMGUI_IMPL_API bool cImGui_ImplSDL2_InitForOther(SDL_Window* window);
|
||||
CIMGUI_IMPL_API void cImGui_ImplSDL2_Shutdown(void);
|
||||
CIMGUI_IMPL_API void cImGui_ImplSDL2_NewFrame(void);
|
||||
CIMGUI_IMPL_API bool cImGui_ImplSDL2_ProcessEvent(const SDL_Event* event);
|
||||
|
||||
// DPI-related helpers (optional)
|
||||
CIMGUI_IMPL_API float cImGui_ImplSDL2_GetContentScaleForWindow(SDL_Window* window);
|
||||
CIMGUI_IMPL_API float cImGui_ImplSDL2_GetContentScaleForDisplay(int display_index);
|
||||
|
||||
// Gamepad selection automatically starts in AutoFirst mode, picking first available SDL_Gamepad. You may override this.
|
||||
// When using manual mode, caller is responsible for opening/closing gamepad.
|
||||
typedef enum
|
||||
{
|
||||
ImGui_ImplSDL2_GamepadMode_AutoFirst,
|
||||
ImGui_ImplSDL2_GamepadMode_AutoAll,
|
||||
ImGui_ImplSDL2_GamepadMode_Manual,
|
||||
} ImGui_ImplSDL2_GamepadMode;
|
||||
CIMGUI_IMPL_API void cImGui_ImplSDL2_SetGamepadMode(ImGui_ImplSDL2_GamepadMode mode); // Implied manual_gamepads_array = nullptr, manual_gamepads_count = -1
|
||||
CIMGUI_IMPL_API void cImGui_ImplSDL2_SetGamepadModeEx(ImGui_ImplSDL2_GamepadMode mode, struct _SDL_GameController** manual_gamepads_array /* = nullptr */, int manual_gamepads_count /* = -1 */);
|
||||
|
||||
// (Advanced, for X11 users) Override Mouse Capture mode. Mouse capture allows receiving updated mouse position after clicking inside our window and dragging outside it.
|
||||
// Having this 'Enabled' is in theory always better. But, on X11 if you crash/break to debugger while capture is active you may temporarily lose access to your mouse.
|
||||
// The best solution is to setup your debugger to automatically release capture, e.g. 'setxkbmap -option grab:break_actions && xdotool key XF86Ungrab' or via a GDB script. See #3650.
|
||||
// But you may independently decide on X11, when a debugger is attached, to set this value to ImGui_ImplSDL2_MouseCaptureMode_Disabled.
|
||||
typedef enum
|
||||
{
|
||||
ImGui_ImplSDL2_MouseCaptureMode_Enabled,
|
||||
ImGui_ImplSDL2_MouseCaptureMode_EnabledAfterDrag,
|
||||
ImGui_ImplSDL2_MouseCaptureMode_Disabled,
|
||||
} ImGui_ImplSDL2_MouseCaptureMode;
|
||||
CIMGUI_IMPL_API void cImGui_ImplSDL2_SetMouseCaptureMode(ImGui_ImplSDL2_MouseCaptureMode mode);
|
||||
#endif// #ifndef IMGUI_DISABLE
|
||||
#ifdef __cplusplus
|
||||
} // End of extern "C" block
|
||||
#endif
|
||||
@@ -0,0 +1,798 @@
|
||||
{
|
||||
"defines": [],
|
||||
"enums": [
|
||||
{
|
||||
"name": "ImGui_ImplSDL2_GamepadMode",
|
||||
"original_fully_qualified_name": "ImGui_ImplSDL2_GamepadMode",
|
||||
"is_flags_enum": false,
|
||||
"elements": [
|
||||
{
|
||||
"name": "ImGui_ImplSDL2_GamepadMode_AutoFirst",
|
||||
"value": 0,
|
||||
"is_count": false,
|
||||
"is_internal": false,
|
||||
"source_location": {
|
||||
"filename": "imgui_impl_sdl2.h",
|
||||
"line": 51
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "ImGui_ImplSDL2_GamepadMode_AutoAll",
|
||||
"value": 1,
|
||||
"is_count": false,
|
||||
"is_internal": false,
|
||||
"source_location": {
|
||||
"filename": "imgui_impl_sdl2.h",
|
||||
"line": 51
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "ImGui_ImplSDL2_GamepadMode_Manual",
|
||||
"value": 2,
|
||||
"is_count": false,
|
||||
"is_internal": false,
|
||||
"source_location": {
|
||||
"filename": "imgui_impl_sdl2.h",
|
||||
"line": 51
|
||||
}
|
||||
}
|
||||
],
|
||||
"comments": {
|
||||
"preceding": [
|
||||
"// Gamepad selection automatically starts in AutoFirst mode, picking first available SDL_Gamepad. You may override this.",
|
||||
"// When using manual mode, caller is responsible for opening/closing gamepad."
|
||||
]
|
||||
},
|
||||
"is_internal": false,
|
||||
"source_location": {
|
||||
"filename": "imgui_impl_sdl2.h",
|
||||
"line": 51
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "ImGui_ImplSDL2_MouseCaptureMode",
|
||||
"original_fully_qualified_name": "ImGui_ImplSDL2_MouseCaptureMode",
|
||||
"is_flags_enum": false,
|
||||
"elements": [
|
||||
{
|
||||
"name": "ImGui_ImplSDL2_MouseCaptureMode_Enabled",
|
||||
"value": 0,
|
||||
"is_count": false,
|
||||
"is_internal": false,
|
||||
"source_location": {
|
||||
"filename": "imgui_impl_sdl2.h",
|
||||
"line": 58
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "ImGui_ImplSDL2_MouseCaptureMode_EnabledAfterDrag",
|
||||
"value": 1,
|
||||
"is_count": false,
|
||||
"is_internal": false,
|
||||
"source_location": {
|
||||
"filename": "imgui_impl_sdl2.h",
|
||||
"line": 58
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "ImGui_ImplSDL2_MouseCaptureMode_Disabled",
|
||||
"value": 2,
|
||||
"is_count": false,
|
||||
"is_internal": false,
|
||||
"source_location": {
|
||||
"filename": "imgui_impl_sdl2.h",
|
||||
"line": 58
|
||||
}
|
||||
}
|
||||
],
|
||||
"comments": {
|
||||
"preceding": [
|
||||
"// (Advanced, for X11 users) Override Mouse Capture mode. Mouse capture allows receiving updated mouse position after clicking inside our window and dragging outside it.",
|
||||
"// Having this 'Enabled' is in theory always better. But, on X11 if you crash/break to debugger while capture is active you may temporarily lose access to your mouse.",
|
||||
"// The best solution is to setup your debugger to automatically release capture, e.g. 'setxkbmap -option grab:break_actions && xdotool key XF86Ungrab' or via a GDB script. See #3650.",
|
||||
"// But you may independently decide on X11, when a debugger is attached, to set this value to ImGui_ImplSDL2_MouseCaptureMode_Disabled."
|
||||
]
|
||||
},
|
||||
"is_internal": false,
|
||||
"source_location": {
|
||||
"filename": "imgui_impl_sdl2.h",
|
||||
"line": 58
|
||||
}
|
||||
}
|
||||
],
|
||||
"typedefs": [
|
||||
{
|
||||
"name": "ImDrawIdx",
|
||||
"type": {
|
||||
"declaration": "unsigned short",
|
||||
"description": {
|
||||
"kind": "Builtin",
|
||||
"builtin_type": "unsigned_short"
|
||||
}
|
||||
},
|
||||
"comments": {
|
||||
"attached": "// Default: 16-bit (for maximum compatibility with renderer backends)"
|
||||
},
|
||||
"conditionals": [
|
||||
{
|
||||
"condition": "ifndef",
|
||||
"expression": "ImDrawIdx"
|
||||
}
|
||||
],
|
||||
"is_internal": false,
|
||||
"source_location": {
|
||||
"filename": "imgui_impl_sdl2.h"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "SDL_Event",
|
||||
"type": {
|
||||
"declaration": "SDL_Event",
|
||||
"description": {
|
||||
"kind": "User",
|
||||
"name": "SDL_Event"
|
||||
}
|
||||
},
|
||||
"is_internal": false,
|
||||
"source_location": {
|
||||
"filename": "imgui_impl_sdl2.h"
|
||||
}
|
||||
}
|
||||
],
|
||||
"structs": [
|
||||
{
|
||||
"name": "SDL_Window",
|
||||
"original_fully_qualified_name": "SDL_Window",
|
||||
"kind": "struct",
|
||||
"by_value": false,
|
||||
"forward_declaration": true,
|
||||
"is_anonymous": false,
|
||||
"fields": [],
|
||||
"is_internal": false,
|
||||
"source_location": {
|
||||
"filename": "imgui_impl_sdl2.h",
|
||||
"line": 29
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "SDL_Renderer",
|
||||
"original_fully_qualified_name": "SDL_Renderer",
|
||||
"kind": "struct",
|
||||
"by_value": false,
|
||||
"forward_declaration": true,
|
||||
"is_anonymous": false,
|
||||
"fields": [],
|
||||
"is_internal": false,
|
||||
"source_location": {
|
||||
"filename": "imgui_impl_sdl2.h",
|
||||
"line": 30
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "_SDL_GameController",
|
||||
"original_fully_qualified_name": "_SDL_GameController",
|
||||
"kind": "struct",
|
||||
"by_value": false,
|
||||
"forward_declaration": true,
|
||||
"is_anonymous": false,
|
||||
"fields": [],
|
||||
"is_internal": false,
|
||||
"source_location": {
|
||||
"filename": "imgui_impl_sdl2.h",
|
||||
"line": 31
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "ImDrawData",
|
||||
"original_fully_qualified_name": "ImDrawData",
|
||||
"kind": "struct",
|
||||
"by_value": false,
|
||||
"forward_declaration": true,
|
||||
"is_anonymous": false,
|
||||
"fields": [],
|
||||
"is_internal": false,
|
||||
"source_location": {
|
||||
"filename": "imgui_impl_sdl2.h",
|
||||
"line": 1
|
||||
}
|
||||
}
|
||||
],
|
||||
"functions": [
|
||||
{
|
||||
"name": "cImGui_ImplSDL2_InitForOpenGL",
|
||||
"original_fully_qualified_name": "ImGui_ImplSDL2_InitForOpenGL",
|
||||
"return_type": {
|
||||
"declaration": "bool",
|
||||
"description": {
|
||||
"kind": "Builtin",
|
||||
"builtin_type": "bool"
|
||||
}
|
||||
},
|
||||
"arguments": [
|
||||
{
|
||||
"name": "window",
|
||||
"type": {
|
||||
"declaration": "SDL_Window*",
|
||||
"description": {
|
||||
"kind": "Pointer",
|
||||
"inner_type": {
|
||||
"kind": "User",
|
||||
"name": "SDL_Window"
|
||||
}
|
||||
}
|
||||
},
|
||||
"is_array": false,
|
||||
"is_varargs": false,
|
||||
"is_instance_pointer": false
|
||||
},
|
||||
{
|
||||
"name": "sdl_gl_context",
|
||||
"type": {
|
||||
"declaration": "void*",
|
||||
"description": {
|
||||
"kind": "Pointer",
|
||||
"inner_type": {
|
||||
"kind": "Builtin",
|
||||
"builtin_type": "void"
|
||||
}
|
||||
}
|
||||
},
|
||||
"is_array": false,
|
||||
"is_varargs": false,
|
||||
"is_instance_pointer": false
|
||||
}
|
||||
],
|
||||
"is_default_argument_helper": false,
|
||||
"is_manual_helper": false,
|
||||
"is_imstr_helper": false,
|
||||
"has_imstr_helper": false,
|
||||
"is_unformatted_helper": false,
|
||||
"is_static": false,
|
||||
"comments": {
|
||||
"preceding": [
|
||||
"// Follow \"Getting Started\" link and check examples/ folder to learn about using backends!"
|
||||
]
|
||||
},
|
||||
"is_internal": false,
|
||||
"source_location": {
|
||||
"filename": "imgui_impl_sdl2.h",
|
||||
"line": 35
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "cImGui_ImplSDL2_InitForVulkan",
|
||||
"original_fully_qualified_name": "ImGui_ImplSDL2_InitForVulkan",
|
||||
"return_type": {
|
||||
"declaration": "bool",
|
||||
"description": {
|
||||
"kind": "Builtin",
|
||||
"builtin_type": "bool"
|
||||
}
|
||||
},
|
||||
"arguments": [
|
||||
{
|
||||
"name": "window",
|
||||
"type": {
|
||||
"declaration": "SDL_Window*",
|
||||
"description": {
|
||||
"kind": "Pointer",
|
||||
"inner_type": {
|
||||
"kind": "User",
|
||||
"name": "SDL_Window"
|
||||
}
|
||||
}
|
||||
},
|
||||
"is_array": false,
|
||||
"is_varargs": false,
|
||||
"is_instance_pointer": false
|
||||
}
|
||||
],
|
||||
"is_default_argument_helper": false,
|
||||
"is_manual_helper": false,
|
||||
"is_imstr_helper": false,
|
||||
"has_imstr_helper": false,
|
||||
"is_unformatted_helper": false,
|
||||
"is_static": false,
|
||||
"is_internal": false,
|
||||
"source_location": {
|
||||
"filename": "imgui_impl_sdl2.h",
|
||||
"line": 36
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "cImGui_ImplSDL2_InitForD3D",
|
||||
"original_fully_qualified_name": "ImGui_ImplSDL2_InitForD3D",
|
||||
"return_type": {
|
||||
"declaration": "bool",
|
||||
"description": {
|
||||
"kind": "Builtin",
|
||||
"builtin_type": "bool"
|
||||
}
|
||||
},
|
||||
"arguments": [
|
||||
{
|
||||
"name": "window",
|
||||
"type": {
|
||||
"declaration": "SDL_Window*",
|
||||
"description": {
|
||||
"kind": "Pointer",
|
||||
"inner_type": {
|
||||
"kind": "User",
|
||||
"name": "SDL_Window"
|
||||
}
|
||||
}
|
||||
},
|
||||
"is_array": false,
|
||||
"is_varargs": false,
|
||||
"is_instance_pointer": false
|
||||
}
|
||||
],
|
||||
"is_default_argument_helper": false,
|
||||
"is_manual_helper": false,
|
||||
"is_imstr_helper": false,
|
||||
"has_imstr_helper": false,
|
||||
"is_unformatted_helper": false,
|
||||
"is_static": false,
|
||||
"is_internal": false,
|
||||
"source_location": {
|
||||
"filename": "imgui_impl_sdl2.h",
|
||||
"line": 37
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "cImGui_ImplSDL2_InitForMetal",
|
||||
"original_fully_qualified_name": "ImGui_ImplSDL2_InitForMetal",
|
||||
"return_type": {
|
||||
"declaration": "bool",
|
||||
"description": {
|
||||
"kind": "Builtin",
|
||||
"builtin_type": "bool"
|
||||
}
|
||||
},
|
||||
"arguments": [
|
||||
{
|
||||
"name": "window",
|
||||
"type": {
|
||||
"declaration": "SDL_Window*",
|
||||
"description": {
|
||||
"kind": "Pointer",
|
||||
"inner_type": {
|
||||
"kind": "User",
|
||||
"name": "SDL_Window"
|
||||
}
|
||||
}
|
||||
},
|
||||
"is_array": false,
|
||||
"is_varargs": false,
|
||||
"is_instance_pointer": false
|
||||
}
|
||||
],
|
||||
"is_default_argument_helper": false,
|
||||
"is_manual_helper": false,
|
||||
"is_imstr_helper": false,
|
||||
"has_imstr_helper": false,
|
||||
"is_unformatted_helper": false,
|
||||
"is_static": false,
|
||||
"is_internal": false,
|
||||
"source_location": {
|
||||
"filename": "imgui_impl_sdl2.h",
|
||||
"line": 38
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "cImGui_ImplSDL2_InitForSDLRenderer",
|
||||
"original_fully_qualified_name": "ImGui_ImplSDL2_InitForSDLRenderer",
|
||||
"return_type": {
|
||||
"declaration": "bool",
|
||||
"description": {
|
||||
"kind": "Builtin",
|
||||
"builtin_type": "bool"
|
||||
}
|
||||
},
|
||||
"arguments": [
|
||||
{
|
||||
"name": "window",
|
||||
"type": {
|
||||
"declaration": "SDL_Window*",
|
||||
"description": {
|
||||
"kind": "Pointer",
|
||||
"inner_type": {
|
||||
"kind": "User",
|
||||
"name": "SDL_Window"
|
||||
}
|
||||
}
|
||||
},
|
||||
"is_array": false,
|
||||
"is_varargs": false,
|
||||
"is_instance_pointer": false
|
||||
},
|
||||
{
|
||||
"name": "renderer",
|
||||
"type": {
|
||||
"declaration": "SDL_Renderer*",
|
||||
"description": {
|
||||
"kind": "Pointer",
|
||||
"inner_type": {
|
||||
"kind": "User",
|
||||
"name": "SDL_Renderer"
|
||||
}
|
||||
}
|
||||
},
|
||||
"is_array": false,
|
||||
"is_varargs": false,
|
||||
"is_instance_pointer": false
|
||||
}
|
||||
],
|
||||
"is_default_argument_helper": false,
|
||||
"is_manual_helper": false,
|
||||
"is_imstr_helper": false,
|
||||
"has_imstr_helper": false,
|
||||
"is_unformatted_helper": false,
|
||||
"is_static": false,
|
||||
"is_internal": false,
|
||||
"source_location": {
|
||||
"filename": "imgui_impl_sdl2.h",
|
||||
"line": 39
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "cImGui_ImplSDL2_InitForOther",
|
||||
"original_fully_qualified_name": "ImGui_ImplSDL2_InitForOther",
|
||||
"return_type": {
|
||||
"declaration": "bool",
|
||||
"description": {
|
||||
"kind": "Builtin",
|
||||
"builtin_type": "bool"
|
||||
}
|
||||
},
|
||||
"arguments": [
|
||||
{
|
||||
"name": "window",
|
||||
"type": {
|
||||
"declaration": "SDL_Window*",
|
||||
"description": {
|
||||
"kind": "Pointer",
|
||||
"inner_type": {
|
||||
"kind": "User",
|
||||
"name": "SDL_Window"
|
||||
}
|
||||
}
|
||||
},
|
||||
"is_array": false,
|
||||
"is_varargs": false,
|
||||
"is_instance_pointer": false
|
||||
}
|
||||
],
|
||||
"is_default_argument_helper": false,
|
||||
"is_manual_helper": false,
|
||||
"is_imstr_helper": false,
|
||||
"has_imstr_helper": false,
|
||||
"is_unformatted_helper": false,
|
||||
"is_static": false,
|
||||
"is_internal": false,
|
||||
"source_location": {
|
||||
"filename": "imgui_impl_sdl2.h",
|
||||
"line": 40
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "cImGui_ImplSDL2_Shutdown",
|
||||
"original_fully_qualified_name": "ImGui_ImplSDL2_Shutdown",
|
||||
"return_type": {
|
||||
"declaration": "void",
|
||||
"description": {
|
||||
"kind": "Builtin",
|
||||
"builtin_type": "void"
|
||||
}
|
||||
},
|
||||
"arguments": [],
|
||||
"is_default_argument_helper": false,
|
||||
"is_manual_helper": false,
|
||||
"is_imstr_helper": false,
|
||||
"has_imstr_helper": false,
|
||||
"is_unformatted_helper": false,
|
||||
"is_static": false,
|
||||
"is_internal": false,
|
||||
"source_location": {
|
||||
"filename": "imgui_impl_sdl2.h",
|
||||
"line": 41
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "cImGui_ImplSDL2_NewFrame",
|
||||
"original_fully_qualified_name": "ImGui_ImplSDL2_NewFrame",
|
||||
"return_type": {
|
||||
"declaration": "void",
|
||||
"description": {
|
||||
"kind": "Builtin",
|
||||
"builtin_type": "void"
|
||||
}
|
||||
},
|
||||
"arguments": [],
|
||||
"is_default_argument_helper": false,
|
||||
"is_manual_helper": false,
|
||||
"is_imstr_helper": false,
|
||||
"has_imstr_helper": false,
|
||||
"is_unformatted_helper": false,
|
||||
"is_static": false,
|
||||
"is_internal": false,
|
||||
"source_location": {
|
||||
"filename": "imgui_impl_sdl2.h",
|
||||
"line": 42
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "cImGui_ImplSDL2_ProcessEvent",
|
||||
"original_fully_qualified_name": "ImGui_ImplSDL2_ProcessEvent",
|
||||
"return_type": {
|
||||
"declaration": "bool",
|
||||
"description": {
|
||||
"kind": "Builtin",
|
||||
"builtin_type": "bool"
|
||||
}
|
||||
},
|
||||
"arguments": [
|
||||
{
|
||||
"name": "event",
|
||||
"type": {
|
||||
"declaration": "const SDL_Event*",
|
||||
"description": {
|
||||
"kind": "Pointer",
|
||||
"inner_type": {
|
||||
"kind": "User",
|
||||
"name": "SDL_Event",
|
||||
"storage_classes": [
|
||||
"const"
|
||||
]
|
||||
}
|
||||
}
|
||||
},
|
||||
"is_array": false,
|
||||
"is_varargs": false,
|
||||
"is_instance_pointer": false
|
||||
}
|
||||
],
|
||||
"is_default_argument_helper": false,
|
||||
"is_manual_helper": false,
|
||||
"is_imstr_helper": false,
|
||||
"has_imstr_helper": false,
|
||||
"is_unformatted_helper": false,
|
||||
"is_static": false,
|
||||
"is_internal": false,
|
||||
"source_location": {
|
||||
"filename": "imgui_impl_sdl2.h",
|
||||
"line": 43
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "cImGui_ImplSDL2_GetContentScaleForWindow",
|
||||
"original_fully_qualified_name": "ImGui_ImplSDL2_GetContentScaleForWindow",
|
||||
"return_type": {
|
||||
"declaration": "float",
|
||||
"description": {
|
||||
"kind": "Builtin",
|
||||
"builtin_type": "float"
|
||||
}
|
||||
},
|
||||
"arguments": [
|
||||
{
|
||||
"name": "window",
|
||||
"type": {
|
||||
"declaration": "SDL_Window*",
|
||||
"description": {
|
||||
"kind": "Pointer",
|
||||
"inner_type": {
|
||||
"kind": "User",
|
||||
"name": "SDL_Window"
|
||||
}
|
||||
}
|
||||
},
|
||||
"is_array": false,
|
||||
"is_varargs": false,
|
||||
"is_instance_pointer": false
|
||||
}
|
||||
],
|
||||
"is_default_argument_helper": false,
|
||||
"is_manual_helper": false,
|
||||
"is_imstr_helper": false,
|
||||
"has_imstr_helper": false,
|
||||
"is_unformatted_helper": false,
|
||||
"is_static": false,
|
||||
"comments": {
|
||||
"preceding": [
|
||||
"// DPI-related helpers (optional)"
|
||||
]
|
||||
},
|
||||
"is_internal": false,
|
||||
"source_location": {
|
||||
"filename": "imgui_impl_sdl2.h",
|
||||
"line": 46
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "cImGui_ImplSDL2_GetContentScaleForDisplay",
|
||||
"original_fully_qualified_name": "ImGui_ImplSDL2_GetContentScaleForDisplay",
|
||||
"return_type": {
|
||||
"declaration": "float",
|
||||
"description": {
|
||||
"kind": "Builtin",
|
||||
"builtin_type": "float"
|
||||
}
|
||||
},
|
||||
"arguments": [
|
||||
{
|
||||
"name": "display_index",
|
||||
"type": {
|
||||
"declaration": "int",
|
||||
"description": {
|
||||
"kind": "Builtin",
|
||||
"builtin_type": "int"
|
||||
}
|
||||
},
|
||||
"is_array": false,
|
||||
"is_varargs": false,
|
||||
"is_instance_pointer": false
|
||||
}
|
||||
],
|
||||
"is_default_argument_helper": false,
|
||||
"is_manual_helper": false,
|
||||
"is_imstr_helper": false,
|
||||
"has_imstr_helper": false,
|
||||
"is_unformatted_helper": false,
|
||||
"is_static": false,
|
||||
"is_internal": false,
|
||||
"source_location": {
|
||||
"filename": "imgui_impl_sdl2.h",
|
||||
"line": 47
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "cImGui_ImplSDL2_SetGamepadMode",
|
||||
"original_fully_qualified_name": "ImGui_ImplSDL2_SetGamepadMode",
|
||||
"return_type": {
|
||||
"declaration": "void",
|
||||
"description": {
|
||||
"kind": "Builtin",
|
||||
"builtin_type": "void"
|
||||
}
|
||||
},
|
||||
"arguments": [
|
||||
{
|
||||
"name": "mode",
|
||||
"type": {
|
||||
"declaration": "ImGui_ImplSDL2_GamepadMode",
|
||||
"description": {
|
||||
"kind": "User",
|
||||
"name": "ImGui_ImplSDL2_GamepadMode"
|
||||
}
|
||||
},
|
||||
"is_array": false,
|
||||
"is_varargs": false,
|
||||
"is_instance_pointer": false
|
||||
}
|
||||
],
|
||||
"is_default_argument_helper": true,
|
||||
"is_manual_helper": false,
|
||||
"is_imstr_helper": false,
|
||||
"has_imstr_helper": false,
|
||||
"is_unformatted_helper": false,
|
||||
"is_static": false,
|
||||
"comments": {
|
||||
"attached": "// Implied manual_gamepads_array = nullptr, manual_gamepads_count = -1"
|
||||
},
|
||||
"is_internal": false,
|
||||
"source_location": {
|
||||
"filename": "imgui_impl_sdl2.h",
|
||||
"line": 52
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "cImGui_ImplSDL2_SetGamepadModeEx",
|
||||
"original_fully_qualified_name": "ImGui_ImplSDL2_SetGamepadMode",
|
||||
"return_type": {
|
||||
"declaration": "void",
|
||||
"description": {
|
||||
"kind": "Builtin",
|
||||
"builtin_type": "void"
|
||||
}
|
||||
},
|
||||
"arguments": [
|
||||
{
|
||||
"name": "mode",
|
||||
"type": {
|
||||
"declaration": "ImGui_ImplSDL2_GamepadMode",
|
||||
"description": {
|
||||
"kind": "User",
|
||||
"name": "ImGui_ImplSDL2_GamepadMode"
|
||||
}
|
||||
},
|
||||
"is_array": false,
|
||||
"is_varargs": false,
|
||||
"is_instance_pointer": false
|
||||
},
|
||||
{
|
||||
"name": "manual_gamepads_array",
|
||||
"type": {
|
||||
"declaration": "struct _SDL_GameController**",
|
||||
"description": {
|
||||
"kind": "Pointer",
|
||||
"inner_type": {
|
||||
"kind": "Pointer",
|
||||
"inner_type": {
|
||||
"kind": "User",
|
||||
"name": "_SDL_GameController"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"is_array": false,
|
||||
"is_varargs": false,
|
||||
"default_value": "nullptr",
|
||||
"is_instance_pointer": false
|
||||
},
|
||||
{
|
||||
"name": "manual_gamepads_count",
|
||||
"type": {
|
||||
"declaration": "int",
|
||||
"description": {
|
||||
"kind": "Builtin",
|
||||
"builtin_type": "int"
|
||||
}
|
||||
},
|
||||
"is_array": false,
|
||||
"is_varargs": false,
|
||||
"default_value": "-1",
|
||||
"is_instance_pointer": false
|
||||
}
|
||||
],
|
||||
"is_default_argument_helper": false,
|
||||
"is_manual_helper": false,
|
||||
"is_imstr_helper": false,
|
||||
"has_imstr_helper": false,
|
||||
"is_unformatted_helper": false,
|
||||
"is_static": false,
|
||||
"is_internal": false,
|
||||
"source_location": {
|
||||
"filename": "imgui_impl_sdl2.h",
|
||||
"line": 52
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "cImGui_ImplSDL2_SetMouseCaptureMode",
|
||||
"original_fully_qualified_name": "ImGui_ImplSDL2_SetMouseCaptureMode",
|
||||
"return_type": {
|
||||
"declaration": "void",
|
||||
"description": {
|
||||
"kind": "Builtin",
|
||||
"builtin_type": "void"
|
||||
}
|
||||
},
|
||||
"arguments": [
|
||||
{
|
||||
"name": "mode",
|
||||
"type": {
|
||||
"declaration": "ImGui_ImplSDL2_MouseCaptureMode",
|
||||
"description": {
|
||||
"kind": "User",
|
||||
"name": "ImGui_ImplSDL2_MouseCaptureMode"
|
||||
}
|
||||
},
|
||||
"is_array": false,
|
||||
"is_varargs": false,
|
||||
"is_instance_pointer": false
|
||||
}
|
||||
],
|
||||
"is_default_argument_helper": false,
|
||||
"is_manual_helper": false,
|
||||
"is_imstr_helper": false,
|
||||
"has_imstr_helper": false,
|
||||
"is_unformatted_helper": false,
|
||||
"is_static": false,
|
||||
"is_internal": false,
|
||||
"source_location": {
|
||||
"filename": "imgui_impl_sdl2.h",
|
||||
"line": 59
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,7 @@
|
||||
{
|
||||
"defines": [],
|
||||
"enums": [],
|
||||
"typedefs": [],
|
||||
"structs": [],
|
||||
"functions": []
|
||||
}
|
||||
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,163 @@
|
||||
// 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_sdl3.h"
|
||||
|
||||
#include <stdio.h>
|
||||
|
||||
// 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_sdl3.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_ImplSDL3_InitForOpenGL(cimgui::SDL_Window* window, void* sdl_gl_context)
|
||||
{
|
||||
return ::ImGui_ImplSDL3_InitForOpenGL(reinterpret_cast<::SDL_Window*>(window), sdl_gl_context);
|
||||
}
|
||||
|
||||
CIMGUI_IMPL_API bool cimgui::cImGui_ImplSDL3_InitForVulkan(cimgui::SDL_Window* window)
|
||||
{
|
||||
return ::ImGui_ImplSDL3_InitForVulkan(reinterpret_cast<::SDL_Window*>(window));
|
||||
}
|
||||
|
||||
CIMGUI_IMPL_API bool cimgui::cImGui_ImplSDL3_InitForD3D(cimgui::SDL_Window* window)
|
||||
{
|
||||
return ::ImGui_ImplSDL3_InitForD3D(reinterpret_cast<::SDL_Window*>(window));
|
||||
}
|
||||
|
||||
CIMGUI_IMPL_API bool cimgui::cImGui_ImplSDL3_InitForMetal(cimgui::SDL_Window* window)
|
||||
{
|
||||
return ::ImGui_ImplSDL3_InitForMetal(reinterpret_cast<::SDL_Window*>(window));
|
||||
}
|
||||
|
||||
CIMGUI_IMPL_API bool cimgui::cImGui_ImplSDL3_InitForSDLRenderer(cimgui::SDL_Window* window, cimgui::SDL_Renderer* renderer)
|
||||
{
|
||||
return ::ImGui_ImplSDL3_InitForSDLRenderer(reinterpret_cast<::SDL_Window*>(window), reinterpret_cast<::SDL_Renderer*>(renderer));
|
||||
}
|
||||
|
||||
CIMGUI_IMPL_API bool cimgui::cImGui_ImplSDL3_InitForSDLGPU(cimgui::SDL_Window* window)
|
||||
{
|
||||
return ::ImGui_ImplSDL3_InitForSDLGPU(reinterpret_cast<::SDL_Window*>(window));
|
||||
}
|
||||
|
||||
CIMGUI_IMPL_API bool cimgui::cImGui_ImplSDL3_InitForOther(cimgui::SDL_Window* window)
|
||||
{
|
||||
return ::ImGui_ImplSDL3_InitForOther(reinterpret_cast<::SDL_Window*>(window));
|
||||
}
|
||||
|
||||
CIMGUI_IMPL_API void cimgui::cImGui_ImplSDL3_Shutdown(void)
|
||||
{
|
||||
::ImGui_ImplSDL3_Shutdown();
|
||||
}
|
||||
|
||||
CIMGUI_IMPL_API void cimgui::cImGui_ImplSDL3_NewFrame(void)
|
||||
{
|
||||
::ImGui_ImplSDL3_NewFrame();
|
||||
}
|
||||
|
||||
CIMGUI_IMPL_API bool cimgui::cImGui_ImplSDL3_ProcessEvent(const SDL_Event* event)
|
||||
{
|
||||
return ::ImGui_ImplSDL3_ProcessEvent(event);
|
||||
}
|
||||
|
||||
CIMGUI_IMPL_API void cimgui::cImGui_ImplSDL3_SetGamepadMode(cimgui::ImGui_ImplSDL3_GamepadMode mode)
|
||||
{
|
||||
::ImGui_ImplSDL3_SetGamepadMode(static_cast<::ImGui_ImplSDL3_GamepadMode>(mode));
|
||||
}
|
||||
|
||||
CIMGUI_IMPL_API void cimgui::cImGui_ImplSDL3_SetGamepadModeEx(cimgui::ImGui_ImplSDL3_GamepadMode mode, cimgui::SDL_Gamepad** manual_gamepads_array, int manual_gamepads_count)
|
||||
{
|
||||
::ImGui_ImplSDL3_SetGamepadMode(static_cast<::ImGui_ImplSDL3_GamepadMode>(mode), reinterpret_cast<::SDL_Gamepad**>(manual_gamepads_array), manual_gamepads_count);
|
||||
}
|
||||
|
||||
CIMGUI_IMPL_API void cimgui::cImGui_ImplSDL3_SetMouseCaptureMode(cimgui::ImGui_ImplSDL3_MouseCaptureMode mode)
|
||||
{
|
||||
::ImGui_ImplSDL3_SetMouseCaptureMode(static_cast<::ImGui_ImplSDL3_MouseCaptureMode>(mode));
|
||||
}
|
||||
|
||||
#endif // #ifndef IMGUI_DISABLE
|
||||
@@ -0,0 +1,85 @@
|
||||
// THIS FILE HAS BEEN AUTO-GENERATED BY THE 'DEAR BINDINGS' GENERATOR.
|
||||
// **DO NOT EDIT DIRECTLY**
|
||||
// https://github.com/dearimgui/dear_bindings
|
||||
|
||||
// dear imgui: Platform Backend for SDL3
|
||||
// ImDrawIdx: vertex index. [Compile-time configurable type]
|
||||
// - To use 16-bit indices + allow large meshes: backend need to set 'io.BackendFlags |= ImGuiBackendFlags_RendererHasVtxOffset' and handle ImDrawCmd::VtxOffset (recommended).
|
||||
// - To use 32-bit indices: override with '#define ImDrawIdx unsigned int' in your imconfig.h file.
|
||||
#ifndef ImDrawIdx
|
||||
typedef unsigned short ImDrawIdx; // Default: 16-bit (for maximum compatibility with renderer backends)
|
||||
#endif // #ifndef ImDrawIdx
|
||||
// This needs to be used along with a Renderer (e.g. SDL_GPU, DirectX11, OpenGL3, Vulkan..)
|
||||
// (Info: SDL3 is a cross-platform general purpose library for handling windows, inputs, graphics context creation, etc.)
|
||||
|
||||
// Implemented features:
|
||||
// [X] Platform: Clipboard support.
|
||||
// [X] Platform: Mouse support. Can discriminate Mouse/TouchScreen.
|
||||
// [X] Platform: Keyboard support. Since 1.87 we are using the io.AddKeyEvent() function. Pass ImGuiKey values to all key functions e.g. ImGui::IsKeyPressed(ImGuiKey_Space). [Legacy SDL_SCANCODE_* values are obsolete since 1.87 and not supported since 1.91.5]
|
||||
// [X] Platform: Gamepad support.
|
||||
// [X] Platform: Mouse cursor shape and visibility (ImGuiBackendFlags_HasMouseCursors). Disable with 'io.ConfigFlags |= ImGuiConfigFlags_NoMouseCursorChange'.
|
||||
// [x] Platform: Multi-viewport support (multiple windows). Enable with 'io.ConfigFlags |= ImGuiConfigFlags_ViewportsEnable' -> the OS animation effect when window gets created/destroyed is problematic. SDL2 backend doesn't have issue.
|
||||
// Missing features or Issues:
|
||||
// [ ] Platform: Multi-viewport: Minimized windows seems to break mouse wheel events (at least under Windows).
|
||||
// [x] Platform: IME support. Position somehow broken in SDL3 + app needs to call 'SDL_SetHint(SDL_HINT_IME_SHOW_UI, "1");' before SDL_CreateWindow()!.
|
||||
|
||||
// You can use unmodified imgui_impl_* files in your project. See examples/ folder for examples of using this.
|
||||
// Prefer including the entire imgui/ repository into your project (either as a copy or as a submodule), and only build the backends you need.
|
||||
// Learn about Dear ImGui:
|
||||
// - FAQ https://dearimgui.com/faq
|
||||
// - Getting Started https://dearimgui.com/getting-started
|
||||
// - Documentation https://dearimgui.com/docs (same as your local docs/ folder).
|
||||
// - Introduction, links and more at the top of imgui.cpp
|
||||
|
||||
#pragma once
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C"
|
||||
{
|
||||
#endif
|
||||
#include "dcimgui.h"
|
||||
#ifndef IMGUI_DISABLE
|
||||
typedef struct SDL_Window SDL_Window;
|
||||
typedef struct SDL_Renderer SDL_Renderer;
|
||||
typedef struct SDL_Gamepad SDL_Gamepad;
|
||||
typedef union SDL_Event SDL_Event;
|
||||
|
||||
typedef struct ImDrawData_t ImDrawData;
|
||||
// Follow "Getting Started" link and check examples/ folder to learn about using backends!
|
||||
CIMGUI_IMPL_API bool cImGui_ImplSDL3_InitForOpenGL(SDL_Window* window, void* sdl_gl_context);
|
||||
CIMGUI_IMPL_API bool cImGui_ImplSDL3_InitForVulkan(SDL_Window* window);
|
||||
CIMGUI_IMPL_API bool cImGui_ImplSDL3_InitForD3D(SDL_Window* window);
|
||||
CIMGUI_IMPL_API bool cImGui_ImplSDL3_InitForMetal(SDL_Window* window);
|
||||
CIMGUI_IMPL_API bool cImGui_ImplSDL3_InitForSDLRenderer(SDL_Window* window, SDL_Renderer* renderer);
|
||||
CIMGUI_IMPL_API bool cImGui_ImplSDL3_InitForSDLGPU(SDL_Window* window);
|
||||
CIMGUI_IMPL_API bool cImGui_ImplSDL3_InitForOther(SDL_Window* window);
|
||||
CIMGUI_IMPL_API void cImGui_ImplSDL3_Shutdown(void);
|
||||
CIMGUI_IMPL_API void cImGui_ImplSDL3_NewFrame(void);
|
||||
CIMGUI_IMPL_API bool cImGui_ImplSDL3_ProcessEvent(const SDL_Event* event);
|
||||
|
||||
// Gamepad selection automatically starts in AutoFirst mode, picking first available SDL_Gamepad. You may override this.
|
||||
// When using manual mode, caller is responsible for opening/closing gamepad.
|
||||
typedef enum
|
||||
{
|
||||
ImGui_ImplSDL3_GamepadMode_AutoFirst,
|
||||
ImGui_ImplSDL3_GamepadMode_AutoAll,
|
||||
ImGui_ImplSDL3_GamepadMode_Manual,
|
||||
} ImGui_ImplSDL3_GamepadMode;
|
||||
CIMGUI_IMPL_API void cImGui_ImplSDL3_SetGamepadMode(ImGui_ImplSDL3_GamepadMode mode); // Implied manual_gamepads_array = nullptr, manual_gamepads_count = -1
|
||||
CIMGUI_IMPL_API void cImGui_ImplSDL3_SetGamepadModeEx(ImGui_ImplSDL3_GamepadMode mode, SDL_Gamepad** manual_gamepads_array /* = nullptr */, int manual_gamepads_count /* = -1 */);
|
||||
|
||||
// (Advanced, for X11 users) Override Mouse Capture mode. Mouse capture allows receiving updated mouse position after clicking inside our window and dragging outside it.
|
||||
// Having this 'Enabled' is in theory always better. But, on X11 if you crash/break to debugger while capture is active you may temporarily lose access to your mouse.
|
||||
// The best solution is to setup your debugger to automatically release capture, e.g. 'setxkbmap -option grab:break_actions && xdotool key XF86Ungrab' or via a GDB script. See #3650.
|
||||
// But you may independently decide on X11, when a debugger is attached, to set this value to ImGui_ImplSDL3_MouseCaptureMode_Disabled.
|
||||
typedef enum
|
||||
{
|
||||
ImGui_ImplSDL3_MouseCaptureMode_Enabled,
|
||||
ImGui_ImplSDL3_MouseCaptureMode_EnabledAfterDrag,
|
||||
ImGui_ImplSDL3_MouseCaptureMode_Disabled,
|
||||
} ImGui_ImplSDL3_MouseCaptureMode;
|
||||
CIMGUI_IMPL_API void cImGui_ImplSDL3_SetMouseCaptureMode(ImGui_ImplSDL3_MouseCaptureMode mode);
|
||||
#endif// #ifndef IMGUI_DISABLE
|
||||
#ifdef __cplusplus
|
||||
} // End of extern "C" block
|
||||
#endif
|
||||
@@ -0,0 +1,756 @@
|
||||
{
|
||||
"defines": [],
|
||||
"enums": [
|
||||
{
|
||||
"name": "ImGui_ImplSDL3_GamepadMode",
|
||||
"original_fully_qualified_name": "ImGui_ImplSDL3_GamepadMode",
|
||||
"is_flags_enum": false,
|
||||
"elements": [
|
||||
{
|
||||
"name": "ImGui_ImplSDL3_GamepadMode_AutoFirst",
|
||||
"value": 0,
|
||||
"is_count": false,
|
||||
"is_internal": false,
|
||||
"source_location": {
|
||||
"filename": "imgui_impl_sdl3.h",
|
||||
"line": 47
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "ImGui_ImplSDL3_GamepadMode_AutoAll",
|
||||
"value": 1,
|
||||
"is_count": false,
|
||||
"is_internal": false,
|
||||
"source_location": {
|
||||
"filename": "imgui_impl_sdl3.h",
|
||||
"line": 47
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "ImGui_ImplSDL3_GamepadMode_Manual",
|
||||
"value": 2,
|
||||
"is_count": false,
|
||||
"is_internal": false,
|
||||
"source_location": {
|
||||
"filename": "imgui_impl_sdl3.h",
|
||||
"line": 47
|
||||
}
|
||||
}
|
||||
],
|
||||
"comments": {
|
||||
"preceding": [
|
||||
"// Gamepad selection automatically starts in AutoFirst mode, picking first available SDL_Gamepad. You may override this.",
|
||||
"// When using manual mode, caller is responsible for opening/closing gamepad."
|
||||
]
|
||||
},
|
||||
"is_internal": false,
|
||||
"source_location": {
|
||||
"filename": "imgui_impl_sdl3.h",
|
||||
"line": 47
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "ImGui_ImplSDL3_MouseCaptureMode",
|
||||
"original_fully_qualified_name": "ImGui_ImplSDL3_MouseCaptureMode",
|
||||
"is_flags_enum": false,
|
||||
"elements": [
|
||||
{
|
||||
"name": "ImGui_ImplSDL3_MouseCaptureMode_Enabled",
|
||||
"value": 0,
|
||||
"is_count": false,
|
||||
"is_internal": false,
|
||||
"source_location": {
|
||||
"filename": "imgui_impl_sdl3.h",
|
||||
"line": 54
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "ImGui_ImplSDL3_MouseCaptureMode_EnabledAfterDrag",
|
||||
"value": 1,
|
||||
"is_count": false,
|
||||
"is_internal": false,
|
||||
"source_location": {
|
||||
"filename": "imgui_impl_sdl3.h",
|
||||
"line": 54
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "ImGui_ImplSDL3_MouseCaptureMode_Disabled",
|
||||
"value": 2,
|
||||
"is_count": false,
|
||||
"is_internal": false,
|
||||
"source_location": {
|
||||
"filename": "imgui_impl_sdl3.h",
|
||||
"line": 54
|
||||
}
|
||||
}
|
||||
],
|
||||
"comments": {
|
||||
"preceding": [
|
||||
"// (Advanced, for X11 users) Override Mouse Capture mode. Mouse capture allows receiving updated mouse position after clicking inside our window and dragging outside it.",
|
||||
"// Having this 'Enabled' is in theory always better. But, on X11 if you crash/break to debugger while capture is active you may temporarily lose access to your mouse.",
|
||||
"// The best solution is to setup your debugger to automatically release capture, e.g. 'setxkbmap -option grab:break_actions && xdotool key XF86Ungrab' or via a GDB script. See #3650.",
|
||||
"// But you may independently decide on X11, when a debugger is attached, to set this value to ImGui_ImplSDL3_MouseCaptureMode_Disabled."
|
||||
]
|
||||
},
|
||||
"is_internal": false,
|
||||
"source_location": {
|
||||
"filename": "imgui_impl_sdl3.h",
|
||||
"line": 54
|
||||
}
|
||||
}
|
||||
],
|
||||
"typedefs": [
|
||||
{
|
||||
"name": "ImDrawIdx",
|
||||
"type": {
|
||||
"declaration": "unsigned short",
|
||||
"description": {
|
||||
"kind": "Builtin",
|
||||
"builtin_type": "unsigned_short"
|
||||
}
|
||||
},
|
||||
"comments": {
|
||||
"attached": "// Default: 16-bit (for maximum compatibility with renderer backends)"
|
||||
},
|
||||
"conditionals": [
|
||||
{
|
||||
"condition": "ifndef",
|
||||
"expression": "ImDrawIdx"
|
||||
}
|
||||
],
|
||||
"is_internal": false,
|
||||
"source_location": {
|
||||
"filename": "imgui_impl_sdl3.h"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "SDL_Event",
|
||||
"type": {
|
||||
"declaration": "SDL_Event",
|
||||
"description": {
|
||||
"kind": "User",
|
||||
"name": "SDL_Event"
|
||||
}
|
||||
},
|
||||
"is_internal": false,
|
||||
"source_location": {
|
||||
"filename": "imgui_impl_sdl3.h"
|
||||
}
|
||||
}
|
||||
],
|
||||
"structs": [
|
||||
{
|
||||
"name": "SDL_Window",
|
||||
"original_fully_qualified_name": "SDL_Window",
|
||||
"kind": "struct",
|
||||
"by_value": false,
|
||||
"forward_declaration": true,
|
||||
"is_anonymous": false,
|
||||
"fields": [],
|
||||
"is_internal": false,
|
||||
"source_location": {
|
||||
"filename": "imgui_impl_sdl3.h",
|
||||
"line": 28
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "SDL_Renderer",
|
||||
"original_fully_qualified_name": "SDL_Renderer",
|
||||
"kind": "struct",
|
||||
"by_value": false,
|
||||
"forward_declaration": true,
|
||||
"is_anonymous": false,
|
||||
"fields": [],
|
||||
"is_internal": false,
|
||||
"source_location": {
|
||||
"filename": "imgui_impl_sdl3.h",
|
||||
"line": 29
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "SDL_Gamepad",
|
||||
"original_fully_qualified_name": "SDL_Gamepad",
|
||||
"kind": "struct",
|
||||
"by_value": false,
|
||||
"forward_declaration": true,
|
||||
"is_anonymous": false,
|
||||
"fields": [],
|
||||
"is_internal": false,
|
||||
"source_location": {
|
||||
"filename": "imgui_impl_sdl3.h",
|
||||
"line": 30
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "ImDrawData",
|
||||
"original_fully_qualified_name": "ImDrawData",
|
||||
"kind": "struct",
|
||||
"by_value": false,
|
||||
"forward_declaration": true,
|
||||
"is_anonymous": false,
|
||||
"fields": [],
|
||||
"is_internal": false,
|
||||
"source_location": {
|
||||
"filename": "imgui_impl_sdl3.h",
|
||||
"line": 1
|
||||
}
|
||||
}
|
||||
],
|
||||
"functions": [
|
||||
{
|
||||
"name": "cImGui_ImplSDL3_InitForOpenGL",
|
||||
"original_fully_qualified_name": "ImGui_ImplSDL3_InitForOpenGL",
|
||||
"return_type": {
|
||||
"declaration": "bool",
|
||||
"description": {
|
||||
"kind": "Builtin",
|
||||
"builtin_type": "bool"
|
||||
}
|
||||
},
|
||||
"arguments": [
|
||||
{
|
||||
"name": "window",
|
||||
"type": {
|
||||
"declaration": "SDL_Window*",
|
||||
"description": {
|
||||
"kind": "Pointer",
|
||||
"inner_type": {
|
||||
"kind": "User",
|
||||
"name": "SDL_Window"
|
||||
}
|
||||
}
|
||||
},
|
||||
"is_array": false,
|
||||
"is_varargs": false,
|
||||
"is_instance_pointer": false
|
||||
},
|
||||
{
|
||||
"name": "sdl_gl_context",
|
||||
"type": {
|
||||
"declaration": "void*",
|
||||
"description": {
|
||||
"kind": "Pointer",
|
||||
"inner_type": {
|
||||
"kind": "Builtin",
|
||||
"builtin_type": "void"
|
||||
}
|
||||
}
|
||||
},
|
||||
"is_array": false,
|
||||
"is_varargs": false,
|
||||
"is_instance_pointer": false
|
||||
}
|
||||
],
|
||||
"is_default_argument_helper": false,
|
||||
"is_manual_helper": false,
|
||||
"is_imstr_helper": false,
|
||||
"has_imstr_helper": false,
|
||||
"is_unformatted_helper": false,
|
||||
"is_static": false,
|
||||
"comments": {
|
||||
"preceding": [
|
||||
"// Follow \"Getting Started\" link and check examples/ folder to learn about using backends!"
|
||||
]
|
||||
},
|
||||
"is_internal": false,
|
||||
"source_location": {
|
||||
"filename": "imgui_impl_sdl3.h",
|
||||
"line": 34
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "cImGui_ImplSDL3_InitForVulkan",
|
||||
"original_fully_qualified_name": "ImGui_ImplSDL3_InitForVulkan",
|
||||
"return_type": {
|
||||
"declaration": "bool",
|
||||
"description": {
|
||||
"kind": "Builtin",
|
||||
"builtin_type": "bool"
|
||||
}
|
||||
},
|
||||
"arguments": [
|
||||
{
|
||||
"name": "window",
|
||||
"type": {
|
||||
"declaration": "SDL_Window*",
|
||||
"description": {
|
||||
"kind": "Pointer",
|
||||
"inner_type": {
|
||||
"kind": "User",
|
||||
"name": "SDL_Window"
|
||||
}
|
||||
}
|
||||
},
|
||||
"is_array": false,
|
||||
"is_varargs": false,
|
||||
"is_instance_pointer": false
|
||||
}
|
||||
],
|
||||
"is_default_argument_helper": false,
|
||||
"is_manual_helper": false,
|
||||
"is_imstr_helper": false,
|
||||
"has_imstr_helper": false,
|
||||
"is_unformatted_helper": false,
|
||||
"is_static": false,
|
||||
"is_internal": false,
|
||||
"source_location": {
|
||||
"filename": "imgui_impl_sdl3.h",
|
||||
"line": 35
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "cImGui_ImplSDL3_InitForD3D",
|
||||
"original_fully_qualified_name": "ImGui_ImplSDL3_InitForD3D",
|
||||
"return_type": {
|
||||
"declaration": "bool",
|
||||
"description": {
|
||||
"kind": "Builtin",
|
||||
"builtin_type": "bool"
|
||||
}
|
||||
},
|
||||
"arguments": [
|
||||
{
|
||||
"name": "window",
|
||||
"type": {
|
||||
"declaration": "SDL_Window*",
|
||||
"description": {
|
||||
"kind": "Pointer",
|
||||
"inner_type": {
|
||||
"kind": "User",
|
||||
"name": "SDL_Window"
|
||||
}
|
||||
}
|
||||
},
|
||||
"is_array": false,
|
||||
"is_varargs": false,
|
||||
"is_instance_pointer": false
|
||||
}
|
||||
],
|
||||
"is_default_argument_helper": false,
|
||||
"is_manual_helper": false,
|
||||
"is_imstr_helper": false,
|
||||
"has_imstr_helper": false,
|
||||
"is_unformatted_helper": false,
|
||||
"is_static": false,
|
||||
"is_internal": false,
|
||||
"source_location": {
|
||||
"filename": "imgui_impl_sdl3.h",
|
||||
"line": 36
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "cImGui_ImplSDL3_InitForMetal",
|
||||
"original_fully_qualified_name": "ImGui_ImplSDL3_InitForMetal",
|
||||
"return_type": {
|
||||
"declaration": "bool",
|
||||
"description": {
|
||||
"kind": "Builtin",
|
||||
"builtin_type": "bool"
|
||||
}
|
||||
},
|
||||
"arguments": [
|
||||
{
|
||||
"name": "window",
|
||||
"type": {
|
||||
"declaration": "SDL_Window*",
|
||||
"description": {
|
||||
"kind": "Pointer",
|
||||
"inner_type": {
|
||||
"kind": "User",
|
||||
"name": "SDL_Window"
|
||||
}
|
||||
}
|
||||
},
|
||||
"is_array": false,
|
||||
"is_varargs": false,
|
||||
"is_instance_pointer": false
|
||||
}
|
||||
],
|
||||
"is_default_argument_helper": false,
|
||||
"is_manual_helper": false,
|
||||
"is_imstr_helper": false,
|
||||
"has_imstr_helper": false,
|
||||
"is_unformatted_helper": false,
|
||||
"is_static": false,
|
||||
"is_internal": false,
|
||||
"source_location": {
|
||||
"filename": "imgui_impl_sdl3.h",
|
||||
"line": 37
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "cImGui_ImplSDL3_InitForSDLRenderer",
|
||||
"original_fully_qualified_name": "ImGui_ImplSDL3_InitForSDLRenderer",
|
||||
"return_type": {
|
||||
"declaration": "bool",
|
||||
"description": {
|
||||
"kind": "Builtin",
|
||||
"builtin_type": "bool"
|
||||
}
|
||||
},
|
||||
"arguments": [
|
||||
{
|
||||
"name": "window",
|
||||
"type": {
|
||||
"declaration": "SDL_Window*",
|
||||
"description": {
|
||||
"kind": "Pointer",
|
||||
"inner_type": {
|
||||
"kind": "User",
|
||||
"name": "SDL_Window"
|
||||
}
|
||||
}
|
||||
},
|
||||
"is_array": false,
|
||||
"is_varargs": false,
|
||||
"is_instance_pointer": false
|
||||
},
|
||||
{
|
||||
"name": "renderer",
|
||||
"type": {
|
||||
"declaration": "SDL_Renderer*",
|
||||
"description": {
|
||||
"kind": "Pointer",
|
||||
"inner_type": {
|
||||
"kind": "User",
|
||||
"name": "SDL_Renderer"
|
||||
}
|
||||
}
|
||||
},
|
||||
"is_array": false,
|
||||
"is_varargs": false,
|
||||
"is_instance_pointer": false
|
||||
}
|
||||
],
|
||||
"is_default_argument_helper": false,
|
||||
"is_manual_helper": false,
|
||||
"is_imstr_helper": false,
|
||||
"has_imstr_helper": false,
|
||||
"is_unformatted_helper": false,
|
||||
"is_static": false,
|
||||
"is_internal": false,
|
||||
"source_location": {
|
||||
"filename": "imgui_impl_sdl3.h",
|
||||
"line": 38
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "cImGui_ImplSDL3_InitForSDLGPU",
|
||||
"original_fully_qualified_name": "ImGui_ImplSDL3_InitForSDLGPU",
|
||||
"return_type": {
|
||||
"declaration": "bool",
|
||||
"description": {
|
||||
"kind": "Builtin",
|
||||
"builtin_type": "bool"
|
||||
}
|
||||
},
|
||||
"arguments": [
|
||||
{
|
||||
"name": "window",
|
||||
"type": {
|
||||
"declaration": "SDL_Window*",
|
||||
"description": {
|
||||
"kind": "Pointer",
|
||||
"inner_type": {
|
||||
"kind": "User",
|
||||
"name": "SDL_Window"
|
||||
}
|
||||
}
|
||||
},
|
||||
"is_array": false,
|
||||
"is_varargs": false,
|
||||
"is_instance_pointer": false
|
||||
}
|
||||
],
|
||||
"is_default_argument_helper": false,
|
||||
"is_manual_helper": false,
|
||||
"is_imstr_helper": false,
|
||||
"has_imstr_helper": false,
|
||||
"is_unformatted_helper": false,
|
||||
"is_static": false,
|
||||
"is_internal": false,
|
||||
"source_location": {
|
||||
"filename": "imgui_impl_sdl3.h",
|
||||
"line": 39
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "cImGui_ImplSDL3_InitForOther",
|
||||
"original_fully_qualified_name": "ImGui_ImplSDL3_InitForOther",
|
||||
"return_type": {
|
||||
"declaration": "bool",
|
||||
"description": {
|
||||
"kind": "Builtin",
|
||||
"builtin_type": "bool"
|
||||
}
|
||||
},
|
||||
"arguments": [
|
||||
{
|
||||
"name": "window",
|
||||
"type": {
|
||||
"declaration": "SDL_Window*",
|
||||
"description": {
|
||||
"kind": "Pointer",
|
||||
"inner_type": {
|
||||
"kind": "User",
|
||||
"name": "SDL_Window"
|
||||
}
|
||||
}
|
||||
},
|
||||
"is_array": false,
|
||||
"is_varargs": false,
|
||||
"is_instance_pointer": false
|
||||
}
|
||||
],
|
||||
"is_default_argument_helper": false,
|
||||
"is_manual_helper": false,
|
||||
"is_imstr_helper": false,
|
||||
"has_imstr_helper": false,
|
||||
"is_unformatted_helper": false,
|
||||
"is_static": false,
|
||||
"is_internal": false,
|
||||
"source_location": {
|
||||
"filename": "imgui_impl_sdl3.h",
|
||||
"line": 40
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "cImGui_ImplSDL3_Shutdown",
|
||||
"original_fully_qualified_name": "ImGui_ImplSDL3_Shutdown",
|
||||
"return_type": {
|
||||
"declaration": "void",
|
||||
"description": {
|
||||
"kind": "Builtin",
|
||||
"builtin_type": "void"
|
||||
}
|
||||
},
|
||||
"arguments": [],
|
||||
"is_default_argument_helper": false,
|
||||
"is_manual_helper": false,
|
||||
"is_imstr_helper": false,
|
||||
"has_imstr_helper": false,
|
||||
"is_unformatted_helper": false,
|
||||
"is_static": false,
|
||||
"is_internal": false,
|
||||
"source_location": {
|
||||
"filename": "imgui_impl_sdl3.h",
|
||||
"line": 41
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "cImGui_ImplSDL3_NewFrame",
|
||||
"original_fully_qualified_name": "ImGui_ImplSDL3_NewFrame",
|
||||
"return_type": {
|
||||
"declaration": "void",
|
||||
"description": {
|
||||
"kind": "Builtin",
|
||||
"builtin_type": "void"
|
||||
}
|
||||
},
|
||||
"arguments": [],
|
||||
"is_default_argument_helper": false,
|
||||
"is_manual_helper": false,
|
||||
"is_imstr_helper": false,
|
||||
"has_imstr_helper": false,
|
||||
"is_unformatted_helper": false,
|
||||
"is_static": false,
|
||||
"is_internal": false,
|
||||
"source_location": {
|
||||
"filename": "imgui_impl_sdl3.h",
|
||||
"line": 42
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "cImGui_ImplSDL3_ProcessEvent",
|
||||
"original_fully_qualified_name": "ImGui_ImplSDL3_ProcessEvent",
|
||||
"return_type": {
|
||||
"declaration": "bool",
|
||||
"description": {
|
||||
"kind": "Builtin",
|
||||
"builtin_type": "bool"
|
||||
}
|
||||
},
|
||||
"arguments": [
|
||||
{
|
||||
"name": "event",
|
||||
"type": {
|
||||
"declaration": "const SDL_Event*",
|
||||
"description": {
|
||||
"kind": "Pointer",
|
||||
"inner_type": {
|
||||
"kind": "User",
|
||||
"name": "SDL_Event",
|
||||
"storage_classes": [
|
||||
"const"
|
||||
]
|
||||
}
|
||||
}
|
||||
},
|
||||
"is_array": false,
|
||||
"is_varargs": false,
|
||||
"is_instance_pointer": false
|
||||
}
|
||||
],
|
||||
"is_default_argument_helper": false,
|
||||
"is_manual_helper": false,
|
||||
"is_imstr_helper": false,
|
||||
"has_imstr_helper": false,
|
||||
"is_unformatted_helper": false,
|
||||
"is_static": false,
|
||||
"is_internal": false,
|
||||
"source_location": {
|
||||
"filename": "imgui_impl_sdl3.h",
|
||||
"line": 43
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "cImGui_ImplSDL3_SetGamepadMode",
|
||||
"original_fully_qualified_name": "ImGui_ImplSDL3_SetGamepadMode",
|
||||
"return_type": {
|
||||
"declaration": "void",
|
||||
"description": {
|
||||
"kind": "Builtin",
|
||||
"builtin_type": "void"
|
||||
}
|
||||
},
|
||||
"arguments": [
|
||||
{
|
||||
"name": "mode",
|
||||
"type": {
|
||||
"declaration": "ImGui_ImplSDL3_GamepadMode",
|
||||
"description": {
|
||||
"kind": "User",
|
||||
"name": "ImGui_ImplSDL3_GamepadMode"
|
||||
}
|
||||
},
|
||||
"is_array": false,
|
||||
"is_varargs": false,
|
||||
"is_instance_pointer": false
|
||||
}
|
||||
],
|
||||
"is_default_argument_helper": true,
|
||||
"is_manual_helper": false,
|
||||
"is_imstr_helper": false,
|
||||
"has_imstr_helper": false,
|
||||
"is_unformatted_helper": false,
|
||||
"is_static": false,
|
||||
"comments": {
|
||||
"attached": "// Implied manual_gamepads_array = nullptr, manual_gamepads_count = -1"
|
||||
},
|
||||
"is_internal": false,
|
||||
"source_location": {
|
||||
"filename": "imgui_impl_sdl3.h",
|
||||
"line": 48
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "cImGui_ImplSDL3_SetGamepadModeEx",
|
||||
"original_fully_qualified_name": "ImGui_ImplSDL3_SetGamepadMode",
|
||||
"return_type": {
|
||||
"declaration": "void",
|
||||
"description": {
|
||||
"kind": "Builtin",
|
||||
"builtin_type": "void"
|
||||
}
|
||||
},
|
||||
"arguments": [
|
||||
{
|
||||
"name": "mode",
|
||||
"type": {
|
||||
"declaration": "ImGui_ImplSDL3_GamepadMode",
|
||||
"description": {
|
||||
"kind": "User",
|
||||
"name": "ImGui_ImplSDL3_GamepadMode"
|
||||
}
|
||||
},
|
||||
"is_array": false,
|
||||
"is_varargs": false,
|
||||
"is_instance_pointer": false
|
||||
},
|
||||
{
|
||||
"name": "manual_gamepads_array",
|
||||
"type": {
|
||||
"declaration": "SDL_Gamepad**",
|
||||
"description": {
|
||||
"kind": "Pointer",
|
||||
"inner_type": {
|
||||
"kind": "Pointer",
|
||||
"inner_type": {
|
||||
"kind": "User",
|
||||
"name": "SDL_Gamepad"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"is_array": false,
|
||||
"is_varargs": false,
|
||||
"default_value": "nullptr",
|
||||
"is_instance_pointer": false
|
||||
},
|
||||
{
|
||||
"name": "manual_gamepads_count",
|
||||
"type": {
|
||||
"declaration": "int",
|
||||
"description": {
|
||||
"kind": "Builtin",
|
||||
"builtin_type": "int"
|
||||
}
|
||||
},
|
||||
"is_array": false,
|
||||
"is_varargs": false,
|
||||
"default_value": "-1",
|
||||
"is_instance_pointer": false
|
||||
}
|
||||
],
|
||||
"is_default_argument_helper": false,
|
||||
"is_manual_helper": false,
|
||||
"is_imstr_helper": false,
|
||||
"has_imstr_helper": false,
|
||||
"is_unformatted_helper": false,
|
||||
"is_static": false,
|
||||
"is_internal": false,
|
||||
"source_location": {
|
||||
"filename": "imgui_impl_sdl3.h",
|
||||
"line": 48
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "cImGui_ImplSDL3_SetMouseCaptureMode",
|
||||
"original_fully_qualified_name": "ImGui_ImplSDL3_SetMouseCaptureMode",
|
||||
"return_type": {
|
||||
"declaration": "void",
|
||||
"description": {
|
||||
"kind": "Builtin",
|
||||
"builtin_type": "void"
|
||||
}
|
||||
},
|
||||
"arguments": [
|
||||
{
|
||||
"name": "mode",
|
||||
"type": {
|
||||
"declaration": "ImGui_ImplSDL3_MouseCaptureMode",
|
||||
"description": {
|
||||
"kind": "User",
|
||||
"name": "ImGui_ImplSDL3_MouseCaptureMode"
|
||||
}
|
||||
},
|
||||
"is_array": false,
|
||||
"is_varargs": false,
|
||||
"is_instance_pointer": false
|
||||
}
|
||||
],
|
||||
"is_default_argument_helper": false,
|
||||
"is_manual_helper": false,
|
||||
"is_imstr_helper": false,
|
||||
"has_imstr_helper": false,
|
||||
"is_unformatted_helper": false,
|
||||
"is_static": false,
|
||||
"is_internal": false,
|
||||
"source_location": {
|
||||
"filename": "imgui_impl_sdl3.h",
|
||||
"line": 55
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,7 @@
|
||||
{
|
||||
"defines": [],
|
||||
"enums": [],
|
||||
"typedefs": [],
|
||||
"structs": [],
|
||||
"functions": []
|
||||
}
|
||||
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,144 @@
|
||||
// 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_sdlgpu3.h"
|
||||
|
||||
#include <stdio.h>
|
||||
|
||||
// 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_sdlgpu3.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_ImplSDLGPU3_Init(cimgui::ImGui_ImplSDLGPU3_InitInfo* info)
|
||||
{
|
||||
return ::ImGui_ImplSDLGPU3_Init(reinterpret_cast<::ImGui_ImplSDLGPU3_InitInfo*>(info));
|
||||
}
|
||||
|
||||
CIMGUI_IMPL_API void cimgui::cImGui_ImplSDLGPU3_Shutdown(void)
|
||||
{
|
||||
::ImGui_ImplSDLGPU3_Shutdown();
|
||||
}
|
||||
|
||||
CIMGUI_IMPL_API void cimgui::cImGui_ImplSDLGPU3_NewFrame(void)
|
||||
{
|
||||
::ImGui_ImplSDLGPU3_NewFrame();
|
||||
}
|
||||
|
||||
CIMGUI_IMPL_API void cimgui::cImGui_ImplSDLGPU3_PrepareDrawData(cimgui::ImDrawData* draw_data, SDL_GPUCommandBuffer* command_buffer)
|
||||
{
|
||||
::ImGui_ImplSDLGPU3_PrepareDrawData(reinterpret_cast<::ImDrawData*>(draw_data), command_buffer);
|
||||
}
|
||||
|
||||
CIMGUI_IMPL_API void cimgui::cImGui_ImplSDLGPU3_RenderDrawData(cimgui::ImDrawData* draw_data, SDL_GPUCommandBuffer* command_buffer, SDL_GPURenderPass* render_pass)
|
||||
{
|
||||
::ImGui_ImplSDLGPU3_RenderDrawData(reinterpret_cast<::ImDrawData*>(draw_data), command_buffer, render_pass);
|
||||
}
|
||||
|
||||
CIMGUI_IMPL_API void cimgui::cImGui_ImplSDLGPU3_RenderDrawDataEx(cimgui::ImDrawData* draw_data, SDL_GPUCommandBuffer* command_buffer, SDL_GPURenderPass* render_pass, SDL_GPUGraphicsPipeline* pipeline)
|
||||
{
|
||||
::ImGui_ImplSDLGPU3_RenderDrawData(reinterpret_cast<::ImDrawData*>(draw_data), command_buffer, render_pass, pipeline);
|
||||
}
|
||||
|
||||
CIMGUI_IMPL_API void cimgui::cImGui_ImplSDLGPU3_CreateDeviceObjects(void)
|
||||
{
|
||||
::ImGui_ImplSDLGPU3_CreateDeviceObjects();
|
||||
}
|
||||
|
||||
CIMGUI_IMPL_API void cimgui::cImGui_ImplSDLGPU3_DestroyDeviceObjects(void)
|
||||
{
|
||||
::ImGui_ImplSDLGPU3_DestroyDeviceObjects();
|
||||
}
|
||||
|
||||
CIMGUI_IMPL_API void cimgui::cImGui_ImplSDLGPU3_UpdateTexture(cimgui::ImTextureData* tex)
|
||||
{
|
||||
::ImGui_ImplSDLGPU3_UpdateTexture(reinterpret_cast<::ImTextureData*>(tex));
|
||||
}
|
||||
|
||||
#endif // #ifndef IMGUI_DISABLE
|
||||
@@ -0,0 +1,86 @@
|
||||
// THIS FILE HAS BEEN AUTO-GENERATED BY THE 'DEAR BINDINGS' GENERATOR.
|
||||
// **DO NOT EDIT DIRECTLY**
|
||||
// https://github.com/dearimgui/dear_bindings
|
||||
|
||||
// dear imgui: Renderer Backend for SDL_GPU
|
||||
// Auto-generated forward declarations for C header
|
||||
typedef struct ImGui_ImplSDLGPU3_InitInfo_t ImGui_ImplSDLGPU3_InitInfo;
|
||||
typedef struct ImGui_ImplSDLGPU3_RenderState_t ImGui_ImplSDLGPU3_RenderState;
|
||||
// ImDrawIdx: vertex index. [Compile-time configurable type]
|
||||
// - To use 16-bit indices + allow large meshes: backend need to set 'io.BackendFlags |= ImGuiBackendFlags_RendererHasVtxOffset' and handle ImDrawCmd::VtxOffset (recommended).
|
||||
// - To use 32-bit indices: override with '#define ImDrawIdx unsigned int' in your imconfig.h file.
|
||||
#ifndef ImDrawIdx
|
||||
typedef unsigned short ImDrawIdx; // Default: 16-bit (for maximum compatibility with renderer backends)
|
||||
#endif // #ifndef ImDrawIdx
|
||||
// This needs to be used along with the SDL3 Platform Backend
|
||||
|
||||
// Implemented features:
|
||||
// [X] Renderer: User texture binding. Use 'SDL_GPUTexture*' as texture identifier. Read the FAQ about ImTextureID/ImTextureRef! **IMPORTANT** Before 2025/08/08, ImTextureID was a reference to a SDL_GPUTextureSamplerBinding struct.
|
||||
// [X] Renderer: Large meshes support (64k+ vertices) even with 16-bit indices (ImGuiBackendFlags_RendererHasVtxOffset).
|
||||
// [X] Renderer: Texture updates support for dynamic font atlas (ImGuiBackendFlags_RendererHasTextures).
|
||||
// [X] Renderer: Multi-viewport support (multiple windows). Enable with 'io.ConfigFlags |= ImGuiConfigFlags_ViewportsEnable'.
|
||||
|
||||
// The aim of imgui_impl_sdlgpu3.h/.cpp is to be usable in your engine without any modification.
|
||||
// IF YOU FEEL YOU NEED TO MAKE ANY CHANGE TO THIS CODE, please share them and your feedback at https://github.com/ocornut/imgui/
|
||||
|
||||
// You can use unmodified imgui_impl_* files in your project. See examples/ folder for examples of using this.
|
||||
// Prefer including the entire imgui/ repository into your project (either as a copy or as a submodule), and only build the backends you need.
|
||||
// Learn about Dear ImGui:
|
||||
// - FAQ https://dearimgui.com/faq
|
||||
// - Getting Started https://dearimgui.com/getting-started
|
||||
// - Documentation https://dearimgui.com/docs (same as your local docs/ folder).
|
||||
// - Introduction, links and more at the top of imgui.cpp
|
||||
|
||||
// Important note to the reader who wish to integrate imgui_impl_sdlgpu3.cpp/.h in their own engine/app.
|
||||
// - Unlike other backends, the user must call the function ImGui_ImplSDLGPU_PrepareDrawData BEFORE issuing a SDL_GPURenderPass containing ImGui_ImplSDLGPU_RenderDrawData.
|
||||
// Calling the function is MANDATORY, otherwise the ImGui will not upload neither the vertex nor the index buffer for the GPU. See imgui_impl_sdlgpu3.cpp for more info.
|
||||
|
||||
#pragma once
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C"
|
||||
{
|
||||
#endif
|
||||
#include "dcimgui.h"
|
||||
#ifndef IMGUI_DISABLE
|
||||
#include <SDL3/SDL_gpu.h> // Initialization data, for ImGui_ImplSDLGPU_Init()
|
||||
// - Remember to set ColorTargetFormat to the correct format. If you're rendering to the swapchain, call SDL_GetGPUSwapchainTextureFormat() to query the right value
|
||||
struct ImGui_ImplSDLGPU3_InitInfo_t
|
||||
{
|
||||
SDL_GPUDevice* Device /* = nullptr */;
|
||||
SDL_GPUTextureFormat ColorTargetFormat /* = SDL_GPU_TEXTUREFORMAT_INVALID */;
|
||||
SDL_GPUSampleCount MSAASamples /* = SDL_GPU_SAMPLECOUNT_1 */;
|
||||
SDL_GPUSwapchainComposition SwapchainComposition /* = SDL_GPU_SWAPCHAINCOMPOSITION_SDR */; // Only used in multi-viewports mode.
|
||||
SDL_GPUPresentMode PresentMode /* = SDL_GPU_PRESENTMODE_VSYNC */; // Only used in multi-viewports mode.
|
||||
};
|
||||
|
||||
typedef struct ImDrawData_t ImDrawData;
|
||||
// Follow "Getting Started" link and check examples/ folder to learn about using backends!
|
||||
CIMGUI_IMPL_API bool cImGui_ImplSDLGPU3_Init(ImGui_ImplSDLGPU3_InitInfo* info);
|
||||
CIMGUI_IMPL_API void cImGui_ImplSDLGPU3_Shutdown(void);
|
||||
CIMGUI_IMPL_API void cImGui_ImplSDLGPU3_NewFrame(void);
|
||||
CIMGUI_IMPL_API void cImGui_ImplSDLGPU3_PrepareDrawData(ImDrawData* draw_data, SDL_GPUCommandBuffer* command_buffer);
|
||||
CIMGUI_IMPL_API void cImGui_ImplSDLGPU3_RenderDrawData(ImDrawData* draw_data, SDL_GPUCommandBuffer* command_buffer, SDL_GPURenderPass* render_pass); // Implied pipeline = nullptr
|
||||
CIMGUI_IMPL_API void cImGui_ImplSDLGPU3_RenderDrawDataEx(ImDrawData* draw_data, SDL_GPUCommandBuffer* command_buffer, SDL_GPURenderPass* render_pass, SDL_GPUGraphicsPipeline* pipeline /* = nullptr */);
|
||||
|
||||
// Use if you want to reset your rendering device without losing Dear ImGui state.
|
||||
CIMGUI_IMPL_API void cImGui_ImplSDLGPU3_CreateDeviceObjects(void);
|
||||
CIMGUI_IMPL_API void cImGui_ImplSDLGPU3_DestroyDeviceObjects(void);
|
||||
|
||||
// (Advanced) Use e.g. if you need to precisely control the timing of texture updates (e.g. for staged rendering), by setting ImDrawData::Textures = nullptr to handle this manually.
|
||||
CIMGUI_IMPL_API void cImGui_ImplSDLGPU3_UpdateTexture(ImTextureData* tex);
|
||||
|
||||
// [BETA] Selected render state data shared with callbacks.
|
||||
// This is temporarily stored in GetPlatformIO().Renderer_RenderState during the ImGui_ImplSDLGPU3_RenderDrawData() call.
|
||||
// (Please open an issue if you feel you need access to more data)
|
||||
struct ImGui_ImplSDLGPU3_RenderState_t
|
||||
{
|
||||
SDL_GPUDevice* Device;
|
||||
SDL_GPUSampler* SamplerLinear; // Bilinear filtering sampler
|
||||
SDL_GPUSampler* SamplerNearest; // Nearest/point filtering sampler
|
||||
SDL_GPUSampler* SamplerCurrent; // Current sampler (may be changed by callback)
|
||||
};
|
||||
#endif// #ifndef IMGUI_DISABLE
|
||||
#ifdef __cplusplus
|
||||
} // End of extern "C" block
|
||||
#endif
|
||||
@@ -0,0 +1,684 @@
|
||||
{
|
||||
"defines": [],
|
||||
"enums": [],
|
||||
"typedefs": [
|
||||
{
|
||||
"name": "ImDrawIdx",
|
||||
"type": {
|
||||
"declaration": "unsigned short",
|
||||
"description": {
|
||||
"kind": "Builtin",
|
||||
"builtin_type": "unsigned_short"
|
||||
}
|
||||
},
|
||||
"comments": {
|
||||
"attached": "// Default: 16-bit (for maximum compatibility with renderer backends)"
|
||||
},
|
||||
"conditionals": [
|
||||
{
|
||||
"condition": "ifndef",
|
||||
"expression": "ImDrawIdx"
|
||||
}
|
||||
],
|
||||
"is_internal": false,
|
||||
"source_location": {
|
||||
"filename": "imgui_impl_sdlgpu3.h"
|
||||
}
|
||||
}
|
||||
],
|
||||
"structs": [
|
||||
{
|
||||
"name": "ImGui_ImplSDLGPU3_InitInfo",
|
||||
"original_fully_qualified_name": "ImGui_ImplSDLGPU3_InitInfo",
|
||||
"kind": "struct",
|
||||
"by_value": false,
|
||||
"forward_declaration": false,
|
||||
"is_anonymous": false,
|
||||
"fields": [
|
||||
{
|
||||
"name": "Device",
|
||||
"is_array": false,
|
||||
"is_anonymous": false,
|
||||
"type": {
|
||||
"declaration": "SDL_GPUDevice*",
|
||||
"description": {
|
||||
"kind": "Pointer",
|
||||
"inner_type": {
|
||||
"kind": "User",
|
||||
"name": "SDL_GPUDevice"
|
||||
}
|
||||
}
|
||||
},
|
||||
"default_value": "nullptr",
|
||||
"is_internal": false,
|
||||
"source_location": {
|
||||
"filename": "imgui_impl_sdlgpu3.h",
|
||||
"line": 34
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "ColorTargetFormat",
|
||||
"is_array": false,
|
||||
"is_anonymous": false,
|
||||
"type": {
|
||||
"declaration": "SDL_GPUTextureFormat",
|
||||
"description": {
|
||||
"kind": "User",
|
||||
"name": "SDL_GPUTextureFormat"
|
||||
}
|
||||
},
|
||||
"default_value": "SDL_GPU_TEXTUREFORMAT_INVALID",
|
||||
"is_internal": false,
|
||||
"source_location": {
|
||||
"filename": "imgui_impl_sdlgpu3.h",
|
||||
"line": 35
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "MSAASamples",
|
||||
"is_array": false,
|
||||
"is_anonymous": false,
|
||||
"type": {
|
||||
"declaration": "SDL_GPUSampleCount",
|
||||
"description": {
|
||||
"kind": "User",
|
||||
"name": "SDL_GPUSampleCount"
|
||||
}
|
||||
},
|
||||
"default_value": "SDL_GPU_SAMPLECOUNT_1",
|
||||
"is_internal": false,
|
||||
"source_location": {
|
||||
"filename": "imgui_impl_sdlgpu3.h",
|
||||
"line": 36
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "SwapchainComposition",
|
||||
"is_array": false,
|
||||
"is_anonymous": false,
|
||||
"type": {
|
||||
"declaration": "SDL_GPUSwapchainComposition",
|
||||
"description": {
|
||||
"kind": "User",
|
||||
"name": "SDL_GPUSwapchainComposition"
|
||||
}
|
||||
},
|
||||
"default_value": "SDL_GPU_SWAPCHAINCOMPOSITION_SDR",
|
||||
"comments": {
|
||||
"attached": "// Only used in multi-viewports mode."
|
||||
},
|
||||
"is_internal": false,
|
||||
"source_location": {
|
||||
"filename": "imgui_impl_sdlgpu3.h",
|
||||
"line": 37
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "PresentMode",
|
||||
"is_array": false,
|
||||
"is_anonymous": false,
|
||||
"type": {
|
||||
"declaration": "SDL_GPUPresentMode",
|
||||
"description": {
|
||||
"kind": "User",
|
||||
"name": "SDL_GPUPresentMode"
|
||||
}
|
||||
},
|
||||
"default_value": "SDL_GPU_PRESENTMODE_VSYNC",
|
||||
"comments": {
|
||||
"attached": "// Only used in multi-viewports mode."
|
||||
},
|
||||
"is_internal": false,
|
||||
"source_location": {
|
||||
"filename": "imgui_impl_sdlgpu3.h",
|
||||
"line": 38
|
||||
}
|
||||
}
|
||||
],
|
||||
"comments": {
|
||||
"preceding": [
|
||||
"// - Remember to set ColorTargetFormat to the correct format. If you're rendering to the swapchain, call SDL_GetGPUSwapchainTextureFormat() to query the right value"
|
||||
]
|
||||
},
|
||||
"is_internal": false,
|
||||
"source_location": {
|
||||
"filename": "imgui_impl_sdlgpu3.h",
|
||||
"line": 32
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "ImDrawData",
|
||||
"original_fully_qualified_name": "ImDrawData",
|
||||
"kind": "struct",
|
||||
"by_value": false,
|
||||
"forward_declaration": true,
|
||||
"is_anonymous": false,
|
||||
"fields": [],
|
||||
"is_internal": false,
|
||||
"source_location": {
|
||||
"filename": "imgui_impl_sdlgpu3.h",
|
||||
"line": 1
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "ImGui_ImplSDLGPU3_RenderState",
|
||||
"original_fully_qualified_name": "ImGui_ImplSDLGPU3_RenderState",
|
||||
"kind": "struct",
|
||||
"by_value": false,
|
||||
"forward_declaration": false,
|
||||
"is_anonymous": false,
|
||||
"fields": [
|
||||
{
|
||||
"name": "Device",
|
||||
"is_array": false,
|
||||
"is_anonymous": false,
|
||||
"type": {
|
||||
"declaration": "SDL_GPUDevice*",
|
||||
"description": {
|
||||
"kind": "Pointer",
|
||||
"inner_type": {
|
||||
"kind": "User",
|
||||
"name": "SDL_GPUDevice"
|
||||
}
|
||||
}
|
||||
},
|
||||
"is_internal": false,
|
||||
"source_location": {
|
||||
"filename": "imgui_impl_sdlgpu3.h",
|
||||
"line": 60
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "SamplerLinear",
|
||||
"is_array": false,
|
||||
"is_anonymous": false,
|
||||
"type": {
|
||||
"declaration": "SDL_GPUSampler*",
|
||||
"description": {
|
||||
"kind": "Pointer",
|
||||
"inner_type": {
|
||||
"kind": "User",
|
||||
"name": "SDL_GPUSampler"
|
||||
}
|
||||
}
|
||||
},
|
||||
"comments": {
|
||||
"attached": "// Bilinear filtering sampler"
|
||||
},
|
||||
"is_internal": false,
|
||||
"source_location": {
|
||||
"filename": "imgui_impl_sdlgpu3.h",
|
||||
"line": 61
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "SamplerNearest",
|
||||
"is_array": false,
|
||||
"is_anonymous": false,
|
||||
"type": {
|
||||
"declaration": "SDL_GPUSampler*",
|
||||
"description": {
|
||||
"kind": "Pointer",
|
||||
"inner_type": {
|
||||
"kind": "User",
|
||||
"name": "SDL_GPUSampler"
|
||||
}
|
||||
}
|
||||
},
|
||||
"comments": {
|
||||
"attached": "// Nearest/point filtering sampler"
|
||||
},
|
||||
"is_internal": false,
|
||||
"source_location": {
|
||||
"filename": "imgui_impl_sdlgpu3.h",
|
||||
"line": 62
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "SamplerCurrent",
|
||||
"is_array": false,
|
||||
"is_anonymous": false,
|
||||
"type": {
|
||||
"declaration": "SDL_GPUSampler*",
|
||||
"description": {
|
||||
"kind": "Pointer",
|
||||
"inner_type": {
|
||||
"kind": "User",
|
||||
"name": "SDL_GPUSampler"
|
||||
}
|
||||
}
|
||||
},
|
||||
"comments": {
|
||||
"attached": "// Current sampler (may be changed by callback)"
|
||||
},
|
||||
"is_internal": false,
|
||||
"source_location": {
|
||||
"filename": "imgui_impl_sdlgpu3.h",
|
||||
"line": 63
|
||||
}
|
||||
}
|
||||
],
|
||||
"comments": {
|
||||
"preceding": [
|
||||
"// [BETA] Selected render state data shared with callbacks.",
|
||||
"// This is temporarily stored in GetPlatformIO().Renderer_RenderState during the ImGui_ImplSDLGPU3_RenderDrawData() call.",
|
||||
"// (Please open an issue if you feel you need access to more data)"
|
||||
]
|
||||
},
|
||||
"is_internal": false,
|
||||
"source_location": {
|
||||
"filename": "imgui_impl_sdlgpu3.h",
|
||||
"line": 58
|
||||
}
|
||||
}
|
||||
],
|
||||
"functions": [
|
||||
{
|
||||
"name": "cImGui_ImplSDLGPU3_Init",
|
||||
"original_fully_qualified_name": "ImGui_ImplSDLGPU3_Init",
|
||||
"return_type": {
|
||||
"declaration": "bool",
|
||||
"description": {
|
||||
"kind": "Builtin",
|
||||
"builtin_type": "bool"
|
||||
}
|
||||
},
|
||||
"arguments": [
|
||||
{
|
||||
"name": "info",
|
||||
"type": {
|
||||
"declaration": "ImGui_ImplSDLGPU3_InitInfo*",
|
||||
"description": {
|
||||
"kind": "Pointer",
|
||||
"inner_type": {
|
||||
"kind": "User",
|
||||
"name": "ImGui_ImplSDLGPU3_InitInfo"
|
||||
}
|
||||
}
|
||||
},
|
||||
"is_array": false,
|
||||
"is_varargs": false,
|
||||
"is_instance_pointer": false
|
||||
}
|
||||
],
|
||||
"is_default_argument_helper": false,
|
||||
"is_manual_helper": false,
|
||||
"is_imstr_helper": false,
|
||||
"has_imstr_helper": false,
|
||||
"is_unformatted_helper": false,
|
||||
"is_static": false,
|
||||
"comments": {
|
||||
"preceding": [
|
||||
"// Follow \"Getting Started\" link and check examples/ folder to learn about using backends!"
|
||||
]
|
||||
},
|
||||
"is_internal": false,
|
||||
"source_location": {
|
||||
"filename": "imgui_impl_sdlgpu3.h",
|
||||
"line": 42
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "cImGui_ImplSDLGPU3_Shutdown",
|
||||
"original_fully_qualified_name": "ImGui_ImplSDLGPU3_Shutdown",
|
||||
"return_type": {
|
||||
"declaration": "void",
|
||||
"description": {
|
||||
"kind": "Builtin",
|
||||
"builtin_type": "void"
|
||||
}
|
||||
},
|
||||
"arguments": [],
|
||||
"is_default_argument_helper": false,
|
||||
"is_manual_helper": false,
|
||||
"is_imstr_helper": false,
|
||||
"has_imstr_helper": false,
|
||||
"is_unformatted_helper": false,
|
||||
"is_static": false,
|
||||
"is_internal": false,
|
||||
"source_location": {
|
||||
"filename": "imgui_impl_sdlgpu3.h",
|
||||
"line": 43
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "cImGui_ImplSDLGPU3_NewFrame",
|
||||
"original_fully_qualified_name": "ImGui_ImplSDLGPU3_NewFrame",
|
||||
"return_type": {
|
||||
"declaration": "void",
|
||||
"description": {
|
||||
"kind": "Builtin",
|
||||
"builtin_type": "void"
|
||||
}
|
||||
},
|
||||
"arguments": [],
|
||||
"is_default_argument_helper": false,
|
||||
"is_manual_helper": false,
|
||||
"is_imstr_helper": false,
|
||||
"has_imstr_helper": false,
|
||||
"is_unformatted_helper": false,
|
||||
"is_static": false,
|
||||
"is_internal": false,
|
||||
"source_location": {
|
||||
"filename": "imgui_impl_sdlgpu3.h",
|
||||
"line": 44
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "cImGui_ImplSDLGPU3_PrepareDrawData",
|
||||
"original_fully_qualified_name": "ImGui_ImplSDLGPU3_PrepareDrawData",
|
||||
"return_type": {
|
||||
"declaration": "void",
|
||||
"description": {
|
||||
"kind": "Builtin",
|
||||
"builtin_type": "void"
|
||||
}
|
||||
},
|
||||
"arguments": [
|
||||
{
|
||||
"name": "draw_data",
|
||||
"type": {
|
||||
"declaration": "ImDrawData*",
|
||||
"description": {
|
||||
"kind": "Pointer",
|
||||
"inner_type": {
|
||||
"kind": "User",
|
||||
"name": "ImDrawData"
|
||||
}
|
||||
}
|
||||
},
|
||||
"is_array": false,
|
||||
"is_varargs": false,
|
||||
"is_instance_pointer": false
|
||||
},
|
||||
{
|
||||
"name": "command_buffer",
|
||||
"type": {
|
||||
"declaration": "SDL_GPUCommandBuffer*",
|
||||
"description": {
|
||||
"kind": "Pointer",
|
||||
"inner_type": {
|
||||
"kind": "User",
|
||||
"name": "SDL_GPUCommandBuffer"
|
||||
}
|
||||
}
|
||||
},
|
||||
"is_array": false,
|
||||
"is_varargs": false,
|
||||
"is_instance_pointer": false
|
||||
}
|
||||
],
|
||||
"is_default_argument_helper": false,
|
||||
"is_manual_helper": false,
|
||||
"is_imstr_helper": false,
|
||||
"has_imstr_helper": false,
|
||||
"is_unformatted_helper": false,
|
||||
"is_static": false,
|
||||
"is_internal": false,
|
||||
"source_location": {
|
||||
"filename": "imgui_impl_sdlgpu3.h",
|
||||
"line": 45
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "cImGui_ImplSDLGPU3_RenderDrawData",
|
||||
"original_fully_qualified_name": "ImGui_ImplSDLGPU3_RenderDrawData",
|
||||
"return_type": {
|
||||
"declaration": "void",
|
||||
"description": {
|
||||
"kind": "Builtin",
|
||||
"builtin_type": "void"
|
||||
}
|
||||
},
|
||||
"arguments": [
|
||||
{
|
||||
"name": "draw_data",
|
||||
"type": {
|
||||
"declaration": "ImDrawData*",
|
||||
"description": {
|
||||
"kind": "Pointer",
|
||||
"inner_type": {
|
||||
"kind": "User",
|
||||
"name": "ImDrawData"
|
||||
}
|
||||
}
|
||||
},
|
||||
"is_array": false,
|
||||
"is_varargs": false,
|
||||
"is_instance_pointer": false
|
||||
},
|
||||
{
|
||||
"name": "command_buffer",
|
||||
"type": {
|
||||
"declaration": "SDL_GPUCommandBuffer*",
|
||||
"description": {
|
||||
"kind": "Pointer",
|
||||
"inner_type": {
|
||||
"kind": "User",
|
||||
"name": "SDL_GPUCommandBuffer"
|
||||
}
|
||||
}
|
||||
},
|
||||
"is_array": false,
|
||||
"is_varargs": false,
|
||||
"is_instance_pointer": false
|
||||
},
|
||||
{
|
||||
"name": "render_pass",
|
||||
"type": {
|
||||
"declaration": "SDL_GPURenderPass*",
|
||||
"description": {
|
||||
"kind": "Pointer",
|
||||
"inner_type": {
|
||||
"kind": "User",
|
||||
"name": "SDL_GPURenderPass"
|
||||
}
|
||||
}
|
||||
},
|
||||
"is_array": false,
|
||||
"is_varargs": false,
|
||||
"is_instance_pointer": false
|
||||
}
|
||||
],
|
||||
"is_default_argument_helper": true,
|
||||
"is_manual_helper": false,
|
||||
"is_imstr_helper": false,
|
||||
"has_imstr_helper": false,
|
||||
"is_unformatted_helper": false,
|
||||
"is_static": false,
|
||||
"comments": {
|
||||
"attached": "// Implied pipeline = nullptr"
|
||||
},
|
||||
"is_internal": false,
|
||||
"source_location": {
|
||||
"filename": "imgui_impl_sdlgpu3.h",
|
||||
"line": 46
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "cImGui_ImplSDLGPU3_RenderDrawDataEx",
|
||||
"original_fully_qualified_name": "ImGui_ImplSDLGPU3_RenderDrawData",
|
||||
"return_type": {
|
||||
"declaration": "void",
|
||||
"description": {
|
||||
"kind": "Builtin",
|
||||
"builtin_type": "void"
|
||||
}
|
||||
},
|
||||
"arguments": [
|
||||
{
|
||||
"name": "draw_data",
|
||||
"type": {
|
||||
"declaration": "ImDrawData*",
|
||||
"description": {
|
||||
"kind": "Pointer",
|
||||
"inner_type": {
|
||||
"kind": "User",
|
||||
"name": "ImDrawData"
|
||||
}
|
||||
}
|
||||
},
|
||||
"is_array": false,
|
||||
"is_varargs": false,
|
||||
"is_instance_pointer": false
|
||||
},
|
||||
{
|
||||
"name": "command_buffer",
|
||||
"type": {
|
||||
"declaration": "SDL_GPUCommandBuffer*",
|
||||
"description": {
|
||||
"kind": "Pointer",
|
||||
"inner_type": {
|
||||
"kind": "User",
|
||||
"name": "SDL_GPUCommandBuffer"
|
||||
}
|
||||
}
|
||||
},
|
||||
"is_array": false,
|
||||
"is_varargs": false,
|
||||
"is_instance_pointer": false
|
||||
},
|
||||
{
|
||||
"name": "render_pass",
|
||||
"type": {
|
||||
"declaration": "SDL_GPURenderPass*",
|
||||
"description": {
|
||||
"kind": "Pointer",
|
||||
"inner_type": {
|
||||
"kind": "User",
|
||||
"name": "SDL_GPURenderPass"
|
||||
}
|
||||
}
|
||||
},
|
||||
"is_array": false,
|
||||
"is_varargs": false,
|
||||
"is_instance_pointer": false
|
||||
},
|
||||
{
|
||||
"name": "pipeline",
|
||||
"type": {
|
||||
"declaration": "SDL_GPUGraphicsPipeline*",
|
||||
"description": {
|
||||
"kind": "Pointer",
|
||||
"inner_type": {
|
||||
"kind": "User",
|
||||
"name": "SDL_GPUGraphicsPipeline"
|
||||
}
|
||||
}
|
||||
},
|
||||
"is_array": false,
|
||||
"is_varargs": false,
|
||||
"default_value": "nullptr",
|
||||
"is_instance_pointer": false
|
||||
}
|
||||
],
|
||||
"is_default_argument_helper": false,
|
||||
"is_manual_helper": false,
|
||||
"is_imstr_helper": false,
|
||||
"has_imstr_helper": false,
|
||||
"is_unformatted_helper": false,
|
||||
"is_static": false,
|
||||
"is_internal": false,
|
||||
"source_location": {
|
||||
"filename": "imgui_impl_sdlgpu3.h",
|
||||
"line": 46
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "cImGui_ImplSDLGPU3_CreateDeviceObjects",
|
||||
"original_fully_qualified_name": "ImGui_ImplSDLGPU3_CreateDeviceObjects",
|
||||
"return_type": {
|
||||
"declaration": "void",
|
||||
"description": {
|
||||
"kind": "Builtin",
|
||||
"builtin_type": "void"
|
||||
}
|
||||
},
|
||||
"arguments": [],
|
||||
"is_default_argument_helper": false,
|
||||
"is_manual_helper": false,
|
||||
"is_imstr_helper": false,
|
||||
"has_imstr_helper": false,
|
||||
"is_unformatted_helper": false,
|
||||
"is_static": false,
|
||||
"comments": {
|
||||
"preceding": [
|
||||
"// Use if you want to reset your rendering device without losing Dear ImGui state."
|
||||
]
|
||||
},
|
||||
"is_internal": false,
|
||||
"source_location": {
|
||||
"filename": "imgui_impl_sdlgpu3.h",
|
||||
"line": 49
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "cImGui_ImplSDLGPU3_DestroyDeviceObjects",
|
||||
"original_fully_qualified_name": "ImGui_ImplSDLGPU3_DestroyDeviceObjects",
|
||||
"return_type": {
|
||||
"declaration": "void",
|
||||
"description": {
|
||||
"kind": "Builtin",
|
||||
"builtin_type": "void"
|
||||
}
|
||||
},
|
||||
"arguments": [],
|
||||
"is_default_argument_helper": false,
|
||||
"is_manual_helper": false,
|
||||
"is_imstr_helper": false,
|
||||
"has_imstr_helper": false,
|
||||
"is_unformatted_helper": false,
|
||||
"is_static": false,
|
||||
"is_internal": false,
|
||||
"source_location": {
|
||||
"filename": "imgui_impl_sdlgpu3.h",
|
||||
"line": 50
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "cImGui_ImplSDLGPU3_UpdateTexture",
|
||||
"original_fully_qualified_name": "ImGui_ImplSDLGPU3_UpdateTexture",
|
||||
"return_type": {
|
||||
"declaration": "void",
|
||||
"description": {
|
||||
"kind": "Builtin",
|
||||
"builtin_type": "void"
|
||||
}
|
||||
},
|
||||
"arguments": [
|
||||
{
|
||||
"name": "tex",
|
||||
"type": {
|
||||
"declaration": "ImTextureData*",
|
||||
"description": {
|
||||
"kind": "Pointer",
|
||||
"inner_type": {
|
||||
"kind": "User",
|
||||
"name": "ImTextureData"
|
||||
}
|
||||
}
|
||||
},
|
||||
"is_array": false,
|
||||
"is_varargs": false,
|
||||
"is_instance_pointer": false
|
||||
}
|
||||
],
|
||||
"is_default_argument_helper": false,
|
||||
"is_manual_helper": false,
|
||||
"is_imstr_helper": false,
|
||||
"has_imstr_helper": false,
|
||||
"is_unformatted_helper": false,
|
||||
"is_static": false,
|
||||
"comments": {
|
||||
"preceding": [
|
||||
"// (Advanced) Use e.g. if you need to precisely control the timing of texture updates (e.g. for staged rendering), by setting ImDrawData::Textures = nullptr to handle this manually."
|
||||
]
|
||||
},
|
||||
"is_internal": false,
|
||||
"source_location": {
|
||||
"filename": "imgui_impl_sdlgpu3.h",
|
||||
"line": 53
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,7 @@
|
||||
{
|
||||
"defines": [],
|
||||
"enums": [],
|
||||
"typedefs": [],
|
||||
"structs": [],
|
||||
"functions": []
|
||||
}
|
||||
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,133 @@
|
||||
// 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_sdlrenderer2.h"
|
||||
|
||||
#include <stdio.h>
|
||||
|
||||
// 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_sdlrenderer2.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_ImplSDLRenderer2_Init(cimgui::SDL_Renderer* renderer)
|
||||
{
|
||||
return ::ImGui_ImplSDLRenderer2_Init(reinterpret_cast<::SDL_Renderer*>(renderer));
|
||||
}
|
||||
|
||||
CIMGUI_IMPL_API void cimgui::cImGui_ImplSDLRenderer2_Shutdown(void)
|
||||
{
|
||||
::ImGui_ImplSDLRenderer2_Shutdown();
|
||||
}
|
||||
|
||||
CIMGUI_IMPL_API void cimgui::cImGui_ImplSDLRenderer2_NewFrame(void)
|
||||
{
|
||||
::ImGui_ImplSDLRenderer2_NewFrame();
|
||||
}
|
||||
|
||||
CIMGUI_IMPL_API void cimgui::cImGui_ImplSDLRenderer2_RenderDrawData(cimgui::ImDrawData* draw_data, cimgui::SDL_Renderer* renderer)
|
||||
{
|
||||
::ImGui_ImplSDLRenderer2_RenderDrawData(reinterpret_cast<::ImDrawData*>(draw_data), reinterpret_cast<::SDL_Renderer*>(renderer));
|
||||
}
|
||||
|
||||
CIMGUI_IMPL_API void cimgui::cImGui_ImplSDLRenderer2_CreateDeviceObjects(void)
|
||||
{
|
||||
::ImGui_ImplSDLRenderer2_CreateDeviceObjects();
|
||||
}
|
||||
|
||||
CIMGUI_IMPL_API void cimgui::cImGui_ImplSDLRenderer2_DestroyDeviceObjects(void)
|
||||
{
|
||||
::ImGui_ImplSDLRenderer2_DestroyDeviceObjects();
|
||||
}
|
||||
|
||||
CIMGUI_IMPL_API void cimgui::cImGui_ImplSDLRenderer2_UpdateTexture(cimgui::ImTextureData* tex)
|
||||
{
|
||||
::ImGui_ImplSDLRenderer2_UpdateTexture(reinterpret_cast<::ImTextureData*>(tex));
|
||||
}
|
||||
|
||||
#endif // #ifndef IMGUI_DISABLE
|
||||
@@ -0,0 +1,74 @@
|
||||
// THIS FILE HAS BEEN AUTO-GENERATED BY THE 'DEAR BINDINGS' GENERATOR.
|
||||
// **DO NOT EDIT DIRECTLY**
|
||||
// https://github.com/dearimgui/dear_bindings
|
||||
|
||||
// dear imgui: Renderer Backend for SDL_Renderer for SDL2
|
||||
// Auto-generated forward declarations for C header
|
||||
typedef struct ImGui_ImplSDLRenderer2_RenderState_t ImGui_ImplSDLRenderer2_RenderState;
|
||||
// ImDrawIdx: vertex index. [Compile-time configurable type]
|
||||
// - To use 16-bit indices + allow large meshes: backend need to set 'io.BackendFlags |= ImGuiBackendFlags_RendererHasVtxOffset' and handle ImDrawCmd::VtxOffset (recommended).
|
||||
// - To use 32-bit indices: override with '#define ImDrawIdx unsigned int' in your imconfig.h file.
|
||||
#ifndef ImDrawIdx
|
||||
typedef unsigned short ImDrawIdx; // Default: 16-bit (for maximum compatibility with renderer backends)
|
||||
#endif // #ifndef ImDrawIdx
|
||||
// (Requires: SDL 2.0.17+)
|
||||
|
||||
// Note that SDL_Renderer is an _optional_ component of SDL2, which IMHO is now largely obsolete.
|
||||
// For a multi-platform app consider using other technologies:
|
||||
// - SDL3+SDL_GPU: SDL_GPU is SDL3 new graphics abstraction API. You will need to update to SDL3.
|
||||
// - SDL2+DirectX, SDL2+OpenGL, SDL2+Vulkan: combine SDL with dedicated renderers.
|
||||
// If your application wants to render any non trivial amount of graphics other than UI,
|
||||
// please be aware that SDL_Renderer currently offers a limited graphic API to the end-user
|
||||
// and it might be difficult to step out of those boundaries.
|
||||
|
||||
// Implemented features:
|
||||
// [X] Renderer: User texture binding. Use 'SDL_Texture*' as texture identifier. Read the FAQ about ImTextureID/ImTextureRef!
|
||||
// [X] Renderer: Large meshes support (64k+ vertices) even with 16-bit indices (ImGuiBackendFlags_RendererHasVtxOffset).
|
||||
// [X] Renderer: Texture updates support for dynamic font atlas (ImGuiBackendFlags_RendererHasTextures).
|
||||
// [X] Renderer: Expose selected render state for draw callbacks to use. Access in '(ImGui_ImplXXXX_RenderState*)GetPlatformIO().Renderer_RenderState'.
|
||||
// Missing features:
|
||||
// [ ] Renderer: Multi-viewport support (multiple windows).
|
||||
|
||||
// You can use unmodified imgui_impl_* files in your project. See examples/ folder for examples of using this.
|
||||
// Prefer including the entire imgui/ repository into your project (either as a copy or as a submodule), and only build the backends you need.
|
||||
// Learn about Dear ImGui:
|
||||
// - FAQ https://dearimgui.com/faq
|
||||
// - Getting Started https://dearimgui.com/getting-started
|
||||
// - Documentation https://dearimgui.com/docs (same as your local docs/ folder).
|
||||
// - Introduction, links and more at the top of imgui.cpp
|
||||
|
||||
#pragma once
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C"
|
||||
{
|
||||
#endif
|
||||
#ifndef IMGUI_DISABLE
|
||||
#include "dcimgui.h"
|
||||
typedef struct SDL_Renderer SDL_Renderer;
|
||||
|
||||
typedef struct ImDrawData_t ImDrawData;
|
||||
// Follow "Getting Started" link and check examples/ folder to learn about using backends!
|
||||
CIMGUI_IMPL_API bool cImGui_ImplSDLRenderer2_Init(SDL_Renderer* renderer);
|
||||
CIMGUI_IMPL_API void cImGui_ImplSDLRenderer2_Shutdown(void);
|
||||
CIMGUI_IMPL_API void cImGui_ImplSDLRenderer2_NewFrame(void);
|
||||
CIMGUI_IMPL_API void cImGui_ImplSDLRenderer2_RenderDrawData(ImDrawData* draw_data, SDL_Renderer* renderer);
|
||||
|
||||
// Called by Init/NewFrame/Shutdown
|
||||
CIMGUI_IMPL_API void cImGui_ImplSDLRenderer2_CreateDeviceObjects(void);
|
||||
CIMGUI_IMPL_API void cImGui_ImplSDLRenderer2_DestroyDeviceObjects(void);
|
||||
|
||||
// (Advanced) Use e.g. if you need to precisely control the timing of texture updates (e.g. for staged rendering), by setting ImDrawData::Textures = nullptr to handle this manually.
|
||||
CIMGUI_IMPL_API void cImGui_ImplSDLRenderer2_UpdateTexture(ImTextureData* tex);
|
||||
|
||||
// [BETA] Selected render state data shared with callbacks.
|
||||
// This is temporarily stored in GetPlatformIO().Renderer_RenderState during the ImGui_ImplSDLRenderer2_RenderDrawData() call.
|
||||
// (Please open an issue if you feel you need access to more data)
|
||||
struct ImGui_ImplSDLRenderer2_RenderState_t
|
||||
{
|
||||
SDL_Renderer* Renderer;
|
||||
};
|
||||
#endif// #ifndef IMGUI_DISABLE
|
||||
#ifdef __cplusplus
|
||||
} // End of extern "C" block
|
||||
#endif
|
||||
@@ -0,0 +1,346 @@
|
||||
{
|
||||
"defines": [],
|
||||
"enums": [],
|
||||
"typedefs": [
|
||||
{
|
||||
"name": "ImDrawIdx",
|
||||
"type": {
|
||||
"declaration": "unsigned short",
|
||||
"description": {
|
||||
"kind": "Builtin",
|
||||
"builtin_type": "unsigned_short"
|
||||
}
|
||||
},
|
||||
"comments": {
|
||||
"attached": "// Default: 16-bit (for maximum compatibility with renderer backends)"
|
||||
},
|
||||
"conditionals": [
|
||||
{
|
||||
"condition": "ifndef",
|
||||
"expression": "ImDrawIdx"
|
||||
}
|
||||
],
|
||||
"is_internal": false,
|
||||
"source_location": {
|
||||
"filename": "imgui_impl_sdlrenderer2.h"
|
||||
}
|
||||
}
|
||||
],
|
||||
"structs": [
|
||||
{
|
||||
"name": "SDL_Renderer",
|
||||
"original_fully_qualified_name": "SDL_Renderer",
|
||||
"kind": "struct",
|
||||
"by_value": false,
|
||||
"forward_declaration": true,
|
||||
"is_anonymous": false,
|
||||
"fields": [],
|
||||
"is_internal": false,
|
||||
"source_location": {
|
||||
"filename": "imgui_impl_sdlrenderer2.h",
|
||||
"line": 32
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "ImDrawData",
|
||||
"original_fully_qualified_name": "ImDrawData",
|
||||
"kind": "struct",
|
||||
"by_value": false,
|
||||
"forward_declaration": true,
|
||||
"is_anonymous": false,
|
||||
"fields": [],
|
||||
"is_internal": false,
|
||||
"source_location": {
|
||||
"filename": "imgui_impl_sdlrenderer2.h",
|
||||
"line": 1
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "ImGui_ImplSDLRenderer2_RenderState",
|
||||
"original_fully_qualified_name": "ImGui_ImplSDLRenderer2_RenderState",
|
||||
"kind": "struct",
|
||||
"by_value": false,
|
||||
"forward_declaration": false,
|
||||
"is_anonymous": false,
|
||||
"fields": [
|
||||
{
|
||||
"name": "Renderer",
|
||||
"is_array": false,
|
||||
"is_anonymous": false,
|
||||
"type": {
|
||||
"declaration": "SDL_Renderer*",
|
||||
"description": {
|
||||
"kind": "Pointer",
|
||||
"inner_type": {
|
||||
"kind": "User",
|
||||
"name": "SDL_Renderer"
|
||||
}
|
||||
}
|
||||
},
|
||||
"is_internal": false,
|
||||
"source_location": {
|
||||
"filename": "imgui_impl_sdlrenderer2.h",
|
||||
"line": 52
|
||||
}
|
||||
}
|
||||
],
|
||||
"comments": {
|
||||
"preceding": [
|
||||
"// [BETA] Selected render state data shared with callbacks.",
|
||||
"// This is temporarily stored in GetPlatformIO().Renderer_RenderState during the ImGui_ImplSDLRenderer2_RenderDrawData() call.",
|
||||
"// (Please open an issue if you feel you need access to more data)"
|
||||
]
|
||||
},
|
||||
"is_internal": false,
|
||||
"source_location": {
|
||||
"filename": "imgui_impl_sdlrenderer2.h",
|
||||
"line": 50
|
||||
}
|
||||
}
|
||||
],
|
||||
"functions": [
|
||||
{
|
||||
"name": "cImGui_ImplSDLRenderer2_Init",
|
||||
"original_fully_qualified_name": "ImGui_ImplSDLRenderer2_Init",
|
||||
"return_type": {
|
||||
"declaration": "bool",
|
||||
"description": {
|
||||
"kind": "Builtin",
|
||||
"builtin_type": "bool"
|
||||
}
|
||||
},
|
||||
"arguments": [
|
||||
{
|
||||
"name": "renderer",
|
||||
"type": {
|
||||
"declaration": "SDL_Renderer*",
|
||||
"description": {
|
||||
"kind": "Pointer",
|
||||
"inner_type": {
|
||||
"kind": "User",
|
||||
"name": "SDL_Renderer"
|
||||
}
|
||||
}
|
||||
},
|
||||
"is_array": false,
|
||||
"is_varargs": false,
|
||||
"is_instance_pointer": false
|
||||
}
|
||||
],
|
||||
"is_default_argument_helper": false,
|
||||
"is_manual_helper": false,
|
||||
"is_imstr_helper": false,
|
||||
"has_imstr_helper": false,
|
||||
"is_unformatted_helper": false,
|
||||
"is_static": false,
|
||||
"comments": {
|
||||
"preceding": [
|
||||
"// Follow \"Getting Started\" link and check examples/ folder to learn about using backends!"
|
||||
]
|
||||
},
|
||||
"is_internal": false,
|
||||
"source_location": {
|
||||
"filename": "imgui_impl_sdlrenderer2.h",
|
||||
"line": 35
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "cImGui_ImplSDLRenderer2_Shutdown",
|
||||
"original_fully_qualified_name": "ImGui_ImplSDLRenderer2_Shutdown",
|
||||
"return_type": {
|
||||
"declaration": "void",
|
||||
"description": {
|
||||
"kind": "Builtin",
|
||||
"builtin_type": "void"
|
||||
}
|
||||
},
|
||||
"arguments": [],
|
||||
"is_default_argument_helper": false,
|
||||
"is_manual_helper": false,
|
||||
"is_imstr_helper": false,
|
||||
"has_imstr_helper": false,
|
||||
"is_unformatted_helper": false,
|
||||
"is_static": false,
|
||||
"is_internal": false,
|
||||
"source_location": {
|
||||
"filename": "imgui_impl_sdlrenderer2.h",
|
||||
"line": 36
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "cImGui_ImplSDLRenderer2_NewFrame",
|
||||
"original_fully_qualified_name": "ImGui_ImplSDLRenderer2_NewFrame",
|
||||
"return_type": {
|
||||
"declaration": "void",
|
||||
"description": {
|
||||
"kind": "Builtin",
|
||||
"builtin_type": "void"
|
||||
}
|
||||
},
|
||||
"arguments": [],
|
||||
"is_default_argument_helper": false,
|
||||
"is_manual_helper": false,
|
||||
"is_imstr_helper": false,
|
||||
"has_imstr_helper": false,
|
||||
"is_unformatted_helper": false,
|
||||
"is_static": false,
|
||||
"is_internal": false,
|
||||
"source_location": {
|
||||
"filename": "imgui_impl_sdlrenderer2.h",
|
||||
"line": 37
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "cImGui_ImplSDLRenderer2_RenderDrawData",
|
||||
"original_fully_qualified_name": "ImGui_ImplSDLRenderer2_RenderDrawData",
|
||||
"return_type": {
|
||||
"declaration": "void",
|
||||
"description": {
|
||||
"kind": "Builtin",
|
||||
"builtin_type": "void"
|
||||
}
|
||||
},
|
||||
"arguments": [
|
||||
{
|
||||
"name": "draw_data",
|
||||
"type": {
|
||||
"declaration": "ImDrawData*",
|
||||
"description": {
|
||||
"kind": "Pointer",
|
||||
"inner_type": {
|
||||
"kind": "User",
|
||||
"name": "ImDrawData"
|
||||
}
|
||||
}
|
||||
},
|
||||
"is_array": false,
|
||||
"is_varargs": false,
|
||||
"is_instance_pointer": false
|
||||
},
|
||||
{
|
||||
"name": "renderer",
|
||||
"type": {
|
||||
"declaration": "SDL_Renderer*",
|
||||
"description": {
|
||||
"kind": "Pointer",
|
||||
"inner_type": {
|
||||
"kind": "User",
|
||||
"name": "SDL_Renderer"
|
||||
}
|
||||
}
|
||||
},
|
||||
"is_array": false,
|
||||
"is_varargs": false,
|
||||
"is_instance_pointer": false
|
||||
}
|
||||
],
|
||||
"is_default_argument_helper": false,
|
||||
"is_manual_helper": false,
|
||||
"is_imstr_helper": false,
|
||||
"has_imstr_helper": false,
|
||||
"is_unformatted_helper": false,
|
||||
"is_static": false,
|
||||
"is_internal": false,
|
||||
"source_location": {
|
||||
"filename": "imgui_impl_sdlrenderer2.h",
|
||||
"line": 38
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "cImGui_ImplSDLRenderer2_CreateDeviceObjects",
|
||||
"original_fully_qualified_name": "ImGui_ImplSDLRenderer2_CreateDeviceObjects",
|
||||
"return_type": {
|
||||
"declaration": "void",
|
||||
"description": {
|
||||
"kind": "Builtin",
|
||||
"builtin_type": "void"
|
||||
}
|
||||
},
|
||||
"arguments": [],
|
||||
"is_default_argument_helper": false,
|
||||
"is_manual_helper": false,
|
||||
"is_imstr_helper": false,
|
||||
"has_imstr_helper": false,
|
||||
"is_unformatted_helper": false,
|
||||
"is_static": false,
|
||||
"comments": {
|
||||
"preceding": [
|
||||
"// Called by Init/NewFrame/Shutdown"
|
||||
]
|
||||
},
|
||||
"is_internal": false,
|
||||
"source_location": {
|
||||
"filename": "imgui_impl_sdlrenderer2.h",
|
||||
"line": 41
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "cImGui_ImplSDLRenderer2_DestroyDeviceObjects",
|
||||
"original_fully_qualified_name": "ImGui_ImplSDLRenderer2_DestroyDeviceObjects",
|
||||
"return_type": {
|
||||
"declaration": "void",
|
||||
"description": {
|
||||
"kind": "Builtin",
|
||||
"builtin_type": "void"
|
||||
}
|
||||
},
|
||||
"arguments": [],
|
||||
"is_default_argument_helper": false,
|
||||
"is_manual_helper": false,
|
||||
"is_imstr_helper": false,
|
||||
"has_imstr_helper": false,
|
||||
"is_unformatted_helper": false,
|
||||
"is_static": false,
|
||||
"is_internal": false,
|
||||
"source_location": {
|
||||
"filename": "imgui_impl_sdlrenderer2.h",
|
||||
"line": 42
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "cImGui_ImplSDLRenderer2_UpdateTexture",
|
||||
"original_fully_qualified_name": "ImGui_ImplSDLRenderer2_UpdateTexture",
|
||||
"return_type": {
|
||||
"declaration": "void",
|
||||
"description": {
|
||||
"kind": "Builtin",
|
||||
"builtin_type": "void"
|
||||
}
|
||||
},
|
||||
"arguments": [
|
||||
{
|
||||
"name": "tex",
|
||||
"type": {
|
||||
"declaration": "ImTextureData*",
|
||||
"description": {
|
||||
"kind": "Pointer",
|
||||
"inner_type": {
|
||||
"kind": "User",
|
||||
"name": "ImTextureData"
|
||||
}
|
||||
}
|
||||
},
|
||||
"is_array": false,
|
||||
"is_varargs": false,
|
||||
"is_instance_pointer": false
|
||||
}
|
||||
],
|
||||
"is_default_argument_helper": false,
|
||||
"is_manual_helper": false,
|
||||
"is_imstr_helper": false,
|
||||
"has_imstr_helper": false,
|
||||
"is_unformatted_helper": false,
|
||||
"is_static": false,
|
||||
"comments": {
|
||||
"preceding": [
|
||||
"// (Advanced) Use e.g. if you need to precisely control the timing of texture updates (e.g. for staged rendering), by setting ImDrawData::Textures = nullptr to handle this manually."
|
||||
]
|
||||
},
|
||||
"is_internal": false,
|
||||
"source_location": {
|
||||
"filename": "imgui_impl_sdlrenderer2.h",
|
||||
"line": 45
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,7 @@
|
||||
{
|
||||
"defines": [],
|
||||
"enums": [],
|
||||
"typedefs": [],
|
||||
"structs": [],
|
||||
"functions": []
|
||||
}
|
||||
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,133 @@
|
||||
// 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_sdlrenderer3.h"
|
||||
|
||||
#include <stdio.h>
|
||||
|
||||
// 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_sdlrenderer3.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_ImplSDLRenderer3_Init(cimgui::SDL_Renderer* renderer)
|
||||
{
|
||||
return ::ImGui_ImplSDLRenderer3_Init(reinterpret_cast<::SDL_Renderer*>(renderer));
|
||||
}
|
||||
|
||||
CIMGUI_IMPL_API void cimgui::cImGui_ImplSDLRenderer3_Shutdown(void)
|
||||
{
|
||||
::ImGui_ImplSDLRenderer3_Shutdown();
|
||||
}
|
||||
|
||||
CIMGUI_IMPL_API void cimgui::cImGui_ImplSDLRenderer3_NewFrame(void)
|
||||
{
|
||||
::ImGui_ImplSDLRenderer3_NewFrame();
|
||||
}
|
||||
|
||||
CIMGUI_IMPL_API void cimgui::cImGui_ImplSDLRenderer3_RenderDrawData(cimgui::ImDrawData* draw_data, cimgui::SDL_Renderer* renderer)
|
||||
{
|
||||
::ImGui_ImplSDLRenderer3_RenderDrawData(reinterpret_cast<::ImDrawData*>(draw_data), reinterpret_cast<::SDL_Renderer*>(renderer));
|
||||
}
|
||||
|
||||
CIMGUI_IMPL_API void cimgui::cImGui_ImplSDLRenderer3_CreateDeviceObjects(void)
|
||||
{
|
||||
::ImGui_ImplSDLRenderer3_CreateDeviceObjects();
|
||||
}
|
||||
|
||||
CIMGUI_IMPL_API void cimgui::cImGui_ImplSDLRenderer3_DestroyDeviceObjects(void)
|
||||
{
|
||||
::ImGui_ImplSDLRenderer3_DestroyDeviceObjects();
|
||||
}
|
||||
|
||||
CIMGUI_IMPL_API void cimgui::cImGui_ImplSDLRenderer3_UpdateTexture(cimgui::ImTextureData* tex)
|
||||
{
|
||||
::ImGui_ImplSDLRenderer3_UpdateTexture(reinterpret_cast<::ImTextureData*>(tex));
|
||||
}
|
||||
|
||||
#endif // #ifndef IMGUI_DISABLE
|
||||
@@ -0,0 +1,74 @@
|
||||
// THIS FILE HAS BEEN AUTO-GENERATED BY THE 'DEAR BINDINGS' GENERATOR.
|
||||
// **DO NOT EDIT DIRECTLY**
|
||||
// https://github.com/dearimgui/dear_bindings
|
||||
|
||||
// dear imgui: Renderer Backend for SDL_Renderer for SDL3
|
||||
// Auto-generated forward declarations for C header
|
||||
typedef struct ImGui_ImplSDLRenderer3_RenderState_t ImGui_ImplSDLRenderer3_RenderState;
|
||||
// ImDrawIdx: vertex index. [Compile-time configurable type]
|
||||
// - To use 16-bit indices + allow large meshes: backend need to set 'io.BackendFlags |= ImGuiBackendFlags_RendererHasVtxOffset' and handle ImDrawCmd::VtxOffset (recommended).
|
||||
// - To use 32-bit indices: override with '#define ImDrawIdx unsigned int' in your imconfig.h file.
|
||||
#ifndef ImDrawIdx
|
||||
typedef unsigned short ImDrawIdx; // Default: 16-bit (for maximum compatibility with renderer backends)
|
||||
#endif // #ifndef ImDrawIdx
|
||||
// (Requires: SDL 3.1.8+)
|
||||
|
||||
// Note that SDL_Renderer is an _optional_ component of SDL3, which IMHO is now largely obsolete.
|
||||
// For a multi-platform app consider using other technologies:
|
||||
// - SDL3+SDL_GPU: SDL_GPU is SDL3 new graphics abstraction API.
|
||||
// - SDL3+DirectX, SDL3+OpenGL, SDL3+Vulkan: combine SDL with dedicated renderers.
|
||||
// If your application wants to render any non trivial amount of graphics other than UI,
|
||||
// please be aware that SDL_Renderer currently offers a limited graphic API to the end-user
|
||||
// and it might be difficult to step out of those boundaries.
|
||||
|
||||
// Implemented features:
|
||||
// [X] Renderer: User texture binding. Use 'SDL_Texture*' as texture identifier. Read the FAQ about ImTextureID/ImTextureRef!
|
||||
// [X] Renderer: Large meshes support (64k+ vertices) even with 16-bit indices (ImGuiBackendFlags_RendererHasVtxOffset).
|
||||
// [X] Renderer: Texture updates support for dynamic font atlas (ImGuiBackendFlags_RendererHasTextures).
|
||||
// [X] Renderer: Expose selected render state for draw callbacks to use. Access in '(ImGui_ImplXXXX_RenderState*)GetPlatformIO().Renderer_RenderState'.
|
||||
// Missing features:
|
||||
// [ ] Renderer: Multi-viewport support (multiple windows).
|
||||
|
||||
// You can copy and use unmodified imgui_impl_* files in your project. See examples/ folder for examples of using this.
|
||||
// Prefer including the entire imgui/ repository into your project (either as a copy or as a submodule), and only build the backends you need.
|
||||
// Learn about Dear ImGui:
|
||||
// - FAQ https://dearimgui.com/faq
|
||||
// - Getting Started https://dearimgui.com/getting-started
|
||||
// - Documentation https://dearimgui.com/docs (same as your local docs/ folder).
|
||||
// - Introduction, links and more at the top of imgui.cpp
|
||||
|
||||
#pragma once
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C"
|
||||
{
|
||||
#endif
|
||||
#include "dcimgui.h"
|
||||
#ifndef IMGUI_DISABLE
|
||||
typedef struct SDL_Renderer SDL_Renderer;
|
||||
|
||||
typedef struct ImDrawData_t ImDrawData;
|
||||
// Follow "Getting Started" link and check examples/ folder to learn about using backends!
|
||||
CIMGUI_IMPL_API bool cImGui_ImplSDLRenderer3_Init(SDL_Renderer* renderer);
|
||||
CIMGUI_IMPL_API void cImGui_ImplSDLRenderer3_Shutdown(void);
|
||||
CIMGUI_IMPL_API void cImGui_ImplSDLRenderer3_NewFrame(void);
|
||||
CIMGUI_IMPL_API void cImGui_ImplSDLRenderer3_RenderDrawData(ImDrawData* draw_data, SDL_Renderer* renderer);
|
||||
|
||||
// Called by Init/NewFrame/Shutdown
|
||||
CIMGUI_IMPL_API void cImGui_ImplSDLRenderer3_CreateDeviceObjects(void);
|
||||
CIMGUI_IMPL_API void cImGui_ImplSDLRenderer3_DestroyDeviceObjects(void);
|
||||
|
||||
// (Advanced) Use e.g. if you need to precisely control the timing of texture updates (e.g. for staged rendering), by setting ImDrawData::Textures = nullptr to handle this manually.
|
||||
CIMGUI_IMPL_API void cImGui_ImplSDLRenderer3_UpdateTexture(ImTextureData* tex);
|
||||
|
||||
// [BETA] Selected render state data shared with callbacks.
|
||||
// This is temporarily stored in GetPlatformIO().Renderer_RenderState during the ImGui_ImplSDLRenderer3_RenderDrawData() call.
|
||||
// (Please open an issue if you feel you need access to more data)
|
||||
struct ImGui_ImplSDLRenderer3_RenderState_t
|
||||
{
|
||||
SDL_Renderer* Renderer;
|
||||
};
|
||||
#endif// #ifndef IMGUI_DISABLE
|
||||
#ifdef __cplusplus
|
||||
} // End of extern "C" block
|
||||
#endif
|
||||
@@ -0,0 +1,346 @@
|
||||
{
|
||||
"defines": [],
|
||||
"enums": [],
|
||||
"typedefs": [
|
||||
{
|
||||
"name": "ImDrawIdx",
|
||||
"type": {
|
||||
"declaration": "unsigned short",
|
||||
"description": {
|
||||
"kind": "Builtin",
|
||||
"builtin_type": "unsigned_short"
|
||||
}
|
||||
},
|
||||
"comments": {
|
||||
"attached": "// Default: 16-bit (for maximum compatibility with renderer backends)"
|
||||
},
|
||||
"conditionals": [
|
||||
{
|
||||
"condition": "ifndef",
|
||||
"expression": "ImDrawIdx"
|
||||
}
|
||||
],
|
||||
"is_internal": false,
|
||||
"source_location": {
|
||||
"filename": "imgui_impl_sdlrenderer3.h"
|
||||
}
|
||||
}
|
||||
],
|
||||
"structs": [
|
||||
{
|
||||
"name": "SDL_Renderer",
|
||||
"original_fully_qualified_name": "SDL_Renderer",
|
||||
"kind": "struct",
|
||||
"by_value": false,
|
||||
"forward_declaration": true,
|
||||
"is_anonymous": false,
|
||||
"fields": [],
|
||||
"is_internal": false,
|
||||
"source_location": {
|
||||
"filename": "imgui_impl_sdlrenderer3.h",
|
||||
"line": 32
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "ImDrawData",
|
||||
"original_fully_qualified_name": "ImDrawData",
|
||||
"kind": "struct",
|
||||
"by_value": false,
|
||||
"forward_declaration": true,
|
||||
"is_anonymous": false,
|
||||
"fields": [],
|
||||
"is_internal": false,
|
||||
"source_location": {
|
||||
"filename": "imgui_impl_sdlrenderer3.h",
|
||||
"line": 1
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "ImGui_ImplSDLRenderer3_RenderState",
|
||||
"original_fully_qualified_name": "ImGui_ImplSDLRenderer3_RenderState",
|
||||
"kind": "struct",
|
||||
"by_value": false,
|
||||
"forward_declaration": false,
|
||||
"is_anonymous": false,
|
||||
"fields": [
|
||||
{
|
||||
"name": "Renderer",
|
||||
"is_array": false,
|
||||
"is_anonymous": false,
|
||||
"type": {
|
||||
"declaration": "SDL_Renderer*",
|
||||
"description": {
|
||||
"kind": "Pointer",
|
||||
"inner_type": {
|
||||
"kind": "User",
|
||||
"name": "SDL_Renderer"
|
||||
}
|
||||
}
|
||||
},
|
||||
"is_internal": false,
|
||||
"source_location": {
|
||||
"filename": "imgui_impl_sdlrenderer3.h",
|
||||
"line": 52
|
||||
}
|
||||
}
|
||||
],
|
||||
"comments": {
|
||||
"preceding": [
|
||||
"// [BETA] Selected render state data shared with callbacks.",
|
||||
"// This is temporarily stored in GetPlatformIO().Renderer_RenderState during the ImGui_ImplSDLRenderer3_RenderDrawData() call.",
|
||||
"// (Please open an issue if you feel you need access to more data)"
|
||||
]
|
||||
},
|
||||
"is_internal": false,
|
||||
"source_location": {
|
||||
"filename": "imgui_impl_sdlrenderer3.h",
|
||||
"line": 50
|
||||
}
|
||||
}
|
||||
],
|
||||
"functions": [
|
||||
{
|
||||
"name": "cImGui_ImplSDLRenderer3_Init",
|
||||
"original_fully_qualified_name": "ImGui_ImplSDLRenderer3_Init",
|
||||
"return_type": {
|
||||
"declaration": "bool",
|
||||
"description": {
|
||||
"kind": "Builtin",
|
||||
"builtin_type": "bool"
|
||||
}
|
||||
},
|
||||
"arguments": [
|
||||
{
|
||||
"name": "renderer",
|
||||
"type": {
|
||||
"declaration": "SDL_Renderer*",
|
||||
"description": {
|
||||
"kind": "Pointer",
|
||||
"inner_type": {
|
||||
"kind": "User",
|
||||
"name": "SDL_Renderer"
|
||||
}
|
||||
}
|
||||
},
|
||||
"is_array": false,
|
||||
"is_varargs": false,
|
||||
"is_instance_pointer": false
|
||||
}
|
||||
],
|
||||
"is_default_argument_helper": false,
|
||||
"is_manual_helper": false,
|
||||
"is_imstr_helper": false,
|
||||
"has_imstr_helper": false,
|
||||
"is_unformatted_helper": false,
|
||||
"is_static": false,
|
||||
"comments": {
|
||||
"preceding": [
|
||||
"// Follow \"Getting Started\" link and check examples/ folder to learn about using backends!"
|
||||
]
|
||||
},
|
||||
"is_internal": false,
|
||||
"source_location": {
|
||||
"filename": "imgui_impl_sdlrenderer3.h",
|
||||
"line": 35
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "cImGui_ImplSDLRenderer3_Shutdown",
|
||||
"original_fully_qualified_name": "ImGui_ImplSDLRenderer3_Shutdown",
|
||||
"return_type": {
|
||||
"declaration": "void",
|
||||
"description": {
|
||||
"kind": "Builtin",
|
||||
"builtin_type": "void"
|
||||
}
|
||||
},
|
||||
"arguments": [],
|
||||
"is_default_argument_helper": false,
|
||||
"is_manual_helper": false,
|
||||
"is_imstr_helper": false,
|
||||
"has_imstr_helper": false,
|
||||
"is_unformatted_helper": false,
|
||||
"is_static": false,
|
||||
"is_internal": false,
|
||||
"source_location": {
|
||||
"filename": "imgui_impl_sdlrenderer3.h",
|
||||
"line": 36
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "cImGui_ImplSDLRenderer3_NewFrame",
|
||||
"original_fully_qualified_name": "ImGui_ImplSDLRenderer3_NewFrame",
|
||||
"return_type": {
|
||||
"declaration": "void",
|
||||
"description": {
|
||||
"kind": "Builtin",
|
||||
"builtin_type": "void"
|
||||
}
|
||||
},
|
||||
"arguments": [],
|
||||
"is_default_argument_helper": false,
|
||||
"is_manual_helper": false,
|
||||
"is_imstr_helper": false,
|
||||
"has_imstr_helper": false,
|
||||
"is_unformatted_helper": false,
|
||||
"is_static": false,
|
||||
"is_internal": false,
|
||||
"source_location": {
|
||||
"filename": "imgui_impl_sdlrenderer3.h",
|
||||
"line": 37
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "cImGui_ImplSDLRenderer3_RenderDrawData",
|
||||
"original_fully_qualified_name": "ImGui_ImplSDLRenderer3_RenderDrawData",
|
||||
"return_type": {
|
||||
"declaration": "void",
|
||||
"description": {
|
||||
"kind": "Builtin",
|
||||
"builtin_type": "void"
|
||||
}
|
||||
},
|
||||
"arguments": [
|
||||
{
|
||||
"name": "draw_data",
|
||||
"type": {
|
||||
"declaration": "ImDrawData*",
|
||||
"description": {
|
||||
"kind": "Pointer",
|
||||
"inner_type": {
|
||||
"kind": "User",
|
||||
"name": "ImDrawData"
|
||||
}
|
||||
}
|
||||
},
|
||||
"is_array": false,
|
||||
"is_varargs": false,
|
||||
"is_instance_pointer": false
|
||||
},
|
||||
{
|
||||
"name": "renderer",
|
||||
"type": {
|
||||
"declaration": "SDL_Renderer*",
|
||||
"description": {
|
||||
"kind": "Pointer",
|
||||
"inner_type": {
|
||||
"kind": "User",
|
||||
"name": "SDL_Renderer"
|
||||
}
|
||||
}
|
||||
},
|
||||
"is_array": false,
|
||||
"is_varargs": false,
|
||||
"is_instance_pointer": false
|
||||
}
|
||||
],
|
||||
"is_default_argument_helper": false,
|
||||
"is_manual_helper": false,
|
||||
"is_imstr_helper": false,
|
||||
"has_imstr_helper": false,
|
||||
"is_unformatted_helper": false,
|
||||
"is_static": false,
|
||||
"is_internal": false,
|
||||
"source_location": {
|
||||
"filename": "imgui_impl_sdlrenderer3.h",
|
||||
"line": 38
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "cImGui_ImplSDLRenderer3_CreateDeviceObjects",
|
||||
"original_fully_qualified_name": "ImGui_ImplSDLRenderer3_CreateDeviceObjects",
|
||||
"return_type": {
|
||||
"declaration": "void",
|
||||
"description": {
|
||||
"kind": "Builtin",
|
||||
"builtin_type": "void"
|
||||
}
|
||||
},
|
||||
"arguments": [],
|
||||
"is_default_argument_helper": false,
|
||||
"is_manual_helper": false,
|
||||
"is_imstr_helper": false,
|
||||
"has_imstr_helper": false,
|
||||
"is_unformatted_helper": false,
|
||||
"is_static": false,
|
||||
"comments": {
|
||||
"preceding": [
|
||||
"// Called by Init/NewFrame/Shutdown"
|
||||
]
|
||||
},
|
||||
"is_internal": false,
|
||||
"source_location": {
|
||||
"filename": "imgui_impl_sdlrenderer3.h",
|
||||
"line": 41
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "cImGui_ImplSDLRenderer3_DestroyDeviceObjects",
|
||||
"original_fully_qualified_name": "ImGui_ImplSDLRenderer3_DestroyDeviceObjects",
|
||||
"return_type": {
|
||||
"declaration": "void",
|
||||
"description": {
|
||||
"kind": "Builtin",
|
||||
"builtin_type": "void"
|
||||
}
|
||||
},
|
||||
"arguments": [],
|
||||
"is_default_argument_helper": false,
|
||||
"is_manual_helper": false,
|
||||
"is_imstr_helper": false,
|
||||
"has_imstr_helper": false,
|
||||
"is_unformatted_helper": false,
|
||||
"is_static": false,
|
||||
"is_internal": false,
|
||||
"source_location": {
|
||||
"filename": "imgui_impl_sdlrenderer3.h",
|
||||
"line": 42
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "cImGui_ImplSDLRenderer3_UpdateTexture",
|
||||
"original_fully_qualified_name": "ImGui_ImplSDLRenderer3_UpdateTexture",
|
||||
"return_type": {
|
||||
"declaration": "void",
|
||||
"description": {
|
||||
"kind": "Builtin",
|
||||
"builtin_type": "void"
|
||||
}
|
||||
},
|
||||
"arguments": [
|
||||
{
|
||||
"name": "tex",
|
||||
"type": {
|
||||
"declaration": "ImTextureData*",
|
||||
"description": {
|
||||
"kind": "Pointer",
|
||||
"inner_type": {
|
||||
"kind": "User",
|
||||
"name": "ImTextureData"
|
||||
}
|
||||
}
|
||||
},
|
||||
"is_array": false,
|
||||
"is_varargs": false,
|
||||
"is_instance_pointer": false
|
||||
}
|
||||
],
|
||||
"is_default_argument_helper": false,
|
||||
"is_manual_helper": false,
|
||||
"is_imstr_helper": false,
|
||||
"has_imstr_helper": false,
|
||||
"is_unformatted_helper": false,
|
||||
"is_static": false,
|
||||
"comments": {
|
||||
"preceding": [
|
||||
"// (Advanced) Use e.g. if you need to precisely control the timing of texture updates (e.g. for staged rendering), by setting ImDrawData::Textures = nullptr to handle this manually."
|
||||
]
|
||||
},
|
||||
"is_internal": false,
|
||||
"source_location": {
|
||||
"filename": "imgui_impl_sdlrenderer3.h",
|
||||
"line": 45
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,7 @@
|
||||
{
|
||||
"defines": [],
|
||||
"enums": [],
|
||||
"typedefs": [],
|
||||
"structs": [],
|
||||
"functions": []
|
||||
}
|
||||
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,198 @@
|
||||
// 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_vulkan.h"
|
||||
|
||||
#include <stdio.h>
|
||||
|
||||
// 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_vulkan.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_ImplVulkan_Init(cimgui::ImGui_ImplVulkan_InitInfo* info)
|
||||
{
|
||||
return ::ImGui_ImplVulkan_Init(reinterpret_cast<::ImGui_ImplVulkan_InitInfo*>(info));
|
||||
}
|
||||
|
||||
CIMGUI_IMPL_API void cimgui::cImGui_ImplVulkan_Shutdown(void)
|
||||
{
|
||||
::ImGui_ImplVulkan_Shutdown();
|
||||
}
|
||||
|
||||
CIMGUI_IMPL_API void cimgui::cImGui_ImplVulkan_NewFrame(void)
|
||||
{
|
||||
::ImGui_ImplVulkan_NewFrame();
|
||||
}
|
||||
|
||||
CIMGUI_IMPL_API void cimgui::cImGui_ImplVulkan_RenderDrawData(cimgui::ImDrawData* draw_data, VkCommandBuffer command_buffer)
|
||||
{
|
||||
::ImGui_ImplVulkan_RenderDrawData(reinterpret_cast<::ImDrawData*>(draw_data), command_buffer);
|
||||
}
|
||||
|
||||
CIMGUI_IMPL_API void cimgui::cImGui_ImplVulkan_RenderDrawDataEx(cimgui::ImDrawData* draw_data, VkCommandBuffer command_buffer, VkPipeline pipeline)
|
||||
{
|
||||
::ImGui_ImplVulkan_RenderDrawData(reinterpret_cast<::ImDrawData*>(draw_data), command_buffer, pipeline);
|
||||
}
|
||||
|
||||
CIMGUI_IMPL_API void cimgui::cImGui_ImplVulkan_SetMinImageCount(uint32_t min_image_count)
|
||||
{
|
||||
::ImGui_ImplVulkan_SetMinImageCount(min_image_count);
|
||||
}
|
||||
|
||||
CIMGUI_IMPL_API void cimgui::cImGui_ImplVulkan_CreateMainPipeline(const cimgui::ImGui_ImplVulkan_PipelineInfo* info)
|
||||
{
|
||||
::ImGui_ImplVulkan_CreateMainPipeline(reinterpret_cast<const ::ImGui_ImplVulkan_PipelineInfo*>(info));
|
||||
}
|
||||
|
||||
CIMGUI_IMPL_API void cimgui::cImGui_ImplVulkan_UpdateTexture(cimgui::ImTextureData* tex)
|
||||
{
|
||||
::ImGui_ImplVulkan_UpdateTexture(reinterpret_cast<::ImTextureData*>(tex));
|
||||
}
|
||||
|
||||
CIMGUI_IMPL_API VkDescriptorSet cimgui::cImGui_ImplVulkan_AddTexture(VkSampler sampler, VkImageView image_view, VkImageLayout image_layout)
|
||||
{
|
||||
return ::ImGui_ImplVulkan_AddTexture(sampler, image_view, image_layout);
|
||||
}
|
||||
|
||||
CIMGUI_IMPL_API void cimgui::cImGui_ImplVulkan_RemoveTexture(VkDescriptorSet descriptor_set)
|
||||
{
|
||||
::ImGui_ImplVulkan_RemoveTexture(descriptor_set);
|
||||
}
|
||||
|
||||
CIMGUI_IMPL_API bool cimgui::cImGui_ImplVulkan_LoadFunctions(uint32_t api_version, PFN_vkVoidFunction (*loader_func)(const char* function_name, void* user_data))
|
||||
{
|
||||
return ::ImGui_ImplVulkan_LoadFunctions(api_version, loader_func);
|
||||
}
|
||||
|
||||
CIMGUI_IMPL_API bool cimgui::cImGui_ImplVulkan_LoadFunctionsEx(uint32_t api_version, PFN_vkVoidFunction (*loader_func)(const char* function_name, void* user_data), void* user_data)
|
||||
{
|
||||
return ::ImGui_ImplVulkan_LoadFunctions(api_version, loader_func, user_data);
|
||||
}
|
||||
|
||||
CIMGUI_IMPL_API void cimgui::cImGui_ImplVulkanH_CreateOrResizeWindow(VkInstance instance, VkPhysicalDevice physical_device, VkDevice device, cimgui::ImGui_ImplVulkanH_Window* wd, uint32_t queue_family, const VkAllocationCallbacks* allocator, int w, int h, uint32_t min_image_count, VkImageUsageFlags image_usage)
|
||||
{
|
||||
::ImGui_ImplVulkanH_CreateOrResizeWindow(instance, physical_device, device, reinterpret_cast<::ImGui_ImplVulkanH_Window*>(wd), queue_family, allocator, w, h, min_image_count, image_usage);
|
||||
}
|
||||
|
||||
CIMGUI_IMPL_API void cimgui::cImGui_ImplVulkanH_DestroyWindow(VkInstance instance, VkDevice device, cimgui::ImGui_ImplVulkanH_Window* wd, const VkAllocationCallbacks* allocator)
|
||||
{
|
||||
::ImGui_ImplVulkanH_DestroyWindow(instance, device, reinterpret_cast<::ImGui_ImplVulkanH_Window*>(wd), allocator);
|
||||
}
|
||||
|
||||
CIMGUI_IMPL_API VkSurfaceFormatKHR cimgui::cImGui_ImplVulkanH_SelectSurfaceFormat(VkPhysicalDevice physical_device, VkSurfaceKHR surface, const VkFormat* request_formats, int request_formats_count, VkColorSpaceKHR request_color_space)
|
||||
{
|
||||
return ::ImGui_ImplVulkanH_SelectSurfaceFormat(physical_device, surface, request_formats, request_formats_count, request_color_space);
|
||||
}
|
||||
|
||||
CIMGUI_IMPL_API VkPresentModeKHR cimgui::cImGui_ImplVulkanH_SelectPresentMode(VkPhysicalDevice physical_device, VkSurfaceKHR surface, const VkPresentModeKHR* request_modes, int request_modes_count)
|
||||
{
|
||||
return ::ImGui_ImplVulkanH_SelectPresentMode(physical_device, surface, request_modes, request_modes_count);
|
||||
}
|
||||
|
||||
CIMGUI_IMPL_API VkPhysicalDevice cimgui::cImGui_ImplVulkanH_SelectPhysicalDevice(VkInstance instance)
|
||||
{
|
||||
return ::ImGui_ImplVulkanH_SelectPhysicalDevice(instance);
|
||||
}
|
||||
|
||||
CIMGUI_IMPL_API uint32_t cimgui::cImGui_ImplVulkanH_SelectQueueFamilyIndex(VkPhysicalDevice physical_device)
|
||||
{
|
||||
return ::ImGui_ImplVulkanH_SelectQueueFamilyIndex(physical_device);
|
||||
}
|
||||
|
||||
CIMGUI_IMPL_API int cimgui::cImGui_ImplVulkanH_GetMinImageCountFromPresentMode(VkPresentModeKHR present_mode)
|
||||
{
|
||||
return ::ImGui_ImplVulkanH_GetMinImageCountFromPresentMode(present_mode);
|
||||
}
|
||||
|
||||
CIMGUI_IMPL_API cimgui::ImGui_ImplVulkanH_Window* cimgui::cImGui_ImplVulkanH_GetWindowDataFromViewport(cimgui::ImGuiViewport* viewport)
|
||||
{
|
||||
return reinterpret_cast<::cimgui::ImGui_ImplVulkanH_Window*>(::ImGui_ImplVulkanH_GetWindowDataFromViewport(reinterpret_cast<::ImGuiViewport*>(viewport)));
|
||||
}
|
||||
|
||||
#endif // #ifndef IMGUI_DISABLE
|
||||
@@ -0,0 +1,291 @@
|
||||
// THIS FILE HAS BEEN AUTO-GENERATED BY THE 'DEAR BINDINGS' GENERATOR.
|
||||
// **DO NOT EDIT DIRECTLY**
|
||||
// https://github.com/dearimgui/dear_bindings
|
||||
|
||||
// dear imgui: Renderer Backend for Vulkan
|
||||
// Auto-generated forward declarations for C header
|
||||
typedef struct ImVector_VkDynamicState_t ImVector_VkDynamicState;
|
||||
typedef struct ImGui_ImplVulkan_PipelineInfo_t ImGui_ImplVulkan_PipelineInfo;
|
||||
typedef struct ImGui_ImplVulkan_InitInfo_t ImGui_ImplVulkan_InitInfo;
|
||||
typedef struct ImGui_ImplVulkan_RenderState_t ImGui_ImplVulkan_RenderState;
|
||||
typedef struct ImVector_ImGui_ImplVulkanH_Frame_t ImVector_ImGui_ImplVulkanH_Frame;
|
||||
typedef struct ImGui_ImplVulkanH_FrameSemaphores_t ImGui_ImplVulkanH_FrameSemaphores;
|
||||
typedef struct ImVector_ImGui_ImplVulkanH_FrameSemaphores_t ImVector_ImGui_ImplVulkanH_FrameSemaphores;
|
||||
// ImDrawIdx: vertex index. [Compile-time configurable type]
|
||||
// - To use 16-bit indices + allow large meshes: backend need to set 'io.BackendFlags |= ImGuiBackendFlags_RendererHasVtxOffset' and handle ImDrawCmd::VtxOffset (recommended).
|
||||
// - To use 32-bit indices: override with '#define ImDrawIdx unsigned int' in your imconfig.h file.
|
||||
#ifndef ImDrawIdx
|
||||
typedef unsigned short ImDrawIdx; // Default: 16-bit (for maximum compatibility with renderer backends)
|
||||
#endif // #ifndef ImDrawIdx
|
||||
// This needs to be used along with a Platform Backend (e.g. GLFW, SDL, Win32, custom..)
|
||||
|
||||
// Implemented features:
|
||||
// [!] Renderer: User texture binding. Use 'VkDescriptorSet' as texture identifier. Call ImGui_ImplVulkan_AddTexture() to register one. Read the FAQ about ImTextureID/ImTextureRef + https://github.com/ocornut/imgui/pull/914 for discussions.
|
||||
// [X] Renderer: Large meshes support (64k+ vertices) even with 16-bit indices (ImGuiBackendFlags_RendererHasVtxOffset).
|
||||
// [X] Renderer: Texture updates support for dynamic font atlas (ImGuiBackendFlags_RendererHasTextures).
|
||||
// [X] Renderer: Expose selected render state for draw callbacks to use. Access in '(ImGui_ImplXXXX_RenderState*)GetPlatformIO().Renderer_RenderState'.
|
||||
// [x] Renderer: Multi-viewport / platform windows. With issues (flickering when creating a new viewport).
|
||||
|
||||
// The aim of imgui_impl_vulkan.h/.cpp is to be usable in your engine without any modification.
|
||||
// IF YOU FEEL YOU NEED TO MAKE ANY CHANGE TO THIS CODE, please share them and your feedback at https://github.com/ocornut/imgui/
|
||||
|
||||
// You can use unmodified imgui_impl_* files in your project. See examples/ folder for examples of using this.
|
||||
// Prefer including the entire imgui/ repository into your project (either as a copy or as a submodule), and only build the backends you need.
|
||||
// Learn about Dear ImGui:
|
||||
// - FAQ https://dearimgui.com/faq
|
||||
// - Getting Started https://dearimgui.com/getting-started
|
||||
// - Documentation https://dearimgui.com/docs (same as your local docs/ folder).
|
||||
// - Introduction, links and more at the top of imgui.cpp
|
||||
|
||||
// Important note to the reader who wish to integrate imgui_impl_vulkan.cpp/.h in their own engine/app.
|
||||
// - Common ImGui_ImplVulkan_XXX functions and structures are used to interface with imgui_impl_vulkan.cpp/.h.
|
||||
// You will use those if you want to use this rendering backend in your engine/app.
|
||||
// - Helper ImGui_ImplVulkanH_XXX functions and structures are only used by this example (main.cpp) and by
|
||||
// the backend itself (imgui_impl_vulkan.cpp), but should PROBABLY NOT be used by your own engine/app code.
|
||||
// Read comments in imgui_impl_vulkan.h.
|
||||
|
||||
#pragma once
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C"
|
||||
{
|
||||
#endif
|
||||
#ifndef IMGUI_DISABLE
|
||||
#include "dcimgui.h"
|
||||
// [Configuration] in order to use a custom Vulkan function loader:
|
||||
// (1) You'll need to disable default Vulkan function prototypes.
|
||||
// We provide a '#define IMGUI_IMPL_VULKAN_NO_PROTOTYPES' convenience configuration flag.
|
||||
// In order to make sure this is visible from the imgui_impl_vulkan.cpp compilation unit:
|
||||
// - Add '#define IMGUI_IMPL_VULKAN_NO_PROTOTYPES' in your imconfig.h file
|
||||
// - Or as a compilation flag in your build system
|
||||
// - Or uncomment here (not recommended because you'd be modifying imgui sources!)
|
||||
// - Do not simply add it in a .cpp file!
|
||||
// (2) Call ImGui_ImplVulkan_LoadFunctions() before ImGui_ImplVulkan_Init() with your custom function.
|
||||
// If you have no idea what this is, leave it alone!
|
||||
//#define IMGUI_IMPL_VULKAN_NO_PROTOTYPES
|
||||
|
||||
// [Configuration] Convenience support for Volk
|
||||
// (you can also technically use IMGUI_IMPL_VULKAN_NO_PROTOTYPES + wrap Volk via ImGui_ImplVulkan_LoadFunctions().)
|
||||
// (When using Volk from directory outside your include directories list you can specify full path to the volk.h header,
|
||||
// for example when using Volk from VulkanSDK and using include_directories(${Vulkan_INCLUDE_DIRS})' from 'find_package(Vulkan REQUIRED)')
|
||||
//#define IMGUI_IMPL_VULKAN_USE_VOLK
|
||||
//#define IMGUI_IMPL_VULKAN_VOLK_FILENAME <Volk/volk.h>
|
||||
//#define IMGUI_IMPL_VULKAN_VOLK_FILENAME <volk.h> // Default
|
||||
// Reminder: make those changes in your imconfig.h file, not here!
|
||||
|
||||
// Clang/GCC warnings with -Weverything
|
||||
#if defined(__clang__)
|
||||
#pragma clang diagnostic push
|
||||
#pragma clang diagnostic ignored "-Wold-style-cast" // warning: use of old-style cast
|
||||
#endif // #if defined(__clang__)
|
||||
#if defined(IMGUI_IMPL_VULKAN_NO_PROTOTYPES)&&!defined(VK_NO_PROTOTYPES)
|
||||
#define VK_NO_PROTOTYPES
|
||||
#endif // #if defined(IMGUI_IMPL_VULKAN_NO_PROTOTYPES)&&!defined(VK_NO_PROTOTYPES)
|
||||
#if defined(VK_USE_PLATFORM_WIN32_KHR)&&!defined(NOMINMAX)
|
||||
#define NOMINMAX
|
||||
#endif // #if defined(VK_USE_PLATFORM_WIN32_KHR)&&!defined(NOMINMAX)
|
||||
// Vulkan includes
|
||||
#ifdef IMGUI_IMPL_VULKAN_USE_VOLK
|
||||
#ifdef IMGUI_IMPL_VULKAN_VOLK_FILENAME
|
||||
#include IMGUI_IMPL_VULKAN_VOLK_FILENAME
|
||||
#else
|
||||
#include <volk.h>
|
||||
#endif // #ifdef IMGUI_IMPL_VULKAN_VOLK_FILENAME
|
||||
#else
|
||||
#include <vulkan/vulkan.h>
|
||||
#endif // #ifdef IMGUI_IMPL_VULKAN_USE_VOLK
|
||||
struct ImVector_VkDynamicState_t { int Size; int Capacity; VkDynamicState* Data; }; // Instantiation of ImVector<VkDynamicState>
|
||||
#if defined(VK_VERSION_1_3)|| defined(VK_KHR_dynamic_rendering)
|
||||
#define IMGUI_IMPL_VULKAN_HAS_DYNAMIC_RENDERING
|
||||
#endif // #if defined(VK_VERSION_1_3)|| defined(VK_KHR_dynamic_rendering)
|
||||
// Backend uses a small number of descriptors per font atlas + as many as additional calls done to ImGui_ImplVulkan_AddTexture().
|
||||
#define IMGUI_IMPL_VULKAN_MINIMUM_IMAGE_SAMPLER_POOL_SIZE (8) // Minimum per atlas
|
||||
|
||||
// Specify settings to create pipeline and swapchain
|
||||
struct ImGui_ImplVulkan_PipelineInfo_t
|
||||
{
|
||||
// For Main viewport only
|
||||
VkRenderPass RenderPass; // Ignored if using dynamic rendering
|
||||
|
||||
// For Main and Secondary viewports
|
||||
uint32_t Subpass; //
|
||||
VkSampleCountFlagBits MSAASamples /* = {} */; // 0 defaults to VK_SAMPLE_COUNT_1_BIT
|
||||
ImVector_VkDynamicState ExtraDynamicStates; // Optional, allows to insert more dynamic states into our VkPipeline
|
||||
#ifdef IMGUI_IMPL_VULKAN_HAS_DYNAMIC_RENDERING
|
||||
VkPipelineRenderingCreateInfoKHR PipelineRenderingCreateInfo; // Optional, valid if .sType == VK_STRUCTURE_TYPE_PIPELINE_RENDERING_CREATE_INFO_KHR
|
||||
#endif // #ifdef IMGUI_IMPL_VULKAN_HAS_DYNAMIC_RENDERING
|
||||
// For Secondary viewports only (created/managed by backend)
|
||||
VkImageUsageFlags SwapChainImageUsage; // Extra flags for vkCreateSwapchainKHR() calls for secondary viewports. We automatically add VK_IMAGE_USAGE_COLOR_ATTACHMENT_BIT. You can add e.g. VK_IMAGE_USAGE_TRANSFER_SRC_BIT if you need to capture from viewports.
|
||||
};
|
||||
|
||||
// Initialization data, for ImGui_ImplVulkan_Init()
|
||||
// [Please zero-clear before use!]
|
||||
// - About descriptor pool:
|
||||
// - A VkDescriptorPool should be created with VK_DESCRIPTOR_POOL_CREATE_FREE_DESCRIPTOR_SET_BIT,
|
||||
// and must contain a pool size large enough to hold a small number of VK_DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER descriptors.
|
||||
// - As an convenience, by setting DescriptorPoolSize > 0 the backend will create one for you.
|
||||
// - About dynamic rendering:
|
||||
// - When using dynamic rendering, set UseDynamicRendering=true + fill PipelineInfoMain.PipelineRenderingCreateInfo structure.
|
||||
struct ImGui_ImplVulkan_InitInfo_t
|
||||
{
|
||||
uint32_t ApiVersion; // Fill with API version of Instance, e.g. VK_API_VERSION_1_3 or your value of VkApplicationInfo::apiVersion. May be lower than header version (VK_HEADER_VERSION_COMPLETE)
|
||||
VkInstance Instance;
|
||||
VkPhysicalDevice PhysicalDevice;
|
||||
VkDevice Device;
|
||||
uint32_t QueueFamily;
|
||||
VkQueue Queue;
|
||||
VkDescriptorPool DescriptorPool; // See requirements in note above; ignored if using DescriptorPoolSize > 0
|
||||
uint32_t DescriptorPoolSize; // Optional: set to create internal descriptor pool automatically instead of using DescriptorPool.
|
||||
uint32_t MinImageCount; // >= 2
|
||||
uint32_t ImageCount; // >= MinImageCount
|
||||
VkPipelineCache PipelineCache; // Optional
|
||||
|
||||
// Pipeline
|
||||
ImGui_ImplVulkan_PipelineInfo PipelineInfoMain; // Infos for Main Viewport (created by app/user)
|
||||
ImGui_ImplVulkan_PipelineInfo PipelineInfoForViewports; // Infos for Secondary Viewports (created by backend)
|
||||
//VkRenderPass RenderPass; // --> Since 2025/09/26: set 'PipelineInfoMain.RenderPass' instead
|
||||
//uint32_t Subpass; // --> Since 2025/09/26: set 'PipelineInfoMain.Subpass' instead
|
||||
//VkSampleCountFlagBits MSAASamples; // --> Since 2025/09/26: set 'PipelineInfoMain.MSAASamples' instead
|
||||
//VkPipelineRenderingCreateInfoKHR PipelineRenderingCreateInfo; // Since 2025/09/26: set 'PipelineInfoMain.PipelineRenderingCreateInfo' instead
|
||||
|
||||
// (Optional) Dynamic Rendering
|
||||
// Need to explicitly enable VK_KHR_dynamic_rendering extension to use this, even for Vulkan 1.3 + setup PipelineInfoMain.PipelineRenderingCreateInfo and PipelineInfoViewports.PipelineRenderingCreateInfo.
|
||||
bool UseDynamicRendering;
|
||||
|
||||
// (Optional) Allocation, Debugging
|
||||
const VkAllocationCallbacks* Allocator;
|
||||
void (*CheckVkResultFn)(VkResult err);
|
||||
VkDeviceSize MinAllocationSize; // Minimum allocation size. Set to 1024*1024 to satisfy zealous best practices validation layer and waste a little memory.
|
||||
|
||||
// (Optional) Customize default vertex/fragment shaders.
|
||||
// - if .sType == VK_STRUCTURE_TYPE_SHADER_MODULE_CREATE_INFO we use specified structs, otherwise we use defaults.
|
||||
// - Shader inputs/outputs need to match ours. Code/data pointed to by the structure needs to survive for whole during of backend usage.
|
||||
VkShaderModuleCreateInfo CustomShaderVertCreateInfo;
|
||||
VkShaderModuleCreateInfo CustomShaderFragCreateInfo;
|
||||
};
|
||||
|
||||
typedef struct ImDrawData_t ImDrawData;
|
||||
// Follow "Getting Started" link and check examples/ folder to learn about using backends!
|
||||
CIMGUI_IMPL_API bool cImGui_ImplVulkan_Init(ImGui_ImplVulkan_InitInfo* info);
|
||||
CIMGUI_IMPL_API void cImGui_ImplVulkan_Shutdown(void);
|
||||
CIMGUI_IMPL_API void cImGui_ImplVulkan_NewFrame(void);
|
||||
CIMGUI_IMPL_API void cImGui_ImplVulkan_RenderDrawData(ImDrawData* draw_data, VkCommandBuffer command_buffer); // Implied pipeline = VK_NULL_HANDLE
|
||||
CIMGUI_IMPL_API void cImGui_ImplVulkan_RenderDrawDataEx(ImDrawData* draw_data, VkCommandBuffer command_buffer, VkPipeline pipeline /* = VK_NULL_HANDLE */);
|
||||
CIMGUI_IMPL_API void cImGui_ImplVulkan_SetMinImageCount(uint32_t min_image_count); // To override MinImageCount after initialization (e.g. if swap chain is recreated)
|
||||
|
||||
// (Advanced) Use e.g. if you need to recreate pipeline without reinitializing the backend (see #8110, #8111)
|
||||
// The main window pipeline will be created by ImGui_ImplVulkan_Init() if possible (== RenderPass xor (UseDynamicRendering && PipelineRenderingCreateInfo->sType == VK_STRUCTURE_TYPE_PIPELINE_RENDERING_CREATE_INFO_KHR))
|
||||
// Else, the pipeline can be created, or re-created, using ImGui_ImplVulkan_CreateMainPipeline() before rendering.
|
||||
CIMGUI_IMPL_API void cImGui_ImplVulkan_CreateMainPipeline(const ImGui_ImplVulkan_PipelineInfo* info);
|
||||
|
||||
// (Advanced) Use e.g. if you need to precisely control the timing of texture updates (e.g. for staged rendering), by setting ImDrawData::Textures = nullptr to handle this manually.
|
||||
CIMGUI_IMPL_API void cImGui_ImplVulkan_UpdateTexture(ImTextureData* tex);
|
||||
|
||||
// Register a texture (VkDescriptorSet == ImTextureID)
|
||||
// FIXME: This is experimental in the sense that we are unsure how to best design/tackle this problem
|
||||
// Please post to https://github.com/ocornut/imgui/pull/914 if you have suggestions.
|
||||
CIMGUI_IMPL_API VkDescriptorSet cImGui_ImplVulkan_AddTexture(VkSampler sampler, VkImageView image_view, VkImageLayout image_layout);
|
||||
CIMGUI_IMPL_API void cImGui_ImplVulkan_RemoveTexture(VkDescriptorSet descriptor_set);
|
||||
|
||||
// Optional: load Vulkan functions with a custom function loader
|
||||
// This is only useful with IMGUI_IMPL_VULKAN_NO_PROTOTYPES / VK_NO_PROTOTYPES
|
||||
CIMGUI_IMPL_API bool cImGui_ImplVulkan_LoadFunctions(uint32_t api_version, PFN_vkVoidFunction (*loader_func)(const char* function_name, void* user_data)); // Implied user_data = nullptr
|
||||
CIMGUI_IMPL_API bool cImGui_ImplVulkan_LoadFunctionsEx(uint32_t api_version, PFN_vkVoidFunction (*loader_func)(const char* function_name, void* user_data), void* user_data /* = nullptr */);
|
||||
|
||||
// [BETA] Selected render state data shared with callbacks.
|
||||
// This is temporarily stored in GetPlatformIO().Renderer_RenderState during the ImGui_ImplVulkan_RenderDrawData() call.
|
||||
// (Please open an issue if you feel you need access to more data)
|
||||
struct ImGui_ImplVulkan_RenderState_t
|
||||
{
|
||||
VkCommandBuffer CommandBuffer;
|
||||
VkPipeline Pipeline;
|
||||
VkPipelineLayout PipelineLayout;
|
||||
};
|
||||
|
||||
//-------------------------------------------------------------------------
|
||||
// Internal / Miscellaneous Vulkan Helpers
|
||||
//-------------------------------------------------------------------------
|
||||
// Used by example's main.cpp. Used by multi-viewport features. PROBABLY NOT used by your own engine/app.
|
||||
//
|
||||
// You probably do NOT need to use or care about those functions.
|
||||
// WE DO NOT PROVIDE STRONG GUARANTEES OF BACKWARD/FORWARD COMPATIBILITY.
|
||||
// Those functions only exist because:
|
||||
// 1) they facilitate the readability and maintenance of the multiple main.cpp examples files.
|
||||
// 2) the multi-viewport / platform window implementation needs them internally.
|
||||
// Generally we avoid exposing any kind of superfluous high-level helpers in the backends,
|
||||
// but it is too much code to duplicate everywhere so we exceptionally expose them.
|
||||
//
|
||||
// Your engine/app will likely _already_ have code to setup all that stuff (swap chain,
|
||||
// render pass, frame buffers, etc.). You may read this code if you are curious, but
|
||||
// it is recommended you use your own custom tailored code to do equivalent work.
|
||||
//
|
||||
// The ImGui_ImplVulkanH_XXX functions should NOT interact with any of the state used
|
||||
// by the regular ImGui_ImplVulkan_XXX functions.
|
||||
//-------------------------------------------------------------------------
|
||||
|
||||
typedef struct ImGui_ImplVulkanH_Frame_t ImGui_ImplVulkanH_Frame;
|
||||
typedef struct ImGui_ImplVulkanH_Window_t ImGui_ImplVulkanH_Window;
|
||||
|
||||
// Helpers
|
||||
CIMGUI_IMPL_API void cImGui_ImplVulkanH_CreateOrResizeWindow(VkInstance instance, VkPhysicalDevice physical_device, VkDevice device, ImGui_ImplVulkanH_Window* wd, uint32_t queue_family, const VkAllocationCallbacks* allocator, int w, int h, uint32_t min_image_count, VkImageUsageFlags image_usage);
|
||||
CIMGUI_IMPL_API void cImGui_ImplVulkanH_DestroyWindow(VkInstance instance, VkDevice device, ImGui_ImplVulkanH_Window* wd, const VkAllocationCallbacks* allocator);
|
||||
CIMGUI_IMPL_API VkSurfaceFormatKHR cImGui_ImplVulkanH_SelectSurfaceFormat(VkPhysicalDevice physical_device, VkSurfaceKHR surface, const VkFormat* request_formats, int request_formats_count, VkColorSpaceKHR request_color_space);
|
||||
CIMGUI_IMPL_API VkPresentModeKHR cImGui_ImplVulkanH_SelectPresentMode(VkPhysicalDevice physical_device, VkSurfaceKHR surface, const VkPresentModeKHR* request_modes, int request_modes_count);
|
||||
CIMGUI_IMPL_API VkPhysicalDevice cImGui_ImplVulkanH_SelectPhysicalDevice(VkInstance instance);
|
||||
CIMGUI_IMPL_API uint32_t cImGui_ImplVulkanH_SelectQueueFamilyIndex(VkPhysicalDevice physical_device);
|
||||
CIMGUI_IMPL_API int cImGui_ImplVulkanH_GetMinImageCountFromPresentMode(VkPresentModeKHR present_mode);
|
||||
CIMGUI_IMPL_API ImGui_ImplVulkanH_Window* cImGui_ImplVulkanH_GetWindowDataFromViewport(ImGuiViewport* viewport); // Access to Vulkan objects associated with a viewport (e.g to export a screenshot)
|
||||
|
||||
// Helper structure to hold the data needed by one rendering frame
|
||||
// (Used by example's main.cpp. Used by multi-viewport features. Probably NOT used by your own engine/app.)
|
||||
// [Please zero-clear before use!]
|
||||
struct ImGui_ImplVulkanH_Frame_t
|
||||
{
|
||||
VkCommandPool CommandPool;
|
||||
VkCommandBuffer CommandBuffer;
|
||||
VkFence Fence;
|
||||
VkImage Backbuffer;
|
||||
VkImageView BackbufferView;
|
||||
VkFramebuffer Framebuffer;
|
||||
};
|
||||
struct ImVector_ImGui_ImplVulkanH_Frame_t { int Size; int Capacity; ImGui_ImplVulkanH_Frame* Data; }; // Instantiation of ImVector<ImGui_ImplVulkanH_Frame>
|
||||
|
||||
struct ImGui_ImplVulkanH_FrameSemaphores_t
|
||||
{
|
||||
VkSemaphore ImageAcquiredSemaphore;
|
||||
VkSemaphore RenderCompleteSemaphore;
|
||||
};
|
||||
struct ImVector_ImGui_ImplVulkanH_FrameSemaphores_t { int Size; int Capacity; ImGui_ImplVulkanH_FrameSemaphores* Data; }; // Instantiation of ImVector<ImGui_ImplVulkanH_FrameSemaphores>
|
||||
|
||||
// Helper structure to hold the data needed by one rendering context into one OS window
|
||||
// (Used by example's main.cpp. Used by multi-viewport features. Probably NOT used by your own engine/app.)
|
||||
struct ImGui_ImplVulkanH_Window_t
|
||||
{
|
||||
// Input
|
||||
bool UseDynamicRendering;
|
||||
VkSurfaceKHR Surface; // Surface created and destroyed by caller.
|
||||
VkSurfaceFormatKHR SurfaceFormat;
|
||||
VkPresentModeKHR PresentMode;
|
||||
VkAttachmentDescription AttachmentDesc; // RenderPass creation: main attachment description.
|
||||
VkClearValue ClearValue; // RenderPass creation: clear value when using VK_ATTACHMENT_LOAD_OP_CLEAR.
|
||||
|
||||
// Internal
|
||||
int Width; // Generally same as passed to ImGui_ImplVulkanH_CreateOrResizeWindow()
|
||||
int Height;
|
||||
VkSwapchainKHR Swapchain;
|
||||
VkRenderPass RenderPass;
|
||||
uint32_t FrameIndex; // Current frame being rendered to (0 <= FrameIndex < FrameInFlightCount)
|
||||
uint32_t ImageCount; // Number of simultaneous in-flight frames (returned by vkGetSwapchainImagesKHR, usually derived from min_image_count)
|
||||
uint32_t SemaphoreCount; // Number of simultaneous in-flight frames + 1, to be able to use it in vkAcquireNextImageKHR
|
||||
uint32_t SemaphoreIndex; // Current set of swapchain wait semaphores we're using (needs to be distinct from per frame data)
|
||||
ImVector_ImGui_ImplVulkanH_Frame Frames;
|
||||
ImVector_ImGui_ImplVulkanH_FrameSemaphores FrameSemaphores;
|
||||
};
|
||||
|
||||
#if defined(__clang__)
|
||||
#pragma clang diagnostic pop
|
||||
#endif // #if defined(__clang__)
|
||||
#endif// #ifndef IMGUI_DISABLE
|
||||
#ifdef __cplusplus
|
||||
} // End of extern "C" block
|
||||
#endif
|
||||
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,7 @@
|
||||
{
|
||||
"defines": [],
|
||||
"enums": [],
|
||||
"typedefs": [],
|
||||
"structs": [],
|
||||
"functions": []
|
||||
}
|
||||
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,191 @@
|
||||
// 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_wgpu.h"
|
||||
|
||||
#include <stdio.h>
|
||||
|
||||
// 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_wgpu.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_ImplWGPU_Init(cimgui::ImGui_ImplWGPU_InitInfo* init_info)
|
||||
{
|
||||
return ::ImGui_ImplWGPU_Init(reinterpret_cast<::ImGui_ImplWGPU_InitInfo*>(init_info));
|
||||
}
|
||||
|
||||
CIMGUI_IMPL_API void cimgui::cImGui_ImplWGPU_Shutdown(void)
|
||||
{
|
||||
::ImGui_ImplWGPU_Shutdown();
|
||||
}
|
||||
|
||||
CIMGUI_IMPL_API void cimgui::cImGui_ImplWGPU_NewFrame(void)
|
||||
{
|
||||
::ImGui_ImplWGPU_NewFrame();
|
||||
}
|
||||
|
||||
CIMGUI_IMPL_API void cimgui::cImGui_ImplWGPU_RenderDrawData(cimgui::ImDrawData* draw_data, WGPURenderPassEncoder pass_encoder)
|
||||
{
|
||||
::ImGui_ImplWGPU_RenderDrawData(reinterpret_cast<::ImDrawData*>(draw_data), pass_encoder);
|
||||
}
|
||||
|
||||
CIMGUI_IMPL_API bool cimgui::cImGui_ImplWGPU_CreateDeviceObjects(void)
|
||||
{
|
||||
return ::ImGui_ImplWGPU_CreateDeviceObjects();
|
||||
}
|
||||
|
||||
CIMGUI_IMPL_API void cimgui::cImGui_ImplWGPU_InvalidateDeviceObjects(void)
|
||||
{
|
||||
::ImGui_ImplWGPU_InvalidateDeviceObjects();
|
||||
}
|
||||
|
||||
CIMGUI_IMPL_API void cimgui::cImGui_ImplWGPU_UpdateTexture(cimgui::ImTextureData* tex)
|
||||
{
|
||||
::ImGui_ImplWGPU_UpdateTexture(reinterpret_cast<::ImTextureData*>(tex));
|
||||
}
|
||||
|
||||
CIMGUI_IMPL_API bool cimgui::cImGui_ImplWGPU_IsSurfaceStatusError(WGPUSurfaceGetCurrentTextureStatus status)
|
||||
{
|
||||
return ::ImGui_ImplWGPU_IsSurfaceStatusError(status);
|
||||
}
|
||||
|
||||
CIMGUI_IMPL_API bool cimgui::cImGui_ImplWGPU_IsSurfaceStatusSubOptimal(WGPUSurfaceGetCurrentTextureStatus status)
|
||||
{
|
||||
return ::ImGui_ImplWGPU_IsSurfaceStatusSubOptimal(status);
|
||||
}
|
||||
|
||||
CIMGUI_IMPL_API void cimgui::cImGui_ImplWGPU_DebugPrintAdapterInfo(WGPUAdapter adapter)
|
||||
{
|
||||
::ImGui_ImplWGPU_DebugPrintAdapterInfo(reinterpret_cast<const ::WGPUAdapter&>(adapter));
|
||||
}
|
||||
|
||||
CIMGUI_IMPL_API const char* cimgui::cImGui_ImplWGPU_GetBackendTypeName(WGPUBackendType type)
|
||||
{
|
||||
return ::ImGui_ImplWGPU_GetBackendTypeName(type);
|
||||
}
|
||||
|
||||
CIMGUI_IMPL_API const char* cimgui::cImGui_ImplWGPU_GetAdapterTypeName(WGPUAdapterType type)
|
||||
{
|
||||
return ::ImGui_ImplWGPU_GetAdapterTypeName(type);
|
||||
}
|
||||
|
||||
#if defined(IMGUI_IMPL_WEBGPU_BACKEND_DAWN)
|
||||
|
||||
CIMGUI_IMPL_API const char* cimgui::cImGui_ImplWGPU_GetDeviceLostReasonName(WGPUDeviceLostReason type)
|
||||
{
|
||||
return ::ImGui_ImplWGPU_GetDeviceLostReasonName(type);
|
||||
}
|
||||
|
||||
CIMGUI_IMPL_API const char* cimgui::cImGui_ImplWGPU_GetErrorTypeName(WGPUErrorType type)
|
||||
{
|
||||
return ::ImGui_ImplWGPU_GetErrorTypeName(type);
|
||||
}
|
||||
|
||||
#endif // #if defined(IMGUI_IMPL_WEBGPU_BACKEND_DAWN)
|
||||
|
||||
#if !(defined(IMGUI_IMPL_WEBGPU_BACKEND_DAWN))
|
||||
#if defined(IMGUI_IMPL_WEBGPU_BACKEND_WGPU)
|
||||
|
||||
// CIMGUI_IMPL_API const char* cimgui::cImGui_ImplWGPU_GetLogLevelName(WGPULogLevel level)
|
||||
// {
|
||||
// return ::ImGui_ImplWGPU_GetLogLevelName(level);
|
||||
// }
|
||||
|
||||
#endif // #if defined(IMGUI_IMPL_WEBGPU_BACKEND_WGPU)
|
||||
#endif // #if !(defined(IMGUI_IMPL_WEBGPU_BACKEND_DAWN))
|
||||
|
||||
#ifndef __EMSCRIPTEN__
|
||||
|
||||
CIMGUI_IMPL_API WGPUSurface cimgui::cImGui_ImplWGPU_CreateWGPUSurfaceHelper(cimgui::ImGui_ImplWGPU_CreateSurfaceInfo* info)
|
||||
{
|
||||
return ::ImGui_ImplWGPU_CreateWGPUSurfaceHelper(reinterpret_cast<::ImGui_ImplWGPU_CreateSurfaceInfo*>(info));
|
||||
}
|
||||
|
||||
#endif // #ifndef __EMSCRIPTEN__
|
||||
#endif // #ifndef IMGUI_DISABLE
|
||||
@@ -0,0 +1,134 @@
|
||||
// THIS FILE HAS BEEN AUTO-GENERATED BY THE 'DEAR BINDINGS' GENERATOR.
|
||||
// **DO NOT EDIT DIRECTLY**
|
||||
// https://github.com/dearimgui/dear_bindings
|
||||
|
||||
// dear imgui: Renderer for WebGPU
|
||||
// Auto-generated forward declarations for C header
|
||||
typedef struct ImGui_ImplWGPU_InitInfo_t ImGui_ImplWGPU_InitInfo;
|
||||
typedef struct ImGui_ImplWGPU_RenderState_t ImGui_ImplWGPU_RenderState;
|
||||
typedef struct ImGui_ImplWGPU_CreateSurfaceInfo_t ImGui_ImplWGPU_CreateSurfaceInfo;
|
||||
// ImDrawIdx: vertex index. [Compile-time configurable type]
|
||||
// - To use 16-bit indices + allow large meshes: backend need to set 'io.BackendFlags |= ImGuiBackendFlags_RendererHasVtxOffset' and handle ImDrawCmd::VtxOffset (recommended).
|
||||
// - To use 32-bit indices: override with '#define ImDrawIdx unsigned int' in your imconfig.h file.
|
||||
#ifndef ImDrawIdx
|
||||
typedef unsigned short ImDrawIdx; // Default: 16-bit (for maximum compatibility with renderer backends)
|
||||
#endif // #ifndef ImDrawIdx
|
||||
// This needs to be used along with a Platform Binding (e.g. GLFW, SDL2, SDL3)
|
||||
// (Please note that WebGPU is a recent API, may not be supported by all browser, and its ecosystem is generally a mess)
|
||||
|
||||
// When targeting native platforms:
|
||||
// - One of IMGUI_IMPL_WEBGPU_BACKEND_DAWN, IMGUI_IMPL_WEBGPU_BACKEND_WGPU or IMGUI_IMPL_WEBGPU_BACKEND_WGVK *must* be provided.
|
||||
// When targeting Emscripten:
|
||||
// - We now defaults to IMGUI_IMPL_WEBGPU_BACKEND_DAWN and requires Emscripten 4.0.10+, which correspond to using Emscripten '--use-port=emdawnwebgpu'.
|
||||
// - Emscripten < 4.0.10 is not supported anymore (old '-sUSE_WEBGPU=1' option).
|
||||
// - We can still define IMGUI_IMPL_WEBGPU_BACKEND_WGPU to use Emscripten '-s USE_WEBGPU=1' which is marked as obsolete by Emscripten.
|
||||
// Add #define to your imconfig.h file, or as a compilation flag in your build system.
|
||||
// This requirement may be removed once WebGPU stabilizes and backends converge on a unified interface.
|
||||
//#define IMGUI_IMPL_WEBGPU_BACKEND_DAWN
|
||||
//#define IMGUI_IMPL_WEBGPU_BACKEND_WGPU
|
||||
//#define IMGUI_IMPL_WEBGPU_BACKEND_WGVK
|
||||
|
||||
// Implemented features:
|
||||
// [X] Renderer: User texture binding. Use 'WGPUTextureView' as ImTextureID. Read the FAQ about ImTextureID/ImTextureRef!
|
||||
// [X] Renderer: Large meshes support (64k+ vertices) even with 16-bit indices (ImGuiBackendFlags_RendererHasVtxOffset).
|
||||
// [X] Renderer: Expose selected render state for draw callbacks to use. Access in '(ImGui_ImplXXXX_RenderState*)GetPlatformIO().Renderer_RenderState'.
|
||||
// [X] Renderer: Texture updates support for dynamic font system (ImGuiBackendFlags_RendererHasTextures).
|
||||
// Missing features or Issues:
|
||||
// [ ] Renderer: Multi-viewport support (multiple windows), useful for desktop.
|
||||
|
||||
// You can use unmodified imgui_impl_* files in your project. See examples/ folder for examples of using this.
|
||||
// Prefer including the entire imgui/ repository into your project (either as a copy or as a submodule), and only build the backends you need.
|
||||
// Learn about Dear ImGui:
|
||||
// - FAQ https://dearimgui.com/faq
|
||||
// - Getting Started https://dearimgui.com/getting-started
|
||||
// - Documentation https://dearimgui.com/docs (same as your local docs/ folder).
|
||||
// - Introduction, links and more at the top of imgui.cpp
|
||||
|
||||
#pragma once
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C"
|
||||
{
|
||||
#endif
|
||||
#include "dcimgui.h"
|
||||
#ifndef IMGUI_DISABLE
|
||||
// Setup Emscripten default if not specified.
|
||||
#if defined(__EMSCRIPTEN__)&&!defined(IMGUI_IMPL_WEBGPU_BACKEND_DAWN)&&!defined(IMGUI_IMPL_WEBGPU_BACKEND_WGPU)
|
||||
#include <emscripten/version.h>
|
||||
#define IMGUI_IMPL_WEBGPU_BACKEND_DAWN
|
||||
#endif // #if defined(__EMSCRIPTEN__)&&!defined(IMGUI_IMPL_WEBGPU_BACKEND_DAWN)&&!defined(IMGUI_IMPL_WEBGPU_BACKEND_WGPU)
|
||||
#include <webgpu/webgpu.h>
|
||||
#if defined(IMGUI_IMPL_WEBGPU_BACKEND_WGPU)&&!defined(__EMSCRIPTEN__)
|
||||
#include <webgpu/wgpu.h>
|
||||
#endif // #if defined(IMGUI_IMPL_WEBGPU_BACKEND_WGPU)&&!defined(__EMSCRIPTEN__)
|
||||
typedef struct ImGui_ImplWGPU_InitInfo_ImDrawData_t ImGui_ImplWGPU_InitInfo_ImDrawData;
|
||||
// Initialization data, for ImGui_ImplWGPU_Init()
|
||||
struct ImGui_ImplWGPU_InitInfo_t
|
||||
{
|
||||
WGPUDevice Device /* = nullptr */;
|
||||
int NumFramesInFlight /* = 3 */;
|
||||
WGPUTextureFormat RenderTargetFormat /* = WGPUTextureFormat_Undefined */;
|
||||
WGPUTextureFormat DepthStencilFormat /* = WGPUTextureFormat_Undefined */;
|
||||
WGPUMultisampleState PipelineMultisampleState /* = {} */;
|
||||
};
|
||||
|
||||
// Follow "Getting Started" link and check examples/ folder to learn about using backends!
|
||||
CIMGUI_IMPL_API bool cImGui_ImplWGPU_Init(ImGui_ImplWGPU_InitInfo* init_info);
|
||||
CIMGUI_IMPL_API void cImGui_ImplWGPU_Shutdown(void);
|
||||
CIMGUI_IMPL_API void cImGui_ImplWGPU_NewFrame(void);
|
||||
CIMGUI_IMPL_API void cImGui_ImplWGPU_RenderDrawData(ImDrawData* draw_data, WGPURenderPassEncoder pass_encoder);
|
||||
|
||||
// Use if you want to reset your rendering device without losing Dear ImGui state.
|
||||
CIMGUI_IMPL_API bool cImGui_ImplWGPU_CreateDeviceObjects(void);
|
||||
CIMGUI_IMPL_API void cImGui_ImplWGPU_InvalidateDeviceObjects(void);
|
||||
|
||||
// (Advanced) Use e.g. if you need to precisely control the timing of texture updates (e.g. for staged rendering), by setting ImDrawData::Textures = nullptr to handle this manually.
|
||||
CIMGUI_IMPL_API void cImGui_ImplWGPU_UpdateTexture(ImTextureData* tex);
|
||||
|
||||
// [BETA] Selected render state data shared with callbacks.
|
||||
// This is temporarily stored in GetPlatformIO().Renderer_RenderState during the ImGui_ImplWGPU_RenderDrawData() call.
|
||||
// (Please open an issue if you feel you need access to more data)
|
||||
struct ImGui_ImplWGPU_RenderState_t
|
||||
{
|
||||
WGPUDevice Device;
|
||||
WGPURenderPassEncoder RenderPassEncoder;
|
||||
};
|
||||
|
||||
//-------------------------------------------------------------------------
|
||||
// Internal Helpers
|
||||
// Those are currently used by our example applications.
|
||||
//-------------------------------------------------------------------------
|
||||
|
||||
// (Optional) Helper to wrap some of the Dawn/WGPU/Emscripten quirks
|
||||
CIMGUI_IMPL_API bool cImGui_ImplWGPU_IsSurfaceStatusError(WGPUSurfaceGetCurrentTextureStatus status);
|
||||
CIMGUI_IMPL_API bool cImGui_ImplWGPU_IsSurfaceStatusSubOptimal(WGPUSurfaceGetCurrentTextureStatus status); // Return whether the texture is suboptimal and may need to be recreated.
|
||||
|
||||
// (Optional) Helper for debugging/logging
|
||||
CIMGUI_IMPL_API void cImGui_ImplWGPU_DebugPrintAdapterInfo(WGPUAdapter adapter);
|
||||
CIMGUI_IMPL_API const char* cImGui_ImplWGPU_GetBackendTypeName(WGPUBackendType type);
|
||||
CIMGUI_IMPL_API const char* cImGui_ImplWGPU_GetAdapterTypeName(WGPUAdapterType type);
|
||||
#if defined(IMGUI_IMPL_WEBGPU_BACKEND_DAWN)
|
||||
CIMGUI_IMPL_API const char* cImGui_ImplWGPU_GetDeviceLostReasonName(WGPUDeviceLostReason type);
|
||||
CIMGUI_IMPL_API const char* cImGui_ImplWGPU_GetErrorTypeName(WGPUErrorType type);
|
||||
#else
|
||||
#if defined(IMGUI_IMPL_WEBGPU_BACKEND_WGPU)
|
||||
CIMGUI_IMPL_API const char* cImGui_ImplWGPU_GetLogLevelName(WGPULogLevel level);
|
||||
#endif // #if defined(IMGUI_IMPL_WEBGPU_BACKEND_WGPU)
|
||||
#endif // #if defined(IMGUI_IMPL_WEBGPU_BACKEND_DAWN)
|
||||
// (Optional) Helper to create a surface on macOS/Wayland/X11/Window
|
||||
#ifndef __EMSCRIPTEN__
|
||||
struct ImGui_ImplWGPU_CreateSurfaceInfo_t
|
||||
{
|
||||
WGPUInstance Instance;
|
||||
const char* System; // "cocoa" | "wayland" | "x11" | "win32"
|
||||
void* RawWindow; // NSWindow* | 0 | Window | HWND
|
||||
void* RawDisplay; // 0 | wl_display* | Display* | 0
|
||||
void* RawSurface; // | wl_surface* | 0 | 0
|
||||
void* RawInstance; // 0 | 0 | 0 | HINSTANCE
|
||||
};
|
||||
CIMGUI_IMPL_API WGPUSurface cImGui_ImplWGPU_CreateWGPUSurfaceHelper(ImGui_ImplWGPU_CreateSurfaceInfo* info);
|
||||
#endif// #ifndef __EMSCRIPTEN__
|
||||
#endif// #ifndef IMGUI_DISABLE
|
||||
#ifdef __cplusplus
|
||||
} // End of extern "C" block
|
||||
#endif
|
||||
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,7 @@
|
||||
{
|
||||
"defines": [],
|
||||
"enums": [],
|
||||
"typedefs": [],
|
||||
"structs": [],
|
||||
"functions": []
|
||||
}
|
||||
File diff suppressed because it is too large
Load Diff
@@ -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
|
||||
@@ -0,0 +1,71 @@
|
||||
// THIS FILE HAS BEEN AUTO-GENERATED BY THE 'DEAR BINDINGS' GENERATOR.
|
||||
// **DO NOT EDIT DIRECTLY**
|
||||
// https://github.com/dearimgui/dear_bindings
|
||||
|
||||
// dear imgui: Platform Backend for Windows (standard windows API for 32-bits AND 64-bits applications)
|
||||
// ImDrawIdx: vertex index. [Compile-time configurable type]
|
||||
// - To use 16-bit indices + allow large meshes: backend need to set 'io.BackendFlags |= ImGuiBackendFlags_RendererHasVtxOffset' and handle ImDrawCmd::VtxOffset (recommended).
|
||||
// - To use 32-bit indices: override with '#define ImDrawIdx unsigned int' in your imconfig.h file.
|
||||
#ifndef ImDrawIdx
|
||||
typedef unsigned short ImDrawIdx; // Default: 16-bit (for maximum compatibility with renderer backends)
|
||||
#endif // #ifndef ImDrawIdx
|
||||
// This needs to be used along with a Renderer (e.g. DirectX11, OpenGL3, Vulkan..)
|
||||
|
||||
// Implemented features:
|
||||
// [X] Platform: Clipboard support (for Win32 this is actually part of core dear imgui)
|
||||
// [X] Platform: Mouse support. Can discriminate Mouse/TouchScreen/Pen.
|
||||
// [X] Platform: Keyboard support. Since 1.87 we are using the io.AddKeyEvent() function. Pass ImGuiKey values to all key functions e.g. ImGui::IsKeyPressed(ImGuiKey_Space). [Legacy VK_* values are obsolete since 1.87 and not supported since 1.91.5]
|
||||
// [X] Platform: Gamepad support.
|
||||
// [X] Platform: Mouse cursor shape and visibility (ImGuiBackendFlags_HasMouseCursors). Disable with 'io.ConfigFlags |= ImGuiConfigFlags_NoMouseCursorChange'.
|
||||
// [X] Platform: Multi-viewport support (multiple windows). Enable with 'io.ConfigFlags |= ImGuiConfigFlags_ViewportsEnable'.
|
||||
|
||||
// You can use unmodified imgui_impl_* files in your project. See examples/ folder for examples of using this.
|
||||
// Prefer including the entire imgui/ repository into your project (either as a copy or as a submodule), and only build the backends you need.
|
||||
// Learn about Dear ImGui:
|
||||
// - FAQ https://dearimgui.com/faq
|
||||
// - Getting Started https://dearimgui.com/getting-started
|
||||
// - Documentation https://dearimgui.com/docs (same as your local docs/ folder).
|
||||
// - Introduction, links and more at the top of imgui.cpp
|
||||
|
||||
#pragma once
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C"
|
||||
{
|
||||
#endif
|
||||
#include "dcimgui.h"
|
||||
#ifndef IMGUI_DISABLE
|
||||
typedef struct ImDrawData_t ImDrawData;
|
||||
// Follow "Getting Started" link and check examples/ folder to learn about using backends!
|
||||
CIMGUI_IMPL_API bool cImGui_ImplWin32_Init(void* hwnd);
|
||||
CIMGUI_IMPL_API bool cImGui_ImplWin32_InitForOpenGL(void* hwnd);
|
||||
CIMGUI_IMPL_API void cImGui_ImplWin32_Shutdown(void);
|
||||
CIMGUI_IMPL_API void cImGui_ImplWin32_NewFrame(void);
|
||||
|
||||
// Win32 message handler your application needs to call.
|
||||
// - Intentionally commented out in a '#if 0' block to avoid dragging dependencies on <windows.h> from this helper.
|
||||
// - You should COPY the line below into your .cpp code to forward declare the function and then you can call it.
|
||||
// - Call from your application's message handler. Keep calling your message handler unless this function returns TRUE.
|
||||
|
||||
#ifdef IMGUI_BACKEND_HAS_WINDOWS_H
|
||||
extern
|
||||
CIMGUI_IMPL_API LRESULT cImGui_ImplWin32_WndProcHandler(HWND hWnd, UINT msg, WPARAM wParam, LPARAM lParam);
|
||||
#endif // #ifdef IMGUI_BACKEND_HAS_WINDOWS_H
|
||||
// DPI-related helpers (optional)
|
||||
// - Use to enable DPI awareness without having to create an application manifest.
|
||||
// - Your own app may already do this via a manifest or explicit calls. This is mostly useful for our examples/ apps.
|
||||
// - In theory we could call simple functions from Windows SDK such as SetProcessDPIAware(), SetProcessDpiAwareness(), etc.
|
||||
// but most of the functions provided by Microsoft require Windows 8.1/10+ SDK at compile time and Windows 8/10+ at runtime,
|
||||
// neither of which we want to require the user to have. So we dynamically select and load those functions to avoid dependencies.
|
||||
CIMGUI_IMPL_API void cImGui_ImplWin32_EnableDpiAwareness(void);
|
||||
CIMGUI_IMPL_API float cImGui_ImplWin32_GetDpiScaleForHwnd(void* hwnd); // HWND hwnd
|
||||
CIMGUI_IMPL_API float cImGui_ImplWin32_GetDpiScaleForMonitor(void* monitor); // HMONITOR monitor
|
||||
|
||||
// Transparency related helpers (optional) [experimental]
|
||||
// - Use to enable alpha compositing transparency with the desktop.
|
||||
// - Use together with e.g. clearing your framebuffer with zero-alpha.
|
||||
CIMGUI_IMPL_API void cImGui_ImplWin32_EnableAlphaCompositing(void* hwnd); // HWND hwnd
|
||||
#endif// #ifndef IMGUI_DISABLE
|
||||
#ifdef __cplusplus
|
||||
} // End of extern "C" block
|
||||
#endif
|
||||
@@ -0,0 +1,427 @@
|
||||
{
|
||||
"defines": [],
|
||||
"enums": [],
|
||||
"typedefs": [
|
||||
{
|
||||
"name": "ImDrawIdx",
|
||||
"type": {
|
||||
"declaration": "unsigned short",
|
||||
"description": {
|
||||
"kind": "Builtin",
|
||||
"builtin_type": "unsigned_short"
|
||||
}
|
||||
},
|
||||
"comments": {
|
||||
"attached": "// Default: 16-bit (for maximum compatibility with renderer backends)"
|
||||
},
|
||||
"conditionals": [
|
||||
{
|
||||
"condition": "ifndef",
|
||||
"expression": "ImDrawIdx"
|
||||
}
|
||||
],
|
||||
"is_internal": false,
|
||||
"source_location": {
|
||||
"filename": "imgui_impl_win32.h"
|
||||
}
|
||||
}
|
||||
],
|
||||
"structs": [
|
||||
{
|
||||
"name": "ImDrawData",
|
||||
"original_fully_qualified_name": "ImDrawData",
|
||||
"kind": "struct",
|
||||
"by_value": false,
|
||||
"forward_declaration": true,
|
||||
"is_anonymous": false,
|
||||
"fields": [],
|
||||
"is_internal": false,
|
||||
"source_location": {
|
||||
"filename": "imgui_impl_win32.h",
|
||||
"line": 1
|
||||
}
|
||||
}
|
||||
],
|
||||
"functions": [
|
||||
{
|
||||
"name": "cImGui_ImplWin32_Init",
|
||||
"original_fully_qualified_name": "ImGui_ImplWin32_Init",
|
||||
"return_type": {
|
||||
"declaration": "bool",
|
||||
"description": {
|
||||
"kind": "Builtin",
|
||||
"builtin_type": "bool"
|
||||
}
|
||||
},
|
||||
"arguments": [
|
||||
{
|
||||
"name": "hwnd",
|
||||
"type": {
|
||||
"declaration": "void*",
|
||||
"description": {
|
||||
"kind": "Pointer",
|
||||
"inner_type": {
|
||||
"kind": "Builtin",
|
||||
"builtin_type": "void"
|
||||
}
|
||||
}
|
||||
},
|
||||
"is_array": false,
|
||||
"is_varargs": false,
|
||||
"is_instance_pointer": false
|
||||
}
|
||||
],
|
||||
"is_default_argument_helper": false,
|
||||
"is_manual_helper": false,
|
||||
"is_imstr_helper": false,
|
||||
"has_imstr_helper": false,
|
||||
"is_unformatted_helper": false,
|
||||
"is_static": false,
|
||||
"comments": {
|
||||
"preceding": [
|
||||
"// Follow \"Getting Started\" link and check examples/ folder to learn about using backends!"
|
||||
]
|
||||
},
|
||||
"is_internal": false,
|
||||
"source_location": {
|
||||
"filename": "imgui_impl_win32.h",
|
||||
"line": 25
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "cImGui_ImplWin32_InitForOpenGL",
|
||||
"original_fully_qualified_name": "ImGui_ImplWin32_InitForOpenGL",
|
||||
"return_type": {
|
||||
"declaration": "bool",
|
||||
"description": {
|
||||
"kind": "Builtin",
|
||||
"builtin_type": "bool"
|
||||
}
|
||||
},
|
||||
"arguments": [
|
||||
{
|
||||
"name": "hwnd",
|
||||
"type": {
|
||||
"declaration": "void*",
|
||||
"description": {
|
||||
"kind": "Pointer",
|
||||
"inner_type": {
|
||||
"kind": "Builtin",
|
||||
"builtin_type": "void"
|
||||
}
|
||||
}
|
||||
},
|
||||
"is_array": false,
|
||||
"is_varargs": false,
|
||||
"is_instance_pointer": false
|
||||
}
|
||||
],
|
||||
"is_default_argument_helper": false,
|
||||
"is_manual_helper": false,
|
||||
"is_imstr_helper": false,
|
||||
"has_imstr_helper": false,
|
||||
"is_unformatted_helper": false,
|
||||
"is_static": false,
|
||||
"is_internal": false,
|
||||
"source_location": {
|
||||
"filename": "imgui_impl_win32.h",
|
||||
"line": 26
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "cImGui_ImplWin32_Shutdown",
|
||||
"original_fully_qualified_name": "ImGui_ImplWin32_Shutdown",
|
||||
"return_type": {
|
||||
"declaration": "void",
|
||||
"description": {
|
||||
"kind": "Builtin",
|
||||
"builtin_type": "void"
|
||||
}
|
||||
},
|
||||
"arguments": [],
|
||||
"is_default_argument_helper": false,
|
||||
"is_manual_helper": false,
|
||||
"is_imstr_helper": false,
|
||||
"has_imstr_helper": false,
|
||||
"is_unformatted_helper": false,
|
||||
"is_static": false,
|
||||
"is_internal": false,
|
||||
"source_location": {
|
||||
"filename": "imgui_impl_win32.h",
|
||||
"line": 27
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "cImGui_ImplWin32_NewFrame",
|
||||
"original_fully_qualified_name": "ImGui_ImplWin32_NewFrame",
|
||||
"return_type": {
|
||||
"declaration": "void",
|
||||
"description": {
|
||||
"kind": "Builtin",
|
||||
"builtin_type": "void"
|
||||
}
|
||||
},
|
||||
"arguments": [],
|
||||
"is_default_argument_helper": false,
|
||||
"is_manual_helper": false,
|
||||
"is_imstr_helper": false,
|
||||
"has_imstr_helper": false,
|
||||
"is_unformatted_helper": false,
|
||||
"is_static": false,
|
||||
"is_internal": false,
|
||||
"source_location": {
|
||||
"filename": "imgui_impl_win32.h",
|
||||
"line": 28
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "cImGui_ImplWin32_WndProcHandler",
|
||||
"original_fully_qualified_name": "ImGui_ImplWin32_WndProcHandler",
|
||||
"return_type": {
|
||||
"declaration": "LRESULT",
|
||||
"description": {
|
||||
"kind": "User",
|
||||
"name": "LRESULT"
|
||||
}
|
||||
},
|
||||
"arguments": [
|
||||
{
|
||||
"name": "hWnd",
|
||||
"type": {
|
||||
"declaration": "HWND",
|
||||
"description": {
|
||||
"kind": "User",
|
||||
"name": "HWND"
|
||||
}
|
||||
},
|
||||
"is_array": false,
|
||||
"is_varargs": false,
|
||||
"is_instance_pointer": false
|
||||
},
|
||||
{
|
||||
"name": "msg",
|
||||
"type": {
|
||||
"declaration": "UINT",
|
||||
"description": {
|
||||
"kind": "User",
|
||||
"name": "UINT"
|
||||
}
|
||||
},
|
||||
"is_array": false,
|
||||
"is_varargs": false,
|
||||
"is_instance_pointer": false
|
||||
},
|
||||
{
|
||||
"name": "wParam",
|
||||
"type": {
|
||||
"declaration": "WPARAM",
|
||||
"description": {
|
||||
"kind": "User",
|
||||
"name": "WPARAM"
|
||||
}
|
||||
},
|
||||
"is_array": false,
|
||||
"is_varargs": false,
|
||||
"is_instance_pointer": false
|
||||
},
|
||||
{
|
||||
"name": "lParam",
|
||||
"type": {
|
||||
"declaration": "LPARAM",
|
||||
"description": {
|
||||
"kind": "User",
|
||||
"name": "LPARAM"
|
||||
}
|
||||
},
|
||||
"is_array": false,
|
||||
"is_varargs": false,
|
||||
"is_instance_pointer": false
|
||||
}
|
||||
],
|
||||
"is_default_argument_helper": false,
|
||||
"is_manual_helper": false,
|
||||
"is_imstr_helper": false,
|
||||
"has_imstr_helper": false,
|
||||
"is_unformatted_helper": false,
|
||||
"is_static": false,
|
||||
"conditionals": [
|
||||
{
|
||||
"condition": "ifdef",
|
||||
"expression": "IMGUI_BACKEND_HAS_WINDOWS_H"
|
||||
}
|
||||
],
|
||||
"is_internal": false,
|
||||
"source_location": {
|
||||
"filename": "imgui_impl_win32.h",
|
||||
"line": 36
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "cImGui_ImplWin32_EnableDpiAwareness",
|
||||
"original_fully_qualified_name": "ImGui_ImplWin32_EnableDpiAwareness",
|
||||
"return_type": {
|
||||
"declaration": "void",
|
||||
"description": {
|
||||
"kind": "Builtin",
|
||||
"builtin_type": "void"
|
||||
}
|
||||
},
|
||||
"arguments": [],
|
||||
"is_default_argument_helper": false,
|
||||
"is_manual_helper": false,
|
||||
"is_imstr_helper": false,
|
||||
"has_imstr_helper": false,
|
||||
"is_unformatted_helper": false,
|
||||
"is_static": false,
|
||||
"comments": {
|
||||
"preceding": [
|
||||
"// DPI-related helpers (optional)",
|
||||
"// - Use to enable DPI awareness without having to create an application manifest.",
|
||||
"// - Your own app may already do this via a manifest or explicit calls. This is mostly useful for our examples/ apps.",
|
||||
"// - In theory we could call simple functions from Windows SDK such as SetProcessDPIAware(), SetProcessDpiAwareness(), etc.",
|
||||
"// but most of the functions provided by Microsoft require Windows 8.1/10+ SDK at compile time and Windows 8/10+ at runtime,",
|
||||
"// neither of which we want to require the user to have. So we dynamically select and load those functions to avoid dependencies."
|
||||
]
|
||||
},
|
||||
"is_internal": false,
|
||||
"source_location": {
|
||||
"filename": "imgui_impl_win32.h",
|
||||
"line": 45
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "cImGui_ImplWin32_GetDpiScaleForHwnd",
|
||||
"original_fully_qualified_name": "ImGui_ImplWin32_GetDpiScaleForHwnd",
|
||||
"return_type": {
|
||||
"declaration": "float",
|
||||
"description": {
|
||||
"kind": "Builtin",
|
||||
"builtin_type": "float"
|
||||
}
|
||||
},
|
||||
"arguments": [
|
||||
{
|
||||
"name": "hwnd",
|
||||
"type": {
|
||||
"declaration": "void*",
|
||||
"description": {
|
||||
"kind": "Pointer",
|
||||
"inner_type": {
|
||||
"kind": "Builtin",
|
||||
"builtin_type": "void"
|
||||
}
|
||||
}
|
||||
},
|
||||
"is_array": false,
|
||||
"is_varargs": false,
|
||||
"is_instance_pointer": false
|
||||
}
|
||||
],
|
||||
"is_default_argument_helper": false,
|
||||
"is_manual_helper": false,
|
||||
"is_imstr_helper": false,
|
||||
"has_imstr_helper": false,
|
||||
"is_unformatted_helper": false,
|
||||
"is_static": false,
|
||||
"comments": {
|
||||
"attached": "// HWND hwnd"
|
||||
},
|
||||
"is_internal": false,
|
||||
"source_location": {
|
||||
"filename": "imgui_impl_win32.h",
|
||||
"line": 46
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "cImGui_ImplWin32_GetDpiScaleForMonitor",
|
||||
"original_fully_qualified_name": "ImGui_ImplWin32_GetDpiScaleForMonitor",
|
||||
"return_type": {
|
||||
"declaration": "float",
|
||||
"description": {
|
||||
"kind": "Builtin",
|
||||
"builtin_type": "float"
|
||||
}
|
||||
},
|
||||
"arguments": [
|
||||
{
|
||||
"name": "monitor",
|
||||
"type": {
|
||||
"declaration": "void*",
|
||||
"description": {
|
||||
"kind": "Pointer",
|
||||
"inner_type": {
|
||||
"kind": "Builtin",
|
||||
"builtin_type": "void"
|
||||
}
|
||||
}
|
||||
},
|
||||
"is_array": false,
|
||||
"is_varargs": false,
|
||||
"is_instance_pointer": false
|
||||
}
|
||||
],
|
||||
"is_default_argument_helper": false,
|
||||
"is_manual_helper": false,
|
||||
"is_imstr_helper": false,
|
||||
"has_imstr_helper": false,
|
||||
"is_unformatted_helper": false,
|
||||
"is_static": false,
|
||||
"comments": {
|
||||
"attached": "// HMONITOR monitor"
|
||||
},
|
||||
"is_internal": false,
|
||||
"source_location": {
|
||||
"filename": "imgui_impl_win32.h",
|
||||
"line": 47
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "cImGui_ImplWin32_EnableAlphaCompositing",
|
||||
"original_fully_qualified_name": "ImGui_ImplWin32_EnableAlphaCompositing",
|
||||
"return_type": {
|
||||
"declaration": "void",
|
||||
"description": {
|
||||
"kind": "Builtin",
|
||||
"builtin_type": "void"
|
||||
}
|
||||
},
|
||||
"arguments": [
|
||||
{
|
||||
"name": "hwnd",
|
||||
"type": {
|
||||
"declaration": "void*",
|
||||
"description": {
|
||||
"kind": "Pointer",
|
||||
"inner_type": {
|
||||
"kind": "Builtin",
|
||||
"builtin_type": "void"
|
||||
}
|
||||
}
|
||||
},
|
||||
"is_array": false,
|
||||
"is_varargs": false,
|
||||
"is_instance_pointer": false
|
||||
}
|
||||
],
|
||||
"is_default_argument_helper": false,
|
||||
"is_manual_helper": false,
|
||||
"is_imstr_helper": false,
|
||||
"has_imstr_helper": false,
|
||||
"is_unformatted_helper": false,
|
||||
"is_static": false,
|
||||
"comments": {
|
||||
"preceding": [
|
||||
"// Transparency related helpers (optional) [experimental]",
|
||||
"// - Use to enable alpha compositing transparency with the desktop.",
|
||||
"// - Use together with e.g. clearing your framebuffer with zero-alpha."
|
||||
],
|
||||
"attached": "// HWND hwnd"
|
||||
},
|
||||
"is_internal": false,
|
||||
"source_location": {
|
||||
"filename": "imgui_impl_win32.h",
|
||||
"line": 52
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,7 @@
|
||||
{
|
||||
"defines": [],
|
||||
"enums": [],
|
||||
"typedefs": [],
|
||||
"structs": [],
|
||||
"functions": []
|
||||
}
|
||||
File diff suppressed because it is too large
Load Diff
Reference in New Issue
Block a user