Copyright | (c) 2011-2016 Ian-Woo Kim |
---|---|
License | BSD3 |
Maintainer | Ian-Woo Kim <ianwookim@gmail.com> |
Stability | experimental |
Portability | GHC |
Safe Haskell | None |
Language | Haskell98 |
- type family DrawingFunction (v :: ViewMode) :: * -> *
- newtype SinglePageDraw a = SinglePageDraw {
- unSinglePageDraw :: RenderCache -> CanvasId -> Bool -> (DrawingArea, Maybe Surface) -> (PageNum, Page a) -> ViewInfo SinglePage -> Maybe BBox -> DrawFlag -> IO (Page a)
- newtype ContPageDraw a = ContPageDraw {
- unContPageDraw :: RenderCache -> Bool -> CanvasInfo ContinuousPage -> Maybe BBox -> Hoodle a -> DrawFlag -> IO (Hoodle a)
- getCanvasViewPort :: CanvasGeometry -> ViewPortBBox
- getBBoxInPageCoord :: CanvasGeometry -> PageNum -> BBox -> BBox
- getViewableBBox :: CanvasGeometry -> Maybe BBox -> IntersectBBox
- virtualDoubleBufferDraw :: MonadIO m => Surface -> Surface -> Render () -> Render () -> m ()
- doubleBufferFlush :: Surface -> CanvasInfo a -> IO ()
- doubleBufferDraw :: (DrawWindow, Maybe Surface) -> CanvasGeometry -> Render a -> IntersectBBox -> IO (Maybe a)
- mkXform4Page :: CanvasGeometry -> PageNum -> Xform4Page
- cairoXform4PageCoordinate :: Xform4Page -> Render ()
- data PressureMode
- drawCurvebitGen :: PressureMode -> DrawingArea -> CanvasGeometry -> Double -> (Double, Double, Double, Double) -> PageNum -> Seq (Double, Double, Double) -> ((Double, Double), Double) -> ((Double, Double), Double) -> IO ()
- drawFuncGen :: em -> (RenderCache -> CanvasId -> (PageNum, Page em) -> Maybe BBox -> DrawFlag -> Render (Page em)) -> DrawingFunction SinglePage em
- drawFuncSelGen :: (RenderCache -> CanvasId -> (PageNum, Page SelectMode) -> Maybe BBox -> DrawFlag -> Render ()) -> (RenderCache -> CanvasId -> (PageNum, Page SelectMode) -> Maybe BBox -> DrawFlag -> Render ()) -> DrawingFunction SinglePage SelectMode
- emphasisCanvasRender :: PenColor -> CanvasGeometry -> Render ()
- emphasisPageRender :: CanvasGeometry -> (PageNum, Page EditMode) -> Render ()
- emphasisNotifiedRender :: CanvasGeometry -> (PageNum, BBox, RItem) -> Render ()
- drawContPageGen :: (RenderCache -> CanvasId -> (PageNum, Page EditMode) -> Maybe BBox -> DrawFlag -> Render (Int, Page EditMode)) -> DrawingFunction ContinuousPage EditMode
- drawContPageSelGen :: (RenderCache -> CanvasId -> (PageNum, Page EditMode) -> Maybe BBox -> DrawFlag -> Render (Int, Page EditMode)) -> (RenderCache -> CanvasId -> (PageNum, Page SelectMode) -> Maybe BBox -> DrawFlag -> Render (Int, Page SelectMode)) -> DrawingFunction ContinuousPage SelectMode
- drawSinglePage :: CanvasGeometry -> DrawingFunction SinglePage EditMode
- drawSinglePageSel :: CanvasGeometry -> DrawingFunction SinglePage SelectMode
- drawContHoodle :: CanvasGeometry -> DrawingFunction ContinuousPage EditMode
- drawContHoodleSel :: CanvasGeometry -> DrawingFunction ContinuousPage SelectMode
- cairoHittedBoxDraw :: CanvasGeometry -> Page SelectMode -> Maybe BBox -> Render ()
- renderLasso :: CanvasGeometry -> Seq (Double, Double) -> Render ()
- renderBoxSelection :: BBox -> Render ()
- renderSelectedStroke :: BBoxed Stroke -> Render ()
- renderSelectedItem :: RItem -> Render ()
- canvas2DesktopRatio :: CanvasGeometry -> Double
- renderSelectHandle :: CanvasGeometry -> BBox -> Render ()
- canvasImageSurface :: RenderCache -> CanvasId -> Maybe Double -> CanvasGeometry -> Hoodle EditMode -> IO (Surface, Dimension)
- drawWidgets :: [WidgetItem] -> Hoodle EditMode -> CanvasInfo a -> Maybe BBox -> Render ()
- renderPanZoomWidget :: Bool -> Maybe BBox -> CanvasCoordinate -> Render ()
- drawLayerWidget :: Hoodle EditMode -> CanvasInfo a -> Maybe BBox -> CanvasCoordinate -> Render ()
- renderLayerContent :: Maybe BBox -> Dimension -> Surface -> CanvasCoordinate -> Render ()
- renderLayerWidget :: String -> Maybe BBox -> CanvasCoordinate -> Render ()
- renderClockWidget :: Maybe BBox -> ClockWidgetConfig -> Render ()
- renderScrollWidget :: Maybe BBox -> ScrollWidgetConfig -> Render ()
Documentation
type family DrawingFunction (v :: ViewMode) :: * -> * Source #
type DrawingFunction SinglePage Source # | |
type DrawingFunction ContinuousPage Source # | |
newtype SinglePageDraw a Source #
SinglePageDraw | |
|
newtype ContPageDraw a Source #
ContPageDraw | |
|
getBBoxInPageCoord :: CanvasGeometry -> PageNum -> BBox -> BBox Source #
:: CanvasGeometry | |
-> Maybe BBox | in desktop coordinate |
-> IntersectBBox |
virtualDoubleBufferDraw :: MonadIO m => Surface -> Surface -> Render () -> Render () -> m () Source #
double buffering within two image surfaces
doubleBufferFlush :: Surface -> CanvasInfo a -> IO () Source #
doubleBufferDraw :: (DrawWindow, Maybe Surface) -> CanvasGeometry -> Render a -> IntersectBBox -> IO (Maybe a) Source #
common routine for double buffering
mkXform4Page :: CanvasGeometry -> PageNum -> Xform4Page Source #
cairoXform4PageCoordinate :: Xform4Page -> Render () Source #
drawCurvebitGen :: PressureMode -> DrawingArea -> CanvasGeometry -> Double -> (Double, Double, Double, Double) -> PageNum -> Seq (Double, Double, Double) -> ((Double, Double), Double) -> ((Double, Double), Double) -> IO () Source #
drawFuncGen :: em -> (RenderCache -> CanvasId -> (PageNum, Page em) -> Maybe BBox -> DrawFlag -> Render (Page em)) -> DrawingFunction SinglePage em Source #
drawFuncSelGen :: (RenderCache -> CanvasId -> (PageNum, Page SelectMode) -> Maybe BBox -> DrawFlag -> Render ()) -> (RenderCache -> CanvasId -> (PageNum, Page SelectMode) -> Maybe BBox -> DrawFlag -> Render ()) -> DrawingFunction SinglePage SelectMode Source #
emphasisCanvasRender :: PenColor -> CanvasGeometry -> Render () Source #
emphasisPageRender :: CanvasGeometry -> (PageNum, Page EditMode) -> Render () Source #
highlight current page
emphasisNotifiedRender :: CanvasGeometry -> (PageNum, BBox, RItem) -> Render () Source #
highlight notified item (like link)
drawContPageGen :: (RenderCache -> CanvasId -> (PageNum, Page EditMode) -> Maybe BBox -> DrawFlag -> Render (Int, Page EditMode)) -> DrawingFunction ContinuousPage EditMode Source #
drawContPageSelGen :: (RenderCache -> CanvasId -> (PageNum, Page EditMode) -> Maybe BBox -> DrawFlag -> Render (Int, Page EditMode)) -> (RenderCache -> CanvasId -> (PageNum, Page SelectMode) -> Maybe BBox -> DrawFlag -> Render (Int, Page SelectMode)) -> DrawingFunction ContinuousPage SelectMode Source #
cairoHittedBoxDraw :: CanvasGeometry -> Page SelectMode -> Maybe BBox -> Render () Source #
renderLasso :: CanvasGeometry -> Seq (Double, Double) -> Render () Source #
renderBoxSelection :: BBox -> Render () Source #
renderSelectedItem :: RItem -> Render () Source #
renderSelectHandle :: CanvasGeometry -> BBox -> Render () Source #
:: RenderCache | |
-> CanvasId | |
-> Maybe Double | multiply |
-> CanvasGeometry | |
-> Hoodle EditMode | |
-> IO (Surface, Dimension) |
drawWidgets :: [WidgetItem] -> Hoodle EditMode -> CanvasInfo a -> Maybe BBox -> Render () Source #
renderPanZoomWidget :: Bool -> Maybe BBox -> CanvasCoordinate -> Render () Source #
drawLayerWidget :: Hoodle EditMode -> CanvasInfo a -> Maybe BBox -> CanvasCoordinate -> Render () Source #
renderLayerContent :: Maybe BBox -> Dimension -> Surface -> CanvasCoordinate -> Render () Source #
renderLayerWidget :: String -> Maybe BBox -> CanvasCoordinate -> Render () Source #
renderClockWidget :: Maybe BBox -> ClockWidgetConfig -> Render () Source #
renderScrollWidget :: Maybe BBox -> ScrollWidgetConfig -> Render () Source #