summaryrefslogtreecommitdiffstats
path: root/Imgui/interface
diff options
context:
space:
mode:
authorEgor <egor.yusov@gmail.com>2019-10-02 04:18:47 +0000
committerEgor <egor.yusov@gmail.com>2019-10-02 04:18:47 +0000
commit9b5811dffcebc61121ef6d3d9746817aabdabc4e (patch)
tree2b6bd7b5de1785f8709734638fcf05f1b4484851 /Imgui/interface
parentAdded ImGui Linux implementation stub (diff)
downloadDiligentTools-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;
};
}