{-# LANGUAGE BlockArguments #-}
{-# LANGUAGE FlexibleContexts #-}
{-# LANGUAGE NamedFieldPuns #-}
{-# LANGUAGE OverloadedStrings #-}
{-# LANGUAGE PatternSynonyms #-}
{-# LANGUAGE QuasiQuotes #-}
{-# LANGUAGE TemplateHaskell #-}
module DearImGui.GLFW (
glfwNewFrame
, glfwShutdown
)
where
import qualified Language.C.Inline as C
import qualified Language.C.Inline.Cpp as Cpp
import Control.Monad.IO.Class
( MonadIO, liftIO )
C.context (Cpp.cppCtx <> C.bsCtx)
C.include "imgui.h"
C.include "backends/imgui_impl_glfw.h"
Cpp.using "namespace ImGui"
glfwNewFrame :: MonadIO m => m ()
glfwNewFrame :: m ()
glfwNewFrame = IO () -> m ()
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO do
[C.exp| void { ImGui_ImplGlfw_NewFrame(); } |]
glfwShutdown :: MonadIO m => m ()
glfwShutdown :: m ()
glfwShutdown = IO () -> m ()
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO do
[C.exp| void { ImGui_ImplGlfw_Shutdown(); } |]