diff options
| author | Egor <egor.yusov@gmail.com> | 2019-10-02 04:18:47 +0000 |
|---|---|---|
| committer | Egor <egor.yusov@gmail.com> | 2019-10-02 04:18:47 +0000 |
| commit | 9b5811dffcebc61121ef6d3d9746817aabdabc4e (patch) | |
| tree | 2b6bd7b5de1785f8709734638fcf05f1b4484851 /Imgui/interface | |
| parent | Added ImGui Linux implementation stub (diff) | |
| download | DiligentTools-9b5811dffcebc61121ef6d3d9746817aabdabc4e.tar.gz DiligentTools-9b5811dffcebc61121ef6d3d9746817aabdabc4e.zip | |
Imgui Linux impl: implemented xcb event handling
Diffstat (limited to 'Imgui/interface')
| -rw-r--r-- | Imgui/interface/ImGuiImplLinuxXCB.h (renamed from Imgui/interface/ImGuiImplLinux.h) | 37 |
1 files changed, 24 insertions, 13 deletions
diff --git a/Imgui/interface/ImGuiImplLinux.h b/Imgui/interface/ImGuiImplLinuxXCB.h index fee4a9a..bef1035 100644 --- a/Imgui/interface/ImGuiImplLinux.h +++ b/Imgui/interface/ImGuiImplLinuxXCB.h @@ -24,28 +24,39 @@ #pragma once #include <memory> + #include "ImGuiImplDiligent.h" +struct _XCBKeySymbols; + namespace Diligent { -class ImGuiImplLinux final : public ImGuiImplDiligent +class ImGuiImplLinuxXCB final : public ImGuiImplDiligent { public: - ImGuiImplLinux(//HWND hWnd, - IRenderDevice* pDevice, - TEXTURE_FORMAT BackBufferFmt, - TEXTURE_FORMAT DepthBufferFmt, - Uint32 InitialVertexBufferSize = ImGuiImplDiligent::DefaultInitialVBSize, - Uint32 InitialIndexBufferSize = ImGuiImplDiligent::DefaultInitialIBSize); - ~ImGuiImplLinux(); - - ImGuiImplLinux (const ImGuiImplLinux&) = delete; - ImGuiImplLinux ( ImGuiImplLinux&&) = delete; - ImGuiImplLinux& operator = (const ImGuiImplLinux&) = delete; - ImGuiImplLinux& operator = ( ImGuiImplLinux&&) = delete; + ImGuiImplLinuxXCB(xcb_connection_t* connection, + IRenderDevice* pDevice, + TEXTURE_FORMAT BackBufferFmt, + TEXTURE_FORMAT DepthBufferFmt, + Uint32 DisplayWidht, + Uint32 DisplayHeight, + Uint32 InitialVertexBufferSize = ImGuiImplDiligent::DefaultInitialVBSize, + Uint32 InitialIndexBufferSize = ImGuiImplDiligent::DefaultInitialIBSize); + ~ImGuiImplLinuxXCB(); + + ImGuiImplLinuxXCB (const ImGuiImplLinuxXCB&) = delete; + ImGuiImplLinuxXCB ( ImGuiImplLinuxXCB&&) = delete; + ImGuiImplLinuxXCB& operator = (const ImGuiImplLinuxXCB&) = delete; + ImGuiImplLinuxXCB& operator = ( ImGuiImplLinuxXCB&&) = delete; + bool HandleXCBEvent(xcb_generic_event_t* event); virtual void NewFrame()override final; + +private: + void HandleKeyEvent(xcb_key_release_event_t* event); + + _XCBKeySymbols* m_syms = nullptr; }; } |
