{-# LANGUAGE PatternSynonyms #-} module Language.Javascript.JSaddle.DOM.Generated.CanvasRenderingContext2D (save, restore, scale, rotate, translate, transform, setTransform, createLinearGradient, createRadialGradient, setLineDash, getLineDash, clearRect, fillRect, beginPath, closePath, moveTo, lineTo, quadraticCurveTo, bezierCurveTo, arcTo, rect, arc, fillPath, strokePath, clipPath, fill, stroke, clip, isPointInPathPath, isPointInStrokePath, isPointInPath, isPointInStroke, measureText, setAlpha, setCompositeOperation, setLineWidthFunction, setLineCapFunction, setLineJoinFunction, setMiterLimitFunction, clearShadow, fillText, strokeText, setStrokeColor, setStrokeColorGray, setStrokeColorRGB, setStrokeColorCYMK, setFillColor, setFillColorGray, setFillColorRGB, setFillColorCYMK, strokeRect, drawImage, drawImageScaled, drawImagePart, drawImageFromCanvas, drawImageFromCanvasScaled, drawImageFromCanvasPart, drawImageFromVideo, drawImageFromVideoScaled, drawImageFromVideoPart, drawImageFromRect, setShadow, setShadowGray, setShadowRGB, setShadowCYMK, putImageData, putImageDataDirty, webkitPutImageDataHD, webkitPutImageDataHDDirty, createPatternFromCanvas, createPattern, createImageData, createImageDataSize, getImageData, webkitGetImageDataHD, drawFocusIfNeeded, drawFocusIfNeededPath, setGlobalAlpha, getGlobalAlpha, setGlobalCompositeOperation, getGlobalCompositeOperation, setLineWidth, getLineWidth, setLineCap, getLineCap, setLineJoin, getLineJoin, setMiterLimit, getMiterLimit, setShadowOffsetX, getShadowOffsetX, setShadowOffsetY, getShadowOffsetY, setShadowBlur, getShadowBlur, setShadowColor, getShadowColor, setLineDashOffset, getLineDashOffset, setWebkitLineDash, getWebkitLineDash, setWebkitLineDashOffset, getWebkitLineDashOffset, setFont, getFont, setTextAlign, getTextAlign, setTextBaseline, getTextBaseline, setDirection, getDirection, setStrokeStyle, getStrokeStyle, setFillStyle, getFillStyle, getWebkitBackingStorePixelRatio, setWebkitImageSmoothingEnabled, getWebkitImageSmoothingEnabled, CanvasRenderingContext2D, castToCanvasRenderingContext2D, gTypeCanvasRenderingContext2D) where import Prelude ((.), (==), (>>=), return, IO, Int, Float, Double, Bool(..), Maybe, maybe, fromIntegral, round, realToFrac, fmap, Show, Read, Eq, Ord, Maybe(..)) import Data.Typeable (Typeable) import Language.Javascript.JSaddle (JSM(..), JSVal(..), JSString, strictEqual, toJSVal, valToStr, valToNumber, valToBool, js, jss, jsf, jsg, function, new, array) import Data.Int (Int64) import Data.Word (Word, Word64) import Language.Javascript.JSaddle.DOM.Types import Control.Applicative ((<$>)) import Control.Monad (void) import Control.Lens.Operators ((^.)) import Language.Javascript.JSaddle.DOM.EventTargetClosures (EventName, unsafeEventName) import Language.Javascript.JSaddle.DOM.Enums -- | save :: (MonadDOM m) => CanvasRenderingContext2D -> m () save self = liftDOM (void (self ^. js "save")) -- | restore :: (MonadDOM m) => CanvasRenderingContext2D -> m () restore self = liftDOM (void (self ^. js "restore")) -- | scale :: (MonadDOM m) => CanvasRenderingContext2D -> Float -> Float -> m () scale self sx sy = liftDOM (void (self ^. jsf "scale" [toJSVal sx, toJSVal sy])) -- | rotate :: (MonadDOM m) => CanvasRenderingContext2D -> Float -> m () rotate self angle = liftDOM (void (self ^. jsf "rotate" [toJSVal angle])) -- | translate :: (MonadDOM m) => CanvasRenderingContext2D -> Float -> Float -> m () translate self tx ty = liftDOM (void (self ^. jsf "translate" [toJSVal tx, toJSVal ty])) -- | transform :: (MonadDOM m) => CanvasRenderingContext2D -> Float -> Float -> Float -> Float -> Float -> Float -> m () transform self m11 m12 m21 m22 dx dy = liftDOM (void (self ^. jsf "transform" [toJSVal m11, toJSVal m12, toJSVal m21, toJSVal m22, toJSVal dx, toJSVal dy])) -- | setTransform :: (MonadDOM m) => CanvasRenderingContext2D -> Float -> Float -> Float -> Float -> Float -> Float -> m () setTransform self m11 m12 m21 m22 dx dy = liftDOM (void (self ^. jsf "setTransform" [toJSVal m11, toJSVal m12, toJSVal m21, toJSVal m22, toJSVal dx, toJSVal dy])) -- | createLinearGradient :: (MonadDOM m) => CanvasRenderingContext2D -> Float -> Float -> Float -> Float -> m (Maybe CanvasGradient) createLinearGradient self x0 y0 x1 y1 = liftDOM ((self ^. jsf "createLinearGradient" [toJSVal x0, toJSVal y0, toJSVal x1, toJSVal y1]) >>= fromJSVal) -- | createRadialGradient :: (MonadDOM m) => CanvasRenderingContext2D -> Float -> Float -> Float -> Float -> Float -> Float -> m (Maybe CanvasGradient) createRadialGradient self x0 y0 r0 x1 y1 r1 = liftDOM ((self ^. jsf "createRadialGradient" [toJSVal x0, toJSVal y0, toJSVal r0, toJSVal x1, toJSVal y1, toJSVal r1]) >>= fromJSVal) -- | setLineDash :: (MonadDOM m) => CanvasRenderingContext2D -> [Float] -> m () setLineDash self dash = liftDOM (void (self ^. jsf "setLineDash" [toJSVal (array dash)])) -- | getLineDash :: (MonadDOM m) => CanvasRenderingContext2D -> m [Float] getLineDash self = liftDOM ((self ^. js "getLineDash") >>= fromJSArrayUnchecked) -- | clearRect :: (MonadDOM m) => CanvasRenderingContext2D -> Float -> Float -> Float -> Float -> m () clearRect self x y width height = liftDOM (void (self ^. jsf "clearRect" [toJSVal x, toJSVal y, toJSVal width, toJSVal height])) -- | fillRect :: (MonadDOM m) => CanvasRenderingContext2D -> Float -> Float -> Float -> Float -> m () fillRect self x y width height = liftDOM (void (self ^. jsf "fillRect" [toJSVal x, toJSVal y, toJSVal width, toJSVal height])) -- | beginPath :: (MonadDOM m) => CanvasRenderingContext2D -> m () beginPath self = liftDOM (void (self ^. js "beginPath")) -- | closePath :: (MonadDOM m) => CanvasRenderingContext2D -> m () closePath self = liftDOM (void (self ^. js "closePath")) -- | moveTo :: (MonadDOM m) => CanvasRenderingContext2D -> Float -> Float -> m () moveTo self x y = liftDOM (void (self ^. jsf "moveTo" [toJSVal x, toJSVal y])) -- | lineTo :: (MonadDOM m) => CanvasRenderingContext2D -> Float -> Float -> m () lineTo self x y = liftDOM (void (self ^. jsf "lineTo" [toJSVal x, toJSVal y])) -- | quadraticCurveTo :: (MonadDOM m) => CanvasRenderingContext2D -> Float -> Float -> Float -> Float -> m () quadraticCurveTo self cpx cpy x y = liftDOM (void (self ^. jsf "quadraticCurveTo" [toJSVal cpx, toJSVal cpy, toJSVal x, toJSVal y])) -- | bezierCurveTo :: (MonadDOM m) => CanvasRenderingContext2D -> Float -> Float -> Float -> Float -> Float -> Float -> m () bezierCurveTo self cp1x cp1y cp2x cp2y x y = liftDOM (void (self ^. jsf "bezierCurveTo" [toJSVal cp1x, toJSVal cp1y, toJSVal cp2x, toJSVal cp2y, toJSVal x, toJSVal y])) -- | arcTo :: (MonadDOM m) => CanvasRenderingContext2D -> Float -> Float -> Float -> Float -> Float -> m () arcTo self x1 y1 x2 y2 radius = liftDOM (void (self ^. jsf "arcTo" [toJSVal x1, toJSVal y1, toJSVal x2, toJSVal y2, toJSVal radius])) -- | rect :: (MonadDOM m) => CanvasRenderingContext2D -> Float -> Float -> Float -> Float -> m () rect self x y width height = liftDOM (void (self ^. jsf "rect" [toJSVal x, toJSVal y, toJSVal width, toJSVal height])) -- | arc :: (MonadDOM m) => CanvasRenderingContext2D -> Float -> Float -> Float -> Float -> Float -> Bool -> m () arc self x y radius startAngle endAngle anticlockwise = liftDOM (void (self ^. jsf "arc" [toJSVal x, toJSVal y, toJSVal radius, toJSVal startAngle, toJSVal endAngle, toJSVal anticlockwise])) -- | fillPath :: (MonadDOM m) => CanvasRenderingContext2D -> Maybe Path2D -> CanvasWindingRule -> m () fillPath self path winding = liftDOM (void (self ^. jsf "fill" [toJSVal path, toJSVal winding])) -- | strokePath :: (MonadDOM m) => CanvasRenderingContext2D -> Maybe Path2D -> m () strokePath self path = liftDOM (void (self ^. jsf "stroke" [toJSVal path])) -- | clipPath :: (MonadDOM m) => CanvasRenderingContext2D -> Maybe Path2D -> CanvasWindingRule -> m () clipPath self path winding = liftDOM (void (self ^. jsf "clip" [toJSVal path, toJSVal winding])) -- | fill :: (MonadDOM m) => CanvasRenderingContext2D -> CanvasWindingRule -> m () fill self winding = liftDOM (void (self ^. jsf "fill" [toJSVal winding])) -- | stroke :: (MonadDOM m) => CanvasRenderingContext2D -> m () stroke self = liftDOM (void (self ^. js "stroke")) -- | clip :: (MonadDOM m) => CanvasRenderingContext2D -> CanvasWindingRule -> m () clip self winding = liftDOM (void (self ^. jsf "clip" [toJSVal winding])) -- | isPointInPathPath :: (MonadDOM m) => CanvasRenderingContext2D -> Maybe Path2D -> Float -> Float -> CanvasWindingRule -> m Bool isPointInPathPath self path x y winding = liftDOM ((self ^. jsf "isPointInPath" [toJSVal path, toJSVal x, toJSVal y, toJSVal winding]) >>= valToBool) -- | isPointInStrokePath :: (MonadDOM m) => CanvasRenderingContext2D -> Maybe Path2D -> Float -> Float -> m Bool isPointInStrokePath self path x y = liftDOM ((self ^. jsf "isPointInStroke" [toJSVal path, toJSVal x, toJSVal y]) >>= valToBool) -- | isPointInPath :: (MonadDOM m) => CanvasRenderingContext2D -> Float -> Float -> CanvasWindingRule -> m Bool isPointInPath self x y winding = liftDOM ((self ^. jsf "isPointInPath" [toJSVal x, toJSVal y, toJSVal winding]) >>= valToBool) -- | isPointInStroke :: (MonadDOM m) => CanvasRenderingContext2D -> Float -> Float -> m Bool isPointInStroke self x y = liftDOM ((self ^. jsf "isPointInStroke" [toJSVal x, toJSVal y]) >>= valToBool) -- | measureText :: (MonadDOM m, ToJSString text) => CanvasRenderingContext2D -> text -> m (Maybe TextMetrics) measureText self text = liftDOM ((self ^. jsf "measureText" [toJSVal text]) >>= fromJSVal) -- | setAlpha :: (MonadDOM m) => CanvasRenderingContext2D -> Float -> m () setAlpha self alpha = liftDOM (void (self ^. jsf "setAlpha" [toJSVal alpha])) -- | setCompositeOperation :: (MonadDOM m, ToJSString compositeOperation) => CanvasRenderingContext2D -> compositeOperation -> m () setCompositeOperation self compositeOperation = liftDOM (void (self ^. jsf "setCompositeOperation" [toJSVal compositeOperation])) -- | setLineWidthFunction :: (MonadDOM m) => CanvasRenderingContext2D -> Float -> m () setLineWidthFunction self width = liftDOM (void (self ^. jsf "setLineWidth" [toJSVal width])) -- | setLineCapFunction :: (MonadDOM m, ToJSString cap) => CanvasRenderingContext2D -> cap -> m () setLineCapFunction self cap = liftDOM (void (self ^. jsf "setLineCap" [toJSVal cap])) -- | setLineJoinFunction :: (MonadDOM m, ToJSString join) => CanvasRenderingContext2D -> join -> m () setLineJoinFunction self join = liftDOM (void (self ^. jsf "setLineJoin" [toJSVal join])) -- | setMiterLimitFunction :: (MonadDOM m) => CanvasRenderingContext2D -> Float -> m () setMiterLimitFunction self limit = liftDOM (void (self ^. jsf "setMiterLimit" [toJSVal limit])) -- | clearShadow :: (MonadDOM m) => CanvasRenderingContext2D -> m () clearShadow self = liftDOM (void (self ^. js "clearShadow")) -- | fillText :: (MonadDOM m, ToJSString text) => CanvasRenderingContext2D -> text -> Float -> Float -> Float -> m () fillText self text x y maxWidth = liftDOM (void (self ^. jsf "fillText" [toJSVal text, toJSVal x, toJSVal y, toJSVal maxWidth])) -- | strokeText :: (MonadDOM m, ToJSString text) => CanvasRenderingContext2D -> text -> Float -> Float -> Float -> m () strokeText self text x y maxWidth = liftDOM (void (self ^. jsf "strokeText" [toJSVal text, toJSVal x, toJSVal y, toJSVal maxWidth])) -- | setStrokeColor :: (MonadDOM m, ToJSString color) => CanvasRenderingContext2D -> color -> Float -> m () setStrokeColor self color alpha = liftDOM (void (self ^. jsf "setStrokeColor" [toJSVal color, toJSVal alpha])) -- | setStrokeColorGray :: (MonadDOM m) => CanvasRenderingContext2D -> Float -> Float -> m () setStrokeColorGray self grayLevel alpha = liftDOM (void (self ^. jsf "setStrokeColor" [toJSVal grayLevel, toJSVal alpha])) -- | setStrokeColorRGB :: (MonadDOM m) => CanvasRenderingContext2D -> Float -> Float -> Float -> Float -> m () setStrokeColorRGB self r g b a = liftDOM (void (self ^. jsf "setStrokeColor" [toJSVal r, toJSVal g, toJSVal b, toJSVal a])) -- | setStrokeColorCYMK :: (MonadDOM m) => CanvasRenderingContext2D -> Float -> Float -> Float -> Float -> Float -> m () setStrokeColorCYMK self c m y k a = liftDOM (void (self ^. jsf "setStrokeColor" [toJSVal c, toJSVal m, toJSVal y, toJSVal k, toJSVal a])) -- | setFillColor :: (MonadDOM m, ToJSString color) => CanvasRenderingContext2D -> color -> Float -> m () setFillColor self color alpha = liftDOM (void (self ^. jsf "setFillColor" [toJSVal color, toJSVal alpha])) -- | setFillColorGray :: (MonadDOM m) => CanvasRenderingContext2D -> Float -> Float -> m () setFillColorGray self grayLevel alpha = liftDOM (void (self ^. jsf "setFillColor" [toJSVal grayLevel, toJSVal alpha])) -- | setFillColorRGB :: (MonadDOM m) => CanvasRenderingContext2D -> Float -> Float -> Float -> Float -> m () setFillColorRGB self r g b a = liftDOM (void (self ^. jsf "setFillColor" [toJSVal r, toJSVal g, toJSVal b, toJSVal a])) -- | setFillColorCYMK :: (MonadDOM m) => CanvasRenderingContext2D -> Float -> Float -> Float -> Float -> Float -> m () setFillColorCYMK self c m y k a = liftDOM (void (self ^. jsf "setFillColor" [toJSVal c, toJSVal m, toJSVal y, toJSVal k, toJSVal a])) -- | strokeRect :: (MonadDOM m) => CanvasRenderingContext2D -> Float -> Float -> Float -> Float -> m () strokeRect self x y width height = liftDOM (void (self ^. jsf "strokeRect" [toJSVal x, toJSVal y, toJSVal width, toJSVal height])) -- | drawImage :: (MonadDOM m) => CanvasRenderingContext2D -> Maybe HTMLImageElement -> Float -> Float -> m () drawImage self image x y = liftDOM (void (self ^. jsf "drawImage" [toJSVal image, toJSVal x, toJSVal y])) -- | drawImageScaled :: (MonadDOM m) => CanvasRenderingContext2D -> Maybe HTMLImageElement -> Float -> Float -> Float -> Float -> m () drawImageScaled self image x y width height = liftDOM (void (self ^. jsf "drawImage" [toJSVal image, toJSVal x, toJSVal y, toJSVal width, toJSVal height])) -- | drawImagePart :: (MonadDOM m) => CanvasRenderingContext2D -> Maybe HTMLImageElement -> Float -> Float -> Float -> Float -> Float -> Float -> Float -> Float -> m () drawImagePart self image sx sy sw sh dx dy dw dh = liftDOM (void (self ^. jsf "drawImage" [toJSVal image, toJSVal sx, toJSVal sy, toJSVal sw, toJSVal sh, toJSVal dx, toJSVal dy, toJSVal dw, toJSVal dh])) -- | drawImageFromCanvas :: (MonadDOM m) => CanvasRenderingContext2D -> Maybe HTMLCanvasElement -> Float -> Float -> m () drawImageFromCanvas self canvas x y = liftDOM (void (self ^. jsf "drawImage" [toJSVal canvas, toJSVal x, toJSVal y])) -- | drawImageFromCanvasScaled :: (MonadDOM m) => CanvasRenderingContext2D -> Maybe HTMLCanvasElement -> Float -> Float -> Float -> Float -> m () drawImageFromCanvasScaled self canvas x y width height = liftDOM (void (self ^. jsf "drawImage" [toJSVal canvas, toJSVal x, toJSVal y, toJSVal width, toJSVal height])) -- | drawImageFromCanvasPart :: (MonadDOM m) => CanvasRenderingContext2D -> Maybe HTMLCanvasElement -> Float -> Float -> Float -> Float -> Float -> Float -> Float -> Float -> m () drawImageFromCanvasPart self canvas sx sy sw sh dx dy dw dh = liftDOM (void (self ^. jsf "drawImage" [toJSVal canvas, toJSVal sx, toJSVal sy, toJSVal sw, toJSVal sh, toJSVal dx, toJSVal dy, toJSVal dw, toJSVal dh])) -- | drawImageFromVideo :: (MonadDOM m) => CanvasRenderingContext2D -> Maybe HTMLVideoElement -> Float -> Float -> m () drawImageFromVideo self video x y = liftDOM (void (self ^. jsf "drawImage" [toJSVal video, toJSVal x, toJSVal y])) -- | drawImageFromVideoScaled :: (MonadDOM m) => CanvasRenderingContext2D -> Maybe HTMLVideoElement -> Float -> Float -> Float -> Float -> m () drawImageFromVideoScaled self video x y width height = liftDOM (void (self ^. jsf "drawImage" [toJSVal video, toJSVal x, toJSVal y, toJSVal width, toJSVal height])) -- | drawImageFromVideoPart :: (MonadDOM m) => CanvasRenderingContext2D -> Maybe HTMLVideoElement -> Float -> Float -> Float -> Float -> Float -> Float -> Float -> Float -> m () drawImageFromVideoPart self video sx sy sw sh dx dy dw dh = liftDOM (void (self ^. jsf "drawImage" [toJSVal video, toJSVal sx, toJSVal sy, toJSVal sw, toJSVal sh, toJSVal dx, toJSVal dy, toJSVal dw, toJSVal dh])) -- | drawImageFromRect :: (MonadDOM m, ToJSString compositeOperation) => CanvasRenderingContext2D -> Maybe HTMLImageElement -> Float -> Float -> Float -> Float -> Float -> Float -> Float -> Float -> compositeOperation -> m () drawImageFromRect self image sx sy sw sh dx dy dw dh compositeOperation = liftDOM (void (self ^. jsf "drawImageFromRect" [toJSVal image, toJSVal sx, toJSVal sy, toJSVal sw, toJSVal sh, toJSVal dx, toJSVal dy, toJSVal dw, toJSVal dh, toJSVal compositeOperation])) -- | setShadow :: (MonadDOM m, ToJSString color) => CanvasRenderingContext2D -> Float -> Float -> Float -> color -> Float -> m () setShadow self width height blur color alpha = liftDOM (void (self ^. jsf "setShadow" [toJSVal width, toJSVal height, toJSVal blur, toJSVal color, toJSVal alpha])) -- | setShadowGray :: (MonadDOM m) => CanvasRenderingContext2D -> Float -> Float -> Float -> Float -> Float -> m () setShadowGray self width height blur grayLevel alpha = liftDOM (void (self ^. jsf "setShadow" [toJSVal width, toJSVal height, toJSVal blur, toJSVal grayLevel, toJSVal alpha])) -- | setShadowRGB :: (MonadDOM m) => CanvasRenderingContext2D -> Float -> Float -> Float -> Float -> Float -> Float -> Float -> m () setShadowRGB self width height blur r g b a = liftDOM (void (self ^. jsf "setShadow" [toJSVal width, toJSVal height, toJSVal blur, toJSVal r, toJSVal g, toJSVal b, toJSVal a])) -- | setShadowCYMK :: (MonadDOM m) => CanvasRenderingContext2D -> Float -> Float -> Float -> Float -> Float -> Float -> Float -> Float -> m () setShadowCYMK self width height blur c m y k a = liftDOM (void (self ^. jsf "setShadow" [toJSVal width, toJSVal height, toJSVal blur, toJSVal c, toJSVal m, toJSVal y, toJSVal k, toJSVal a])) -- | putImageData :: (MonadDOM m) => CanvasRenderingContext2D -> Maybe ImageData -> Float -> Float -> m () putImageData self imagedata dx dy = liftDOM (void (self ^. jsf "putImageData" [toJSVal imagedata, toJSVal dx, toJSVal dy])) -- | putImageDataDirty :: (MonadDOM m) => CanvasRenderingContext2D -> Maybe ImageData -> Float -> Float -> Float -> Float -> Float -> Float -> m () putImageDataDirty self imagedata dx dy dirtyX dirtyY dirtyWidth dirtyHeight = liftDOM (void (self ^. jsf "putImageData" [toJSVal imagedata, toJSVal dx, toJSVal dy, toJSVal dirtyX, toJSVal dirtyY, toJSVal dirtyWidth, toJSVal dirtyHeight])) -- | webkitPutImageDataHD :: (MonadDOM m) => CanvasRenderingContext2D -> Maybe ImageData -> Float -> Float -> m () webkitPutImageDataHD self imagedata dx dy = liftDOM (void (self ^. jsf "webkitPutImageDataHD" [toJSVal imagedata, toJSVal dx, toJSVal dy])) -- | webkitPutImageDataHDDirty :: (MonadDOM m) => CanvasRenderingContext2D -> Maybe ImageData -> Float -> Float -> Float -> Float -> Float -> Float -> m () webkitPutImageDataHDDirty self imagedata dx dy dirtyX dirtyY dirtyWidth dirtyHeight = liftDOM (void (self ^. jsf "webkitPutImageDataHD" [toJSVal imagedata, toJSVal dx, toJSVal dy, toJSVal dirtyX, toJSVal dirtyY, toJSVal dirtyWidth, toJSVal dirtyHeight])) -- | createPatternFromCanvas :: (MonadDOM m, ToJSString repetitionType) => CanvasRenderingContext2D -> Maybe HTMLCanvasElement -> Maybe repetitionType -> m (Maybe CanvasPattern) createPatternFromCanvas self canvas repetitionType = liftDOM ((self ^. jsf "createPattern" [toJSVal canvas, toJSVal repetitionType]) >>= fromJSVal) -- | createPattern :: (MonadDOM m, ToJSString repetitionType) => CanvasRenderingContext2D -> Maybe HTMLImageElement -> Maybe repetitionType -> m (Maybe CanvasPattern) createPattern self image repetitionType = liftDOM ((self ^. jsf "createPattern" [toJSVal image, toJSVal repetitionType]) >>= fromJSVal) -- | createImageData :: (MonadDOM m) => CanvasRenderingContext2D -> Maybe ImageData -> m (Maybe ImageData) createImageData self imagedata = liftDOM ((self ^. jsf "createImageData" [toJSVal imagedata]) >>= fromJSVal) -- | createImageDataSize :: (MonadDOM m) => CanvasRenderingContext2D -> Float -> Float -> m (Maybe ImageData) createImageDataSize self sw sh = liftDOM ((self ^. jsf "createImageData" [toJSVal sw, toJSVal sh]) >>= fromJSVal) -- | getImageData :: (MonadDOM m) => CanvasRenderingContext2D -> Float -> Float -> Float -> Float -> m (Maybe ImageData) getImageData self sx sy sw sh = liftDOM ((self ^. jsf "getImageData" [toJSVal sx, toJSVal sy, toJSVal sw, toJSVal sh]) >>= fromJSVal) -- | webkitGetImageDataHD :: (MonadDOM m) => CanvasRenderingContext2D -> Float -> Float -> Float -> Float -> m (Maybe ImageData) webkitGetImageDataHD self sx sy sw sh = liftDOM ((self ^. jsf "webkitGetImageDataHD" [toJSVal sx, toJSVal sy, toJSVal sw, toJSVal sh]) >>= fromJSVal) -- | drawFocusIfNeeded :: (MonadDOM m, IsElement element) => CanvasRenderingContext2D -> Maybe element -> m () drawFocusIfNeeded self element = liftDOM (void (self ^. jsf "drawFocusIfNeeded" [toJSVal element])) -- | drawFocusIfNeededPath :: (MonadDOM m, IsElement element) => CanvasRenderingContext2D -> Maybe Path2D -> Maybe element -> m () drawFocusIfNeededPath self path element = liftDOM (void (self ^. jsf "drawFocusIfNeeded" [toJSVal path, toJSVal element])) -- | setGlobalAlpha :: (MonadDOM m) => CanvasRenderingContext2D -> Float -> m () setGlobalAlpha self val = liftDOM (self ^. jss "globalAlpha" (toJSVal val)) -- | getGlobalAlpha :: (MonadDOM m) => CanvasRenderingContext2D -> m Float getGlobalAlpha self = liftDOM (realToFrac <$> ((self ^. js "globalAlpha") >>= valToNumber)) -- | setGlobalCompositeOperation :: (MonadDOM m, ToJSString val) => CanvasRenderingContext2D -> Maybe val -> m () setGlobalCompositeOperation self val = liftDOM (self ^. jss "globalCompositeOperation" (toJSVal val)) -- | getGlobalCompositeOperation :: (MonadDOM m, FromJSString result) => CanvasRenderingContext2D -> m (Maybe result) getGlobalCompositeOperation self = liftDOM ((self ^. js "globalCompositeOperation") >>= fromMaybeJSString) -- | setLineWidth :: (MonadDOM m) => CanvasRenderingContext2D -> Float -> m () setLineWidth self val = liftDOM (self ^. jss "lineWidth" (toJSVal val)) -- | getLineWidth :: (MonadDOM m) => CanvasRenderingContext2D -> m Float getLineWidth self = liftDOM (realToFrac <$> ((self ^. js "lineWidth") >>= valToNumber)) -- | setLineCap :: (MonadDOM m, ToJSString val) => CanvasRenderingContext2D -> Maybe val -> m () setLineCap self val = liftDOM (self ^. jss "lineCap" (toJSVal val)) -- | getLineCap :: (MonadDOM m, FromJSString result) => CanvasRenderingContext2D -> m (Maybe result) getLineCap self = liftDOM ((self ^. js "lineCap") >>= fromMaybeJSString) -- | setLineJoin :: (MonadDOM m, ToJSString val) => CanvasRenderingContext2D -> Maybe val -> m () setLineJoin self val = liftDOM (self ^. jss "lineJoin" (toJSVal val)) -- | getLineJoin :: (MonadDOM m, FromJSString result) => CanvasRenderingContext2D -> m (Maybe result) getLineJoin self = liftDOM ((self ^. js "lineJoin") >>= fromMaybeJSString) -- | setMiterLimit :: (MonadDOM m) => CanvasRenderingContext2D -> Float -> m () setMiterLimit self val = liftDOM (self ^. jss "miterLimit" (toJSVal val)) -- | getMiterLimit :: (MonadDOM m) => CanvasRenderingContext2D -> m Float getMiterLimit self = liftDOM (realToFrac <$> ((self ^. js "miterLimit") >>= valToNumber)) -- | setShadowOffsetX :: (MonadDOM m) => CanvasRenderingContext2D -> Float -> m () setShadowOffsetX self val = liftDOM (self ^. jss "shadowOffsetX" (toJSVal val)) -- | getShadowOffsetX :: (MonadDOM m) => CanvasRenderingContext2D -> m Float getShadowOffsetX self = liftDOM (realToFrac <$> ((self ^. js "shadowOffsetX") >>= valToNumber)) -- | setShadowOffsetY :: (MonadDOM m) => CanvasRenderingContext2D -> Float -> m () setShadowOffsetY self val = liftDOM (self ^. jss "shadowOffsetY" (toJSVal val)) -- | getShadowOffsetY :: (MonadDOM m) => CanvasRenderingContext2D -> m Float getShadowOffsetY self = liftDOM (realToFrac <$> ((self ^. js "shadowOffsetY") >>= valToNumber)) -- | setShadowBlur :: (MonadDOM m) => CanvasRenderingContext2D -> Float -> m () setShadowBlur self val = liftDOM (self ^. jss "shadowBlur" (toJSVal val)) -- | getShadowBlur :: (MonadDOM m) => CanvasRenderingContext2D -> m Float getShadowBlur self = liftDOM (realToFrac <$> ((self ^. js "shadowBlur") >>= valToNumber)) -- | setShadowColor :: (MonadDOM m, ToJSString val) => CanvasRenderingContext2D -> Maybe val -> m () setShadowColor self val = liftDOM (self ^. jss "shadowColor" (toJSVal val)) -- | getShadowColor :: (MonadDOM m, FromJSString result) => CanvasRenderingContext2D -> m (Maybe result) getShadowColor self = liftDOM ((self ^. js "shadowColor") >>= fromMaybeJSString) -- | setLineDashOffset :: (MonadDOM m) => CanvasRenderingContext2D -> Float -> m () setLineDashOffset self val = liftDOM (self ^. jss "lineDashOffset" (toJSVal val)) -- | getLineDashOffset :: (MonadDOM m) => CanvasRenderingContext2D -> m Float getLineDashOffset self = liftDOM (realToFrac <$> ((self ^. js "lineDashOffset") >>= valToNumber)) -- | setWebkitLineDash :: (MonadDOM m, IsArray val) => CanvasRenderingContext2D -> Maybe val -> m () setWebkitLineDash self val = liftDOM (self ^. jss "webkitLineDash" (toJSVal val)) -- | getWebkitLineDash :: (MonadDOM m) => CanvasRenderingContext2D -> m (Maybe Array) getWebkitLineDash self = liftDOM ((self ^. js "webkitLineDash") >>= fromJSVal) -- | setWebkitLineDashOffset :: (MonadDOM m) => CanvasRenderingContext2D -> Float -> m () setWebkitLineDashOffset self val = liftDOM (self ^. jss "webkitLineDashOffset" (toJSVal val)) -- | getWebkitLineDashOffset :: (MonadDOM m) => CanvasRenderingContext2D -> m Float getWebkitLineDashOffset self = liftDOM (realToFrac <$> ((self ^. js "webkitLineDashOffset") >>= valToNumber)) -- | setFont :: (MonadDOM m, ToJSString val) => CanvasRenderingContext2D -> val -> m () setFont self val = liftDOM (self ^. jss "font" (toJSVal val)) -- | getFont :: (MonadDOM m, FromJSString result) => CanvasRenderingContext2D -> m result getFont self = liftDOM ((self ^. js "font") >>= fromJSValUnchecked) -- | setTextAlign :: (MonadDOM m, ToJSString val) => CanvasRenderingContext2D -> val -> m () setTextAlign self val = liftDOM (self ^. jss "textAlign" (toJSVal val)) -- | getTextAlign :: (MonadDOM m, FromJSString result) => CanvasRenderingContext2D -> m result getTextAlign self = liftDOM ((self ^. js "textAlign") >>= fromJSValUnchecked) -- | setTextBaseline :: (MonadDOM m, ToJSString val) => CanvasRenderingContext2D -> val -> m () setTextBaseline self val = liftDOM (self ^. jss "textBaseline" (toJSVal val)) -- | getTextBaseline :: (MonadDOM m, FromJSString result) => CanvasRenderingContext2D -> m result getTextBaseline self = liftDOM ((self ^. js "textBaseline") >>= fromJSValUnchecked) -- | setDirection :: (MonadDOM m, ToJSString val) => CanvasRenderingContext2D -> val -> m () setDirection self val = liftDOM (self ^. jss "direction" (toJSVal val)) -- | getDirection :: (MonadDOM m, FromJSString result) => CanvasRenderingContext2D -> m result getDirection self = liftDOM ((self ^. js "direction") >>= fromJSValUnchecked) -- | setStrokeStyle :: (MonadDOM m, IsCanvasStyle val) => CanvasRenderingContext2D -> Maybe val -> m () setStrokeStyle self val = liftDOM (self ^. jss "strokeStyle" (toJSVal val)) -- | getStrokeStyle :: (MonadDOM m) => CanvasRenderingContext2D -> m (Maybe CanvasStyle) getStrokeStyle self = liftDOM ((self ^. js "strokeStyle") >>= fromJSVal) -- | setFillStyle :: (MonadDOM m, IsCanvasStyle val) => CanvasRenderingContext2D -> Maybe val -> m () setFillStyle self val = liftDOM (self ^. jss "fillStyle" (toJSVal val)) -- | getFillStyle :: (MonadDOM m) => CanvasRenderingContext2D -> m (Maybe CanvasStyle) getFillStyle self = liftDOM ((self ^. js "fillStyle") >>= fromJSVal) -- | getWebkitBackingStorePixelRatio :: (MonadDOM m) => CanvasRenderingContext2D -> m Float getWebkitBackingStorePixelRatio self = liftDOM (realToFrac <$> ((self ^. js "webkitBackingStorePixelRatio") >>= valToNumber)) -- | setWebkitImageSmoothingEnabled :: (MonadDOM m) => CanvasRenderingContext2D -> Bool -> m () setWebkitImageSmoothingEnabled self val = liftDOM (self ^. jss "webkitImageSmoothingEnabled" (toJSVal val)) -- | getWebkitImageSmoothingEnabled :: (MonadDOM m) => CanvasRenderingContext2D -> m Bool getWebkitImageSmoothingEnabled self = liftDOM ((self ^. js "webkitImageSmoothingEnabled") >>= valToBool)