mirror of
https://github.com/Drezil/dear-imgui.hs.git
synced 2025-07-06 04:58:48 +02:00
Wrap GetCurrentContext and SetCurrentContext (#94)
This commit is contained in:
committed by
GitHub
parent
24519778e6
commit
c219f8eb4f
@ -20,6 +20,8 @@ module DearImGui.Raw
|
||||
Context(..)
|
||||
, createContext
|
||||
, destroyContext
|
||||
, getCurrentContext
|
||||
, setCurrentContext
|
||||
|
||||
-- * Main
|
||||
, newFrame
|
||||
@ -234,19 +236,30 @@ Cpp.using "namespace ImGui"
|
||||
|
||||
|
||||
-- | Wraps @ImGuiContext*@.
|
||||
newtype Context = Context (Ptr ())
|
||||
newtype Context = Context (Ptr ImGuiContext)
|
||||
|
||||
|
||||
-- | Wraps @ImGui::CreateContext()@.
|
||||
createContext :: (MonadIO m) => m Context
|
||||
createContext = liftIO do
|
||||
Context <$> [C.exp| void* { CreateContext() } |]
|
||||
Context <$> [C.exp| ImGuiContext* { CreateContext() } |]
|
||||
|
||||
|
||||
-- | Wraps @ImGui::DestroyContext()@.
|
||||
destroyContext :: (MonadIO m) => Context -> m ()
|
||||
destroyContext (Context contextPtr) = liftIO do
|
||||
[C.exp| void { DestroyContext((ImGuiContext*)$(void* contextPtr)); } |]
|
||||
[C.exp| void { DestroyContext($(ImGuiContext* contextPtr)); } |]
|
||||
|
||||
-- | Wraps @ImGui::GetCurrentContext()@.
|
||||
getCurrentContext :: MonadIO m => m Context
|
||||
getCurrentContext = liftIO do
|
||||
Context <$> [C.exp| ImGuiContext* { GetCurrentContext() } |]
|
||||
|
||||
|
||||
-- | Wraps @ImGui::SetCurrentContext()@.
|
||||
setCurrentContext :: MonadIO m => Context -> m ()
|
||||
setCurrentContext (Context contextPtr) = liftIO do
|
||||
[C.exp| void { SetCurrentContext($(ImGuiContext* contextPtr)) } |]
|
||||
|
||||
|
||||
-- | Start a new Dear ImGui frame, you can submit any command from this point
|
||||
|
Reference in New Issue
Block a user