module LensHelp ( module Control.Lens , (.:~) , (.++~) , (++.~) , (.*.*~) , (.+.+~) , (+.+.~) ) where import Geometry import Control.Lens infixr 4 .:~ (.:~) :: ASetter s t [a] [a] -> a -> s -> t (.:~) m x = m %~ (x :) infixr 4 .*.*~ (.*.*~) :: ASetter s t Point2 Point2 -> Float -> s -> t {-# INLINABLE (.*.*~) #-} (.*.*~) m x = m %~ (x *.*) infixr 4 .+.+~ (.+.+~) :: ASetter s t Point2 Point2 -> Point2 -> s -> t {-# INLINABLE (.+.+~) #-} (.+.+~) m x = m %~ (x +.+) infixr 4 +.+.~ (+.+.~) :: ASetter s t Point2 Point2 -> Point2 -> s -> t {-# INLINABLE (+.+.~) #-} (+.+.~) m x = m %~ (+.+ x) infixr 4 .++~ (.++~) :: ASetter s t [a] [a] -> [a] -> s -> t (.++~) m x = m %~ (x ++) infixr 4 ++.~ (++.~) :: ASetter s t [a] [a] -> [a] -> s -> t (++.~) m x = m %~ (++ x)