----------------------------------------------------------------------------- -- | -- Module : Hoodle.Widget.Scroll -- Copyright : (c) 2014 Ian-Woo Kim -- -- License : BSD3 -- Maintainer : Ian-Woo Kim -- Stability : experimental -- Portability : GHC -- -- Pan-Zoom widget drawing and action -- ----------------------------------------------------------------------------- module Hoodle.Widget.Scroll where import Control.Lens ((%~)) -- import Hoodle.Accessor import Hoodle.Coroutine.Draw import Hoodle.Type.Canvas import Hoodle.Type.Coroutine import Hoodle.Type.Enum import Hoodle.Type.HoodleState import Hoodle.Type.Widget -- | toggleScroll :: CanvasId -> MainCoroutine () toggleScroll cid = do pureUpdateUhdl $ \uhdl -> let ncinfobox = ( (unboxLens (canvasWidgets.widgetConfig.doesUseScrollWidget) %~ not) . getCanvasInfo cid ) uhdl in setCanvasInfo (cid,ncinfobox) uhdl invalidateInBBox Nothing Efficient cid