module SelectorRenderer ( renderSelector , renderSelected ) where import Selector import PNGRenderer ----------------------------- Constants ------------------------------ selectorFilePath :: FilePath selectorFilePath = "./lib/assets/selector.png" selectedFilePath :: FilePath selectedFilePath = "./lib/assets/selected.png" selectorRenders :: (Picture, Picture) selectorRenders = ( renderPNG selectorFilePath, renderPNG selectedFilePath ) ---------------------------------------------------------------------- -- Render the outline of the selector. The offset for every value 1 -- in the coordinate must be given. renderSelector :: Float -> Float -> Selector -> Picture renderSelector a b Selector{ position = (x,y) } = translate fx fy render where fx = fromIntegral x * a fy = fromIntegral y * b render = fst selectorRenders -- Render the selected piece if any. renderSelected :: Float -> Float -> Selector -> Picture renderSelected a b Selector{ selected = Just (x, y) } = translate fx fy render where fx = fromIntegral x * a fy = fromIntegral y * b render = snd selectorRenders renderSelected _ _ _ = blank