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 JSM a Source #

DSL for expressing operations on canvas_

newtype Pattern Source #

Type used to hold a canvas Pattern

Constructors

Pattern JSVal 

newtype Gradient Source #

Type used to hold a Gradient

Constructors

Gradient JSVal 

newtype ImageData Source #

Type used to hold ImageData

Constructors

ImageData JSVal 

data LineCapType Source #

Instances

Instances details
Show LineCapType Source # 
Instance details

Defined in Miso.Canvas

Eq LineCapType Source # 
Instance details

Defined in Miso.Canvas

ToJSVal LineCapType Source # 
Instance details

Defined in Miso.Canvas

MakeArgs LineCapType Source # 
Instance details

Defined in Miso.Canvas

data PatternType Source #

Various patterns used in the canvas API

Constructors

Repeat 
RepeatX 
RepeatY 
NoRepeat 

data LineJoinType Source #

Instances

Instances details
Show LineJoinType Source # 
Instance details

Defined in Miso.Canvas

Eq LineJoinType Source # 
Instance details

Defined in Miso.Canvas

ToJSVal LineJoinType Source # 
Instance details

Defined in Miso.Canvas

MakeArgs 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

ToJSVal DirectionType Source # 
Instance details

Defined in Miso.Canvas

MakeArgs 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

ToJSVal TextAlignType Source # 
Instance details

Defined in Miso.Canvas

MakeArgs TextAlignType Source # 
Instance details

Defined in Miso.Canvas

data StyleArg Source #

Color, Gradient or Pattern styling

Instances

Instances details
ToJSVal StyleArg Source # 
Instance details

Defined in Miso.Canvas

MakeArgs 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 -> JSM canvasState)

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

-> (canvasState -> JSM ())

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 :: MakeArgs 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