hoodle-render-0.4: src/Graphics/Hoodle/Render/Util.hs
{-# LANGUAGE OverloadedStrings #-}
-----------------------------------------------------------------------------
-- |
-- Module : Graphics.Hoodle.Render.Util
-- Copyright : (c) 2011-2014 Ian-Woo Kim
--
-- License : BSD3
-- Maintainer : Ian-Woo Kim <ianwookim@gmail.com>
-- Stability : experimental
-- Portability : GHC
--
-- utility
--
-----------------------------------------------------------------------------
module Graphics.Hoodle.Render.Util where
import qualified Graphics.Rendering.Cairo as Cairo
--
import Data.Hoodle.BBox
-- |
clipBBox :: Maybe BBox -> Cairo.Render ()
clipBBox (Just (BBox (x1,y1) (x2,y2))) = do
Cairo.resetClip
Cairo.rectangle x1 y1 (x2-x1) (y2-y1)
Cairo.clip
clipBBox Nothing = Cairo.resetClip
-- |
clearBBox :: Maybe BBox -> Cairo.Render ()
clearBBox Nothing = return ()
clearBBox (Just (BBox (x1,y1) (x2,y2))) = do
Cairo.save
Cairo.setSourceRGBA 0 0 0 0
Cairo.setOperator Cairo.OperatorSource
Cairo.rectangle x1 y1 (x2-x1) (y2-y1)
Cairo.fill
Cairo.restore