---------------------------------------------------------
-- |
-- Copyright   : (c) alpha 2006
-- License     : BSD-style
--
-- Maintainer  : misc@NOSPAMalpheccar.org
-- Stability   : experimental
-- Portability : portable
--
-- PDF API for Haskell
---------------------------------------------------------
module Graphics.PDF
  (-- * HPDF
   -- ** The PDF type
    PDF
   -- ** PDF Operator used to build a PDF document (in addition to the Monoid ones)
   ,withContext, (<>), emptyPdf, PdfCmd
   -- ** PDF Transformations
   , module Graphics.PDF.Geometry
    -- ** PDF Text
   , module Graphics.PDF.Text
   -- ** PDF Shapes
   , module Graphics.PDF.Shape
   -- ** PDF Colors
   , module Graphics.PDF.Color
   -- ** PDF Shadings
   , module Graphics.PDF.Shading
    -- ** PDF Font
   , module Graphics.PDF.Font
   -- ** PDF File
   , module Graphics.PDF.File
   -- * Example
   -- $example
  ) where
  

import Graphics.PDF.LowLevel
import Graphics.PDF.Geometry
import Graphics.PDF.Shape
import Graphics.PDF.Color
import Graphics.PDF.Shading
import Graphics.PDF.File
import Graphics.PDF.Text
import Graphics.PDF.Font


-- $example
-- > test :: IO ()
-- > test = let document = rgbSpace <>
-- >                       chooseFont Helvetica 70 <> 
-- >                       applyMatrix (translate 50 0) <>
-- >                       applyMatrix (rotate (Degree 45)) <>
-- >                       clipText 0 0 "HPDF" <> 
-- >                       applyMatrix (rotate (Degree (-45))) <>
-- >                       applyMatrix (translate (-50) 0) <>
-- >                       fillColor (Rgb 0 0 1) <>
-- >                       fillRectangle 0 0 100 100 <>
-- >                       fillColor (Rgb 1 0 0) <>
-- >                       setAlpha 0.4 <>
-- >                       fillRectangle 50 50 100 100 <>
-- >                       resetAlpha <>
-- >                       fillColor (Rgb 0 1 0) <>
-- >                       fillRectangle 80 80 100 100 <>
-- >                       emptyPdf 180 180
-- >        in
-- >        writePdf "test.pdf" document