From b9d0c16ae87d37f26f94d24933b8e9e72c93d50e Mon Sep 17 00:00:00 2001 From: Kjetil Orbekk Date: Wed, 24 Feb 2016 03:52:12 +0100 Subject: Working curses example. --- app/Main.hs | 18 +++++++++++++++++- rougelike.cabal | 1 + 2 files changed, 18 insertions(+), 1 deletion(-) diff --git a/app/Main.hs b/app/Main.hs index 9d74405..69afe0d 100644 --- a/app/Main.hs +++ b/app/Main.hs @@ -1,6 +1,22 @@ module Main where +import qualified UI.HSCurses.Curses as Curses +import qualified UI.HSCurses.Widgets as W +import qualified UI.HSCurses.CursesHelper as CursesH + import Lib +mkTextWidget :: String -> W.TextWidget +mkTextWidget m = W.newTextWidget options m + where options = W.defaultTWOptions + { W.twopt_size = W.TWSizeFixed (1, length m) } + main :: IO () -main = undefined +main = do + CursesH.start + let w = mkTextWidget "Hello, Curses!" + size <- Curses.scrSize + W.draw (0, 0) (1, 14) W.DHNormal w + Curses.refresh + Curses.getCh + CursesH.end diff --git a/rougelike.cabal b/rougelike.cabal index 56f7ecd..6c202e1 100644 --- a/rougelike.cabal +++ b/rougelike.cabal @@ -32,6 +32,7 @@ executable rougelike-exe ghc-options: -threaded -rtsopts -with-rtsopts=-N build-depends: base , rougelike + , hscurses default-language: Haskell2010 test-suite rougelike-test -- cgit v1.2.3