DirectX 9 backend, part 2
it compiles
This commit is contained in:
parent
39daeed27a
commit
056545d899
|
@ -506,9 +506,7 @@ static void ImGui_ImplDX9_RenderWindow(ImGuiViewport* viewport, void*)
|
||||||
static void ImGui_ImplDX9_SwapBuffers(ImGuiViewport* viewport, void*)
|
static void ImGui_ImplDX9_SwapBuffers(ImGuiViewport* viewport, void*)
|
||||||
{
|
{
|
||||||
ImGui_ImplDX9_ViewportData* vd = (ImGui_ImplDX9_ViewportData*)viewport->RendererUserData;
|
ImGui_ImplDX9_ViewportData* vd = (ImGui_ImplDX9_ViewportData*)viewport->RendererUserData;
|
||||||
HRESULT hr = vd->SwapChain->Present(nullptr, nullptr, vd->d3dpp.hDeviceWindow, nullptr, 0);
|
vd->SwapChain->Present(nullptr, nullptr, vd->d3dpp.hDeviceWindow, nullptr, 0);
|
||||||
// Let main application handle D3DERR_DEVICELOST by resetting the device.
|
|
||||||
IM_ASSERT(hr == D3D_OK || hr == D3DERR_DEVICELOST);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
static void ImGui_ImplDX9_InitPlatformInterface()
|
static void ImGui_ImplDX9_InitPlatformInterface()
|
||||||
|
|
|
@ -74,7 +74,7 @@ void FurnaceGUIRenderDX9::setBlendMode(FurnaceGUIBlendMode mode) {
|
||||||
void FurnaceGUIRenderDX9::resized(const SDL_Event& ev) {
|
void FurnaceGUIRenderDX9::resized(const SDL_Event& ev) {
|
||||||
logI("DX9: resizing buffers");
|
logI("DX9: resizing buffers");
|
||||||
ImGui_ImplDX9_InvalidateDeviceObjects();
|
ImGui_ImplDX9_InvalidateDeviceObjects();
|
||||||
HRESULT result=g_pd3dDevice->Reset(&priv->present);
|
HRESULT result=device->Reset(&priv->present);
|
||||||
if (result==D3DERR_INVALIDCALL) {
|
if (result==D3DERR_INVALIDCALL) {
|
||||||
logE("OH NO");
|
logE("OH NO");
|
||||||
}
|
}
|
||||||
|
@ -82,14 +82,7 @@ void FurnaceGUIRenderDX9::resized(const SDL_Event& ev) {
|
||||||
}
|
}
|
||||||
|
|
||||||
void FurnaceGUIRenderDX9::clear(ImVec4 color) {
|
void FurnaceGUIRenderDX9::clear(ImVec4 color) {
|
||||||
float floatColor[4]={
|
device->Clear(0,NULL,D3DCLEAR_TARGET|D3DCLEAR_ZBUFFER,ImGui::ColorConvertFloat4ToU32(color),0,0);
|
||||||
color.x*color.w,
|
|
||||||
color.y*color.w,
|
|
||||||
color.z*color.w,
|
|
||||||
color.w,
|
|
||||||
};
|
|
||||||
|
|
||||||
device->Clear(0,NULL,D3DCLEAR_TARGET|D3DCLEAR_ZBUFFER,ImGui::ColorConvertFloat4ToU32(floatColor),0,0);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void FurnaceGUIRenderDX9::present() {
|
void FurnaceGUIRenderDX9::present() {
|
||||||
|
@ -97,7 +90,8 @@ void FurnaceGUIRenderDX9::present() {
|
||||||
}
|
}
|
||||||
|
|
||||||
bool FurnaceGUIRenderDX9::newFrame() {
|
bool FurnaceGUIRenderDX9::newFrame() {
|
||||||
return ImGui_ImplDX9_NewFrame();
|
ImGui_ImplDX9_NewFrame();
|
||||||
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
bool FurnaceGUIRenderDX9::canVSync() {
|
bool FurnaceGUIRenderDX9::canVSync() {
|
||||||
|
@ -185,7 +179,7 @@ bool FurnaceGUIRenderDX9::init(SDL_Window* win, int swapInt) {
|
||||||
|
|
||||||
priv=new FurnaceGUIRenderDX9Private;
|
priv=new FurnaceGUIRenderDX9Private;
|
||||||
|
|
||||||
memset(priv->present,0,sizeof(D3DPRESENT_PARAMETERS);
|
memset(&priv->present,0,sizeof(D3DPRESENT_PARAMETERS));
|
||||||
priv->present.Windowed=TRUE;
|
priv->present.Windowed=TRUE;
|
||||||
priv->present.SwapEffect=D3DSWAPEFFECT_DISCARD;
|
priv->present.SwapEffect=D3DSWAPEFFECT_DISCARD;
|
||||||
priv->present.BackBufferFormat=D3DFMT_UNKNOWN;
|
priv->present.BackBufferFormat=D3DFMT_UNKNOWN;
|
||||||
|
@ -211,7 +205,7 @@ bool FurnaceGUIRenderDX9::init(SDL_Window* win, int swapInt) {
|
||||||
|
|
||||||
void FurnaceGUIRenderDX9::initGUI(SDL_Window* win) {
|
void FurnaceGUIRenderDX9::initGUI(SDL_Window* win) {
|
||||||
ImGui_ImplSDL2_InitForD3D(win);
|
ImGui_ImplSDL2_InitForD3D(win);
|
||||||
ImGui_ImplDX9_Init(device,context);
|
ImGui_ImplDX9_Init(device);
|
||||||
}
|
}
|
||||||
|
|
||||||
bool FurnaceGUIRenderDX9::quit() {
|
bool FurnaceGUIRenderDX9::quit() {
|
||||||
|
|
|
@ -26,7 +26,6 @@ struct FurnaceGUIRenderDX9Private {
|
||||||
};
|
};
|
||||||
#else
|
#else
|
||||||
typedef void IDirect3D9;
|
typedef void IDirect3D9;
|
||||||
typedef void IDirect3DDevice9;
|
|
||||||
typedef void FurnaceGUIRenderDX9Private;
|
typedef void FurnaceGUIRenderDX9Private;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue