| Copyright | (c) 2013-2015 Ian-Woo Kim |
|---|---|
| License | BSD3 |
| Maintainer | Ian-Woo Kim <ianwookim@gmail.com> |
| Stability | experimental |
| Portability | GHC |
| Safe Haskell | None |
| Language | Haskell98 |
Hoodle.Widget.PanZoom
Description
Pan-Zoom widget drawing and action
- data PanZoomMode
- data PanZoomTouch
- checkPointerInPanZoom :: (CanvasId, CanvasInfo a, CanvasGeometry) -> PointerCoord -> Maybe (Maybe (PanZoomMode, (CanvasCoordinate, CanvasCoordinate)))
- startPanZoomWidget :: PanZoomTouch -> (CanvasId, CanvasInfo a, CanvasGeometry) -> Maybe (PanZoomMode, (CanvasCoordinate, CanvasCoordinate)) -> MainCoroutine ()
- findZoomXform :: Dimension -> ((Double, Double), (Double, Double), (Double, Double)) -> (Double, (Double, Double))
- findPanXform :: Dimension -> ((Double, Double), (Double, Double)) -> (Double, Double)
- manipulatePZW :: (PanZoomTouch, PanZoomMode) -> CanvasId -> CanvasGeometry -> (Surface, Surface) -> CanvasCoordinate -> CanvasCoordinate -> UTCTime -> MainCoroutine ()
- movingRender :: PanZoomMode -> CanvasId -> CanvasGeometry -> (Surface, Surface) -> CanvasCoordinate -> CanvasCoordinate -> PointerCoord -> MainCoroutine ()
- togglePanZoom :: CanvasId -> MainCoroutine ()
- touchStart :: CanvasId -> PointerCoord -> MainCoroutine ()
- toggleTouch :: MainCoroutine ()
Documentation
data PanZoomTouch Source #
Instances
checkPointerInPanZoom :: (CanvasId, CanvasInfo a, CanvasGeometry) -> PointerCoord -> Maybe (Maybe (PanZoomMode, (CanvasCoordinate, CanvasCoordinate))) Source #
startPanZoomWidget :: PanZoomTouch -> (CanvasId, CanvasInfo a, CanvasGeometry) -> Maybe (PanZoomMode, (CanvasCoordinate, CanvasCoordinate)) -> MainCoroutine () Source #
findZoomXform :: Dimension -> ((Double, Double), (Double, Double), (Double, Double)) -> (Double, (Double, Double)) Source #
Arguments
| :: (PanZoomTouch, PanZoomMode) | |
| -> CanvasId | |
| -> CanvasGeometry | |
| -> (Surface, Surface) | (Source, Target) |
| -> CanvasCoordinate | original widget position |
| -> CanvasCoordinate | where pen pressed |
| -> UTCTime | |
| -> MainCoroutine () |
manipulate Pan-Zoom widget until released when grabbing the widget
movingRender :: PanZoomMode -> CanvasId -> CanvasGeometry -> (Surface, Surface) -> CanvasCoordinate -> CanvasCoordinate -> PointerCoord -> MainCoroutine () Source #
togglePanZoom :: CanvasId -> MainCoroutine () Source #
touchStart :: CanvasId -> PointerCoord -> MainCoroutine () Source #
toggleTouch :: MainCoroutine () Source #