Files
loop/src/Dodge/Render/InfoBox.hs
T
2022-04-10 23:07:11 +01:00

29 lines
929 B
Haskell

module Dodge.Render.InfoBox where
import Dodge.Data
--import Dodge.Base.Window
--import Dodge.Base.WinScale
import Dodge.Render.Connectors
import Dodge.Render.List
import Dodge.Base
import Picture
import Geometry
--import qualified Control.Foldl as L
--import Control.Monad
--import Data.Maybe
renderInfoListAt :: Float -> Float -> Configuration -> World -> (Point2,[String]) -> Picture
renderInfoListAt x y cfig w (p,ss) = renderListAt x y cfig (zip ss (repeat yellow))
<> winScale cfig (color yellow $ lConnect (V2 (x-hw) (hh-20-y)) (worldPosToScreen w p))
where
hw = halfWidth cfig
hh = halfHeight cfig
renderInfoListsAt :: Float -> Float -> Configuration -> World -> [(Point2,[String])] -> Picture
renderInfoListsAt x y cfig w =
fst . foldr f (mempty,0)
where
f (p,ss) (pic,offset) = (pic <> renderInfoListAt x (y + offset) cfig w (p,ss)
, offset + 20 * fromIntegral (length ss)
)