@@ -69,13 +69,16 @@ picForLayers is = Picture
6969--
7070-- todo: The Cursor can be given a (character,row) offset outside of the visible bounds of the
7171-- output region. In this case the cursor will not be shown.
72−data Cursor =
72+data Cursor =
73+ -- | Hide the cursor
7374 NoCursor
74− | Cursor Int Int
75+ -- | Show the cursor at the given logical column accounting for char width and row
76+ | Cursor !Int !Int
77+ -- | Show the cursor at the given absolute terminal column and row
78+ | AbsoluteCursor !Int !Int
7579
7680instance NFData Cursor where
77− rnf NoCursor = ()
78− rnf (Cursor w h) = w `seq` h `seq` ()
81+ rnf c = c `seq` ()
7982
8083-- | A 'Picture' has a background pattern. The background is either ClearBackground. Which shows the
8184-- layer below or is blank if the bottom layer. Or the background pattern is a character and a
@@ -85,11 +88,11 @@ instance NFData Cursor where
8588-- \todo The current attribute is always set to the default attributes at the start of updating the
8689-- screen to a picture.
8790data Background
88− = Background
91+ = Background
8992 { backgroundChar :: Char
9093 , backgroundAttr :: Attr
9194 }
92− -- | A ClearBackground is:
95+ -- | A ClearBackground is:
9396 --
9497 -- * the space character if there are remaining non-skip ops
9598 --