M package.yaml => package.yaml +8 -9
@@ 1,23 1,24 @@
name: typograffiti
version: 0.1.0.0
-github: "githubuser/typograffiti"
+github: "schell/typograffiti"
license: BSD3
-author: "Author name here"
-maintainer: "example@example.com"
-copyright: "2018 Author name here"
+author: "Schell Scivally"
+maintainer: "schell@takt.com"
+copyright: "2018 Schell Scivally"
extra-source-files:
- README.md
- ChangeLog.md
# Metadata used when publishing your package
-# synopsis: Short description of your package
-# category: Web
+synopsis: Display TTF fonts in OpenGL. Includes caching for fast
+ rendering.
+category: Graphics
# To avoid duplicated efforts in documentation and dealing with the
# complications of embedding Haddock markup inside cabal files, it is
# common to point users to the README.md file.
-description: Please see the README on GitHub at <https://github.com/githubuser/typograffiti#readme>
+description: A library that lets you draw nice text already!
dependencies:
- base >= 4.7 && < 5
@@ 39,14 40,12 @@ executables:
typograffiti-exe:
main: Main.hs
source-dirs: app
- other-modules: Paths_typograffiti
ghc-options:
- -threaded
- -rtsopts
- -with-rtsopts=-N
dependencies:
- filepath
- - JuicyPixels
- pretty-show
- sdl2
- typograffiti
M src/Typograffiti/Cache.hs => src/Typograffiti/Cache.hs +16 -4
@@ 271,6 271,19 @@ fragmentShader = B8.pack $ unlines
]
+liftGL
+ :: ( MonadIO m
+ , MonadError TypograffitiError m
+ )
+ => m (Either String a)
+ -> m a
+liftGL n = do
+ let lft = liftEither . first TypograffitiErrorGL
+ n >>= lft
+
+
+-- | A default operation for allocating one word worth of geometry. This is "word" as in
+-- an English word, not a data type.
makeDefaultAllocateWord
:: ( MonadIO m
, MonadError TypograffitiError m
@@ 286,10 299,9 @@ makeDefaultAllocateWord
makeDefaultAllocateWord getContextSize = do
let position = 0
uv = 1
- liftGL = liftEither . first TypograffitiErrorGL
- vert <- liftGL =<< compileOGLShader vertexShader GL_VERTEX_SHADER
- frag <- liftGL =<< compileOGLShader fragmentShader GL_FRAGMENT_SHADER
- prog <- liftGL =<< compileOGLProgram
+ vert <- liftGL $ compileOGLShader vertexShader GL_VERTEX_SHADER
+ frag <- liftGL $ compileOGLShader fragmentShader GL_FRAGMENT_SHADER
+ prog <- liftGL $ compileOGLProgram
[ ("position", fromIntegral position)
, ("uv", fromIntegral uv)
]