30 lines
802 B
Haskell
30 lines
802 B
Haskell
--{-# LANGUAGE TupleSections #-}
|
|
module Dodge.Render.Picture
|
|
( fixedCoordPictures
|
|
) where
|
|
import Dodge.Data
|
|
import Dodge.Base.Window
|
|
import Dodge.Picture.Layer
|
|
import Dodge.Render.HUD
|
|
import Dodge.Render.MenuScreen
|
|
import Geometry
|
|
import Picture
|
|
|
|
fixedCoordPictures :: World -> Picture
|
|
fixedCoordPictures w = case _menuLayers w of
|
|
[] -> pictures
|
|
[ hudDrawings w
|
|
, customMouseCursor w
|
|
]
|
|
(lay:_) -> scaler . onLayer MenuDepth $ menuScreen w lay
|
|
where
|
|
scaler = setDepth (-1) . scale (2 / getWindowX w) (2 / getWindowY w)
|
|
|
|
customMouseCursor :: World -> Picture
|
|
customMouseCursor w =
|
|
scale (2 /getWindowX w) (2/ getWindowY w)
|
|
. uncurryV translate (_mousePos w)
|
|
. color white
|
|
$ pictures [ line [V2 (-5) 0,V2 5 0] , line [V2 0 (-5),V2 0 5] ]
|
|
|