{-|
Module      : Diagrams.Backend.HsQML
Description : Main module.
Copyright   : (c) Marcin Mrotek, 2015
License     : BSD-3
Maintainer  : marcin.jan.mrotek@gmail.com
Stability   : experimental

The end-user API.
-} 

module Diagrams.Backend.HsQML (
    renderHsQML
  , SizeSpec2D(..)
  , mkSizeSpec
  , HsQML(..), Options(..)
  , B
  , DiagramObj
) where

import Diagrams.Core.Types(Backend(..))
import Diagrams.Backend.HsQML.Render hiding (renderHsQML)
import Diagrams.Backend.HsQML.DiagramObj.Type
import Diagrams.Core
import Diagrams.TwoD.Size
import Diagrams.TwoD.Types
import Graphics.QML

type B = HsQML

renderHsQML :: SizeSpec2D -> Diagram HsQML R2 -> IO (ObjRef (DiagramObj ()))
-- ^Render a diagram to a QML object that controls a Canvas.
renderHsQML s = renderDia HsQML (HsQMLOptions s)