module Number where
import qualified Graphics.UI.SDL as SDL
import Resource
import Pos
numberBmp = "./resource/image/number.bmp"
numberSize = (15.0, 30.0)
number2Bmp = "./resource/image/number2.bmp"
number2Size = (17.4, 50.0)
numberPaints :: String -> RealPos -> Pos -> Int -> [Paint]
numberPaints filename (w, h) (x, y) n = let
(iw, ih) = floorPos (w, h) :: Pos
tips = map (\n -> (filename, Just (SDL.Rect (floor $ (fromIntegral n)*w) 0 iw ih))) (sepInt n) in
zip tips [Just (SDL.Rect (floor $ (fromIntegral x)+dx) y iw ih) | dx <- [0,w..]]
sepInt :: Int -> [Int]
sepInt 0 = [0]
sepInt n = (case div n 10 of 0 -> []; u->sepInt u) ++ [mod n 10]
-- `æ
-- æt@CE¶TCYE`æÊuE\¦l
renderNumber :: SDL.Surface -> Resource -> String -> RealPos -> Pos -> Int -> IO ()
renderNumber surf res filename (w, h) (x, y) n = mapM_ (renderPaint res surf) (numberPaints filename (w, h) (x, y) n)