You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
42 lines
1.3 KiB
42 lines
1.3 KiB
module Main where
|
|
|
|
import Raylib.Core
|
|
import Raylib.Types
|
|
import Raylib.Util
|
|
import Raylib.Core.Text
|
|
import Raylib.Util.Colors
|
|
import Data.IORef
|
|
|
|
import State
|
|
import Board
|
|
import UI
|
|
|
|
main :: IO ()
|
|
main = do
|
|
let pattern = BGPatternGrid { bg'vSpacing = 25
|
|
, bg'thickness = 1
|
|
, bg'hSpacing = 25
|
|
, bg'fillColor = BoardColor rayWhite
|
|
, bg'drawColor = BoardColor lightGray
|
|
}
|
|
let pathTest = Path { path'thickness= 3
|
|
, path'points= map (Point . (uncurry Vector2))
|
|
[(0,0), (1, 3), (0.5, 2)]
|
|
, path'color= BoardColor purple
|
|
}
|
|
appState <- newIORef $ AppState (ActionDraw (Path [] 1.0 $ BoardColor black))
|
|
(Board "Untitled" pattern [pathTest])
|
|
""
|
|
(Point $ Vector2 0.0 0.0)
|
|
1.1
|
|
withWindow 800 600 "Noteboard" 60
|
|
(\_ -> do
|
|
setWindowState [WindowResizable, WindowMaximized]
|
|
whileWindowOpen0
|
|
( drawing
|
|
( do
|
|
drawUI appState
|
|
)
|
|
)
|
|
)
|
|
|