29 lines
929 B
Haskell
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)
|
|
)
|