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 w/ three.js, or other libraries where explicit context is not necessary.

API

setImageData :: (ImageData, Int, Double) -> Canvas () Source #

imageData.data[index
= 255](https:/www.w3schools.comtags/canvas_imagedata_data.asp)

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