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-25-y)) (worldPosToScreen w p)) <> listCursorNSW x y cfig 0 yellow 19 (length ss) 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) )