Copyright | (c) 2012-2014 Ian-Woo Kim |
---|---|
License | BSD3 |
Maintainer | Ian-Woo Kim <ianwookim@gmail.com> |
Stability | experimental |
Portability | GHC |
Safe Haskell | None |
Language | Haskell98 |
- data CanvasGeometry = CanvasGeometry {
- screenDim :: ScreenDimension
- canvasDim :: CanvasDimension
- desktopDim :: DesktopDimension
- canvasViewPort :: ViewPortBBox
- screen2Canvas :: ScreenCoordinate -> CanvasCoordinate
- canvas2Screen :: CanvasCoordinate -> ScreenCoordinate
- canvas2Desktop :: CanvasCoordinate -> DesktopCoordinate
- desktop2Canvas :: DesktopCoordinate -> CanvasCoordinate
- desktop2Page :: DesktopCoordinate -> Maybe (PageNum, PageCoordinate)
- page2Desktop :: (PageNum, PageCoordinate) -> DesktopCoordinate
- makeCanvasGeometry :: PageNum -> PageArrangement vm -> DrawingArea -> IO CanvasGeometry
- makePage2Desktop :: (PageNum -> Maybe (PageOrigin, PageDimension)) -> (PageNum, PageCoordinate) -> DesktopCoordinate
- makeDesktop2Page :: (PageNum -> Maybe (PageOrigin, PageDimension)) -> DesktopCoordinate -> Maybe (PageNum, PageCoordinate)
- xformScreen2Canvas :: CanvasOrigin -> ScreenCoordinate -> CanvasCoordinate
- xformCanvas2Screen :: CanvasOrigin -> CanvasCoordinate -> ScreenCoordinate
- xformCanvas2Desk :: CanvasDimension -> ViewPortBBox -> CanvasCoordinate -> DesktopCoordinate
- xformDesk2Canvas :: CanvasDimension -> ViewPortBBox -> DesktopCoordinate -> CanvasCoordinate
- screen2Desktop :: CanvasGeometry -> ScreenCoordinate -> DesktopCoordinate
- desktop2Screen :: CanvasGeometry -> DesktopCoordinate -> ScreenCoordinate
- core2Desktop :: CanvasGeometry -> (Double, Double) -> DesktopCoordinate
- wacom2Desktop :: CanvasGeometry -> (Double, Double) -> DesktopCoordinate
- touch2Desktop :: CanvasGeometry -> (Double, Double) -> DesktopCoordinate
- wacom2Canvas :: CanvasGeometry -> (Double, Double) -> CanvasCoordinate
- device2Desktop :: CanvasGeometry -> PointerCoord -> DesktopCoordinate
- getPagesInRange :: CanvasGeometry -> ViewPortBBox -> Hoodle EditMode -> [PageNum]
- getPagesInViewPortRange :: CanvasGeometry -> Hoodle EditMode -> [PageNum]
- getCvsGeomFrmCvsInfo :: CanvasInfo a -> IO CanvasGeometry
- getCvsOriginInPage :: CanvasGeometry -> Either DesktopCoordinate (PageNum, PageCoordinate)
Documentation
data CanvasGeometry Source #
data structure for transformation among screen, canvas, desktop and page coordinates
CanvasGeometry | |
|
makeCanvasGeometry :: PageNum -> PageArrangement vm -> DrawingArea -> IO CanvasGeometry Source #
make a canvas geometry data structure from current status
makePage2Desktop :: (PageNum -> Maybe (PageOrigin, PageDimension)) -> (PageNum, PageCoordinate) -> DesktopCoordinate Source #
makeDesktop2Page :: (PageNum -> Maybe (PageOrigin, PageDimension)) -> DesktopCoordinate -> Maybe (PageNum, PageCoordinate) Source #
xformCanvas2Desk :: CanvasDimension -> ViewPortBBox -> CanvasCoordinate -> DesktopCoordinate Source #
xformDesk2Canvas :: CanvasDimension -> ViewPortBBox -> DesktopCoordinate -> CanvasCoordinate Source #
core2Desktop :: CanvasGeometry -> (Double, Double) -> DesktopCoordinate Source #
wacom2Desktop :: CanvasGeometry -> (Double, Double) -> DesktopCoordinate Source #
touch2Desktop :: CanvasGeometry -> (Double, Double) -> DesktopCoordinate Source #
wacom2Canvas :: CanvasGeometry -> (Double, Double) -> CanvasCoordinate Source #
getPagesInRange :: CanvasGeometry -> ViewPortBBox -> Hoodle EditMode -> [PageNum] Source #
getPagesInViewPortRange :: CanvasGeometry -> Hoodle EditMode -> [PageNum] Source #
getCvsOriginInPage :: CanvasGeometry -> Either DesktopCoordinate (PageNum, PageCoordinate) Source #
Get Canvas Origin in Page Coordinate : Right is successful case, Left is unsuccessful case, then return in DesktopCoordinate