on 9ea385f help sign in
vty/src/Graphics/Vty/Debug.hs
40 lines 1.3 kB history raw
1-- Copyright 2009-2010 Corey O'Connor
2{-# LANGUAGE ScopedTypeVariables #-}
3module Graphics.Vty.Debug ( module Graphics.Vty.Debug
4 , module Graphics.Vty.Debug.Image
5 )
6where
8import Graphics.Vty.Attributes
9import Graphics.Vty.Debug.Image
10import Graphics.Vty.Span
11import Graphics.Vty.DisplayRegion
13import qualified Data.Vector as Vector
15row_ops_effected_columns :: DisplayOps -> [Int]
16row_ops_effected_columns ops
17 = Vector.toList $ Vector.map span_ops_effected_columns ops
19all_spans_have_width :: DisplayOps -> Int -> Bool
20all_spans_have_width ops expected
21 = all (== expected) $ Vector.toList $ Vector.map span_ops_effected_columns ops
23span_ops_effected_rows :: DisplayOps -> Int
24span_ops_effected_rows ops
25 = toEnum $ length (filter (not . null . Vector.toList) (Vector.toList ops))
27type SpanConstructLog = [SpanConstructEvent]
28data SpanConstructEvent = SpanSetAttr Attr
30is_set_attr :: Attr -> SpanConstructEvent -> Bool
31is_set_attr expected_attr (SpanSetAttr in_attr)
32 | in_attr == expected_attr = True
33is_set_attr _attr _event = False
35data MockWindow = MockWindow Int Int
36 deriving (Show, Eq)
38region_for_window :: MockWindow -> DisplayRegion
39region_for_window (MockWindow w h) = DisplayRegion w h