-- | A text rendering and typesetting library for OpenGL.
--
-- It is enough to import this module to use the library.
--
-- To render text, first initialize your fonts with 'newMultiFont'; 
-- then build a 'Document' describing what you want to render;
-- after that, create a 'Layout' out of it using 'createLayout';
-- finally render it with 'renderLayout'. Optionally you can also 
-- query the screen location of identified parts of the document,
-- and do something with them.
-- 
-- There is an example program (@example-STIX.hs@) in the example subdirectory
-- illustrating how to use it.
--

module Graphics.Rendering.MiniTypeset
  ( -- * Common types
    module Graphics.Rendering.MiniTypeset.Common
    -- * Documents
  , module Graphics.Rendering.MiniTypeset.Document
    -- * Boxes
  , module Graphics.Rendering.MiniTypeset.Box
    -- * \"Multifonts\"
  , UserFontConfig(..) , MultiFont , newMultiFont , MultiFontGlyph
    -- * Layout
  , Layout  -- Layout(..) , LayoutDecoration(..)
  , createLayout, createLayout'
  , dryrunLayout, renderLayout, renderLayout'
    -- * Rendering
  , module Graphics.Rendering.MiniTypeset.Render
  )
  where

--------------------------------------------------------------------------------

import Graphics.Rendering.MiniTypeset.Box
import Graphics.Rendering.MiniTypeset.Common hiding ( mapAccumM )
import Graphics.Rendering.MiniTypeset.Layout
import Graphics.Rendering.MiniTypeset.Document
import Graphics.Rendering.MiniTypeset.FontTexture
import Graphics.Rendering.MiniTypeset.MultiFont
import Graphics.Rendering.MiniTypeset.Render

--------------------------------------------------------------------------------