simple-cairo-0.1.0.5: test/test-rotate.hs
{-# OPTIONS_GHC -Wall -fno-warn-tabs #-}
import Graphics.Cairo.Exception
import Graphics.Cairo.Values
import Graphics.Cairo.Drawing.CairoT
import Graphics.Cairo.Drawing.CairoPatternT
import Graphics.Cairo.Drawing.Transformations
import Graphics.Cairo.Surfaces.ImageSurfaces
import Graphics.Cairo.Surfaces.PngSupport
import Paths_simple_cairo
main :: IO ()
main = do
putStrLn "*** TEST ROTATE BEGIN ***"
sfc0 <- cairoImageSurfaceCreate cairoFormatArgb32 256 256
cr <- cairoCreate sfc0
sfc <- cairoSurfaceCreateFromPng =<< getDataFileName "HaskellLogo.png"
ptn <- cairoPatternCreateForSurface sfc
cairoTranslate cr 128 ((256 - sqrt 2 * 128) / 2)
cairoRotate cr (pi / 4)
cairoSetSource cr ptn
cairoPaint cr
cairoStatusToThrowError . (\(CairoStatusT w) -> w) =<< cairoSurfaceWriteToPng sfc0 "HaskellLogoRotated.png"
putStrLn "*** TEST ROTATE END ***"