Currently, the implementation headers don't include the imgui.h header. Which means that the compilation will fail if the implementation header was included before the imgui.h header in the compilation unit. For instance, a compilation unit with the following will work: #include "imgui.h" #include "imgui_impl_glfw.h" #include "imgui_impl_opengl3.h" But a compilation unit with the following will fail because IMGUI_IMPL_API and possibly other symbols will not be defined: #include "imgui_impl_glfw.h" #include "imgui_impl_opengl3.h" #include "imgui.h" This patch includes imgui.h in the implementation headers to make inclusions order-invariant, which is a recommended practice.
26 lines
1.1 KiB
C
26 lines
1.1 KiB
C
// dear imgui: Renderer for DirectX9
|
|
// This needs to be used along with a Platform Binding (e.g. Win32)
|
|
|
|
// Implemented features:
|
|
// [X] Renderer: User texture binding. Use 'LPDIRECT3DTEXTURE9' as ImTextureID. Read the FAQ about ImTextureID!
|
|
// [X] Renderer: Support for large meshes (64k+ vertices) with 16-bit indices.
|
|
|
|
// You can copy and use unmodified imgui_impl_* files in your project. See main.cpp for an example of using this.
|
|
// If you are new to dear imgui, read examples/README.txt and read the documentation at the top of imgui.cpp.
|
|
// https://github.com/ocornut/imgui
|
|
|
|
#pragma once
|
|
|
|
#include "imgui.h"
|
|
|
|
struct IDirect3DDevice9;
|
|
|
|
IMGUI_IMPL_API bool ImGui_ImplDX9_Init(IDirect3DDevice9* device);
|
|
IMGUI_IMPL_API void ImGui_ImplDX9_Shutdown();
|
|
IMGUI_IMPL_API void ImGui_ImplDX9_NewFrame();
|
|
IMGUI_IMPL_API void ImGui_ImplDX9_RenderDrawData(ImDrawData* draw_data);
|
|
|
|
// Use if you want to reset your rendering device without losing ImGui state.
|
|
IMGUI_IMPL_API bool ImGui_ImplDX9_CreateDeviceObjects();
|
|
IMGUI_IMPL_API void ImGui_ImplDX9_InvalidateDeviceObjects();
|