diff options
| author | Akshay Nair <phenax5@gmail.com> | 2024-12-14 19:01:02 +0530 |
|---|---|---|
| committer | Akshay Nair <phenax5@gmail.com> | 2024-12-14 19:01:02 +0530 |
| commit | 73564537897f7573690955596097085b711c92e5 (patch) | |
| tree | fcc3a9dc40f43c18be62d766b1a7c2439125a2cb /src/Chelleport/Draw.hs | |
| parent | f48587bda4dea13920a96dda06b735be484614a9 (diff) | |
| download | chelleport-73564537897f7573690955596097085b711c92e5.tar.gz chelleport-73564537897f7573690955596097085b711c92e5.zip | |
Grid ui cleanup
Diffstat (limited to '')
| -rw-r--r-- | src/Chelleport/Draw.hs | 21 |
1 files changed, 20 insertions, 1 deletions
diff --git a/src/Chelleport/Draw.hs b/src/Chelleport/Draw.hs index 3c2e2a8..6375997 100644 --- a/src/Chelleport/Draw.hs +++ b/src/Chelleport/Draw.hs @@ -1,6 +1,6 @@ module Chelleport.Draw where -import Chelleport.Context (DrawContext (ctxFont, ctxRenderer)) +import Chelleport.Context (DrawContext (ctxFont, ctxRenderer, ctxWindow)) import Data.Text (Text) import Data.Word (Word8) import Foreign.C (CInt) @@ -13,6 +13,15 @@ colorWhite = SDL.V4 255 255 255 255 colorLightGray :: SDL.V4 Word8 colorLightGray = SDL.V4 100 100 100 255 +colorGridLines :: SDL.V4 Word8 +colorGridLines = SDL.V4 127 29 29 150 + +colorAxisLines :: SDL.V4 Word8 +colorAxisLines = SDL.V4 239 68 68 255 + +colorBackground :: SDL.V4 Word8 +colorBackground = SDL.V4 15 12 25 0 + renderText :: DrawContext -> SDL.V2 CInt -> SDL.V4 Word8 -> Text -> IO (CInt, CInt) renderText ctx position color text = do surface <- TTF.blended (ctxFont ctx) color text @@ -30,3 +39,13 @@ renderText ctx position color text = do SDL.destroyTexture texture pure (textWidth, textHeight) + +drawHorizontalLine :: DrawContext -> CInt -> IO () +drawHorizontalLine ctx x = do + (SDL.V2 width _height) <- SDL.get $ SDL.windowSize $ ctxWindow ctx + SDL.drawLine (ctxRenderer ctx) (SDL.P $ SDL.V2 0 x) (SDL.P $ SDL.V2 width x) + +drawVerticalLine :: DrawContext -> CInt -> IO () +drawVerticalLine ctx x = do + (SDL.V2 _width height) <- SDL.get $ SDL.windowSize $ ctxWindow ctx + SDL.drawLine (ctxRenderer ctx) (SDL.P $ SDL.V2 x 0) (SDL.P $ SDL.V2 x height) |
