miso
Copyright(C) 2016-2025 David M. Johnson
LicenseBSD3-style (see the file LICENSE)
MaintainerDavid M. Johnson <code@dmj.io>
Stabilityexperimental
Portabilitynon-portable
Safe HaskellNone
LanguageHaskell2010

Miso.Canvas

Description

Synopsis

Types

type Canvas a = ReaderT CanvasContext2D IO a Source #

DSL for expressing operations on canvas_

newtype Pattern Source #

Type used to hold a canvas Pattern

Constructors

Pattern JSVal 

Instances

Instances details
FromJSVal Pattern Source # 
Instance details

Defined in Miso.Canvas

ToJSVal Pattern Source # 
Instance details

Defined in Miso.Canvas

newtype Gradient Source #

Type used to hold a Gradient

Constructors

Gradient JSVal 

Instances

Instances details
FromJSVal Gradient Source # 
Instance details

Defined in Miso.Canvas

ToArgs Gradient Source # 
Instance details

Defined in Miso.Canvas

Methods

toArgs :: Gradient -> IO [JSVal] Source #

ToJSVal Gradient Source # 
Instance details

Defined in Miso.Canvas

newtype ImageData Source #

Type used to hold ImageData

Constructors

ImageData JSVal 

Instances

Instances details
FromJSVal ImageData Source # 
Instance details

Defined in Miso.Canvas

ToArgs ImageData Source # 
Instance details

Defined in Miso.Canvas

Methods

toArgs :: ImageData -> IO [JSVal] Source #

ToJSVal ImageData Source # 
Instance details

Defined in Miso.Canvas

ToObject ImageData Source # 
Instance details

Defined in Miso.Canvas

data LineCapType Source #

Instances

Instances details
Show LineCapType Source # 
Instance details

Defined in Miso.Canvas

Eq LineCapType Source # 
Instance details

Defined in Miso.Canvas

ToArgs LineCapType Source # 
Instance details

Defined in Miso.Canvas

ToJSVal LineCapType Source # 
Instance details

Defined in Miso.Canvas

data PatternType Source #

Various patterns used in the canvas API

Constructors

Repeat 
RepeatX 
RepeatY 
NoRepeat 

Instances

Instances details
FromJSVal PatternType Source # 
Instance details

Defined in Miso.Canvas

ToJSVal PatternType Source # 
Instance details

Defined in Miso.Canvas

data LineJoinType Source #

Instances

Instances details
Show LineJoinType Source # 
Instance details

Defined in Miso.Canvas

Eq LineJoinType Source # 
Instance details

Defined in Miso.Canvas

ToArgs LineJoinType Source # 
Instance details

Defined in Miso.Canvas

ToJSVal LineJoinType Source # 
Instance details

Defined in Miso.Canvas

data DirectionType Source #

Left-to-right, right-to-left, or inherit direction type.

Constructors

LTR 
RTL 
Inherit 

Instances

Instances details
Show DirectionType Source # 
Instance details

Defined in Miso.Canvas

Eq DirectionType Source # 
Instance details

Defined in Miso.Canvas

ToArgs DirectionType Source # 
Instance details

Defined in Miso.Canvas

ToJSVal DirectionType Source # 
Instance details

Defined in Miso.Canvas

data TextAlignType Source #

Text alignment type

Instances

Instances details
Show TextAlignType Source # 
Instance details

Defined in Miso.Canvas

Eq TextAlignType Source # 
Instance details

Defined in Miso.Canvas

ToArgs TextAlignType Source # 
Instance details

Defined in Miso.Canvas

ToJSVal TextAlignType Source # 
Instance details

Defined in Miso.Canvas

data StyleArg Source #

Color, Gradient or Pattern styling

Instances

Instances details
ToArgs StyleArg Source # 
Instance details

Defined in Miso.Canvas

Methods

toArgs :: StyleArg -> IO [JSVal] Source #

ToJSVal StyleArg Source # 
Instance details

Defined in Miso.Canvas

type Coord = (Double, Double) Source #

An (x,y) coordinate.

Property

canvas Source #

Arguments

:: forall model action canvasState. (FromJSVal canvasState, ToJSVal canvasState) 
=> [Attribute action] 
-> (DOMRef -> Canvas canvasState)

Init function, takes DOMRef as arg, returns canvas init. state.

-> (canvasState -> Canvas ())

Callback to render graphics using this canvas' context, takes init state as arg.

-> View model action 

Element for drawing on a <canvas>. This function abstracts over the context and interpret callback, including dimension ("2d" or "3d") canvas.

canvas_ Source #

Arguments

:: forall model action canvasState. (FromJSVal canvasState, ToJSVal canvasState) 
=> [Attribute action] 
-> (DOMRef -> IO canvasState)

Init function, takes DOMRef as arg, returns canvas init. state.

-> (canvasState -> IO ())

Callback to render graphics using this canvas' context, takes init state as arg.

-> View model action 

Another variant of canvas, this is not specialized to ReaderT. This is useful when building applications with three.js, or other libraries where explicit context is not necessary.

API

set :: ToArgs args => MisoString -> args -> Canvas () Source #

Property setter specialized to Canvas.

globalCompositeOperation :: CompositeOperation -> Canvas ()
globalCompositeOperation = set "globalCompositeOperation"

Smart constructors

gradient :: Gradient -> StyleArg Source #

Smart constructor for Gradient when using StyleArg

pattern_ :: Pattern -> StyleArg Source #

Smart constructor for Pattern when using StyleArg

color :: Color -> StyleArg Source #

Smart constructor for Color when using StyleArg