Safe Haskell | None |
---|---|
Language | Haskell2010 |
- defaultCanvasModuleConfiguration :: EventloopModuleConfiguration
- defaultCanvasModuleIOState :: IOState
- canvasModuleIdentifier :: EventloopModuleIdentifier
- canvasInitializer :: Initializer
- canvasEventRetriever :: EventRetriever
- canvasEventSender :: EventSender
- canvasTeardown :: Teardown
- sendRoutedMessageOut :: Connection -> RoutedMessageOut -> IO ()
- router :: ReceiveBuffer -> CanvasUserReceiveBuffer -> CanvasSystemReceiveBuffer -> IO ()
- measureText :: IOState -> CanvasId -> CanvasText -> IO ScreenDimensions
- type CanvasUserReceiveBuffer = MVar [CanvasIn]
- type CanvasSystemReceiveBuffer = MVar SystemCanvasIn
- type Opcode = Int
- type ScreenMetric = Int
- type ScreenX = ScreenMetric
- type ScreenY = ScreenMetric
- type ScreenWidth = ScreenMetric
- type ScreenHeight = ScreenMetric
- type ScreenRadius = ScreenMetric
- type ScreenAngle = ScreenMetric
- type ScreenPoint = (ScreenX, ScreenY)
- type ScreenDimensions = (ScreenWidth, ScreenHeight)
- type ScreenStartingPoint = ScreenPoint
- type ScreenControlPoint = ScreenPoint
- type ScreenEndPoint = ScreenPoint
- type ScreenStartingAngle = ScreenAngle
- type ScreenEndAngle = ScreenAngle
- type CanvasId = NumericId
- type ZIndex = Int
- type ScreenColorMetric = Int
- type ScreenRed = ScreenColorMetric
- type ScreenGreen = ScreenColorMetric
- type ScreenBlue = ScreenColorMetric
- type ScreenAlpha = Float
- type ScreenColor = (ScreenRed, ScreenGreen, ScreenBlue, ScreenAlpha)
- type ScreenPixel = ScreenColor
- type ColorStopOffset = Float
- type ScreenCircle = (ScreenPoint, ScreenRadius)
- type ScaleUnit = Float
- type ScaleX = ScaleUnit
- type ScaleY = ScaleUnit
- type FontFamily = [Char]
- type FontSize = Int
- data RoutedMessageIn
- data RoutedMessageOut
- data SystemCanvasIn = SystemMeasuredText CanvasId CanvasText ScreenDimensions
- data SystemCanvasOut = SystemMeasureText CanvasId CanvasText
- data CanvasIn = MeasuredText CanvasId CanvasText ScreenDimensions
- type CanvasPositionLeft = CSSUnit
- type CanvasPositionRight = CSSUnit
- type CanvasPosition = (CanvasPositionLeft, CanvasPositionRight)
- data CanvasOut
- data CanvasOperation
- data ScreenPathPart
- = MoveTo ScreenPoint
- | LineTo ScreenPoint
- | BezierCurveTo ScreenControlPoint ScreenControlPoint ScreenEndPoint
- | QuadraticCurveTo ScreenControlPoint ScreenEndPoint
- | ArcTo ScreenControlPoint ScreenControlPoint ScreenRadius
- | Arc ScreenCircle ScreenStartingAngle ScreenEndAngle
- | Rectangle ScreenPoint ScreenDimensions
- type PathRenderStrokeStyle = RenderStyle
- data PathStroke
- type PathRenderFillStyle = RenderStyle
- data PathFill
- type CanvasColorStop = (ColorStopOffset, ScreenColor)
- data RenderStyle
- data CanvasImage
- data PatternRepetition
- data CanvasGradientType
- data CanvasText = CanvasText [Char] Font Alignment
- data Font = Font FontFamily FontSize
- type TextStrokeRenderStyle = RenderStyle
- type TextFillRenderStyle = RenderStyle
- data TextRender
- data Alignment
- type TransformUnit = Float
- type TransformationMatrix = (TransformUnit, TransformUnit, TransformUnit, TransformUnit, TransformUnit, TransformUnit)
- data CanvasTransform
- data CSSUnit
- data ClearPart
Documentation
sendRoutedMessageOut :: Connection -> RoutedMessageOut -> IO () Source
router :: ReceiveBuffer -> CanvasUserReceiveBuffer -> CanvasSystemReceiveBuffer -> IO () Source
measureText :: IOState -> CanvasId -> CanvasText -> IO ScreenDimensions Source
type CanvasUserReceiveBuffer = MVar [CanvasIn] Source
type ScreenMetric = Int Source
type ScreenX = ScreenMetric Source
type ScreenY = ScreenMetric Source
type ScreenWidth = ScreenMetric Source
type ScreenHeight = ScreenMetric Source
type ScreenRadius = ScreenMetric Source
type ScreenAngle Source
= ScreenMetric | In degrees |
type ScreenPoint = (ScreenX, ScreenY) Source
type ScreenDimensions = (ScreenWidth, ScreenHeight) Source
type ScreenStartingPoint = ScreenPoint Source
type ScreenControlPoint = ScreenPoint Source
type ScreenEndPoint = ScreenPoint Source
type ScreenStartingAngle = ScreenAngle Source
type ScreenEndAngle = ScreenAngle Source
type ScreenColorMetric = Int Source
type ScreenRed = ScreenColorMetric Source
type ScreenGreen = ScreenColorMetric Source
type ScreenBlue = ScreenColorMetric Source
type ScreenAlpha = Float Source
type ScreenColor = (ScreenRed, ScreenGreen, ScreenBlue, ScreenAlpha) Source
type ScreenPixel = ScreenColor Source
type ColorStopOffset = Float Source
type ScreenCircle = (ScreenPoint, ScreenRadius) Source
type FontFamily = [Char] Source
data RoutedMessageIn Source
data RoutedMessageOut Source
data SystemCanvasIn Source
Opcode: 2100
SystemMeasuredText CanvasId CanvasText ScreenDimensions | Opcode: 2101 |
Opcode: 0100
MeasuredText CanvasId CanvasText ScreenDimensions | Opcode: 0101 |
type CanvasPositionLeft = CSSUnit Source
Reserved type words
Type: t | Opcode
Arguments: a | List of arguments for that data type
Route: r | Either s
for system or u
for user
Object: o | The object that is beneath
Example:
{r
: s
, o
: {SystemMeasuredText object}}
SystemMeasuredText object: {t
:2102, a
:[CanvasId, CanvasText object, ScreenDimensions]}
Opcode: 0200
type CanvasPositionRight = CSSUnit Source
SetupCanvas CanvasId ZIndex ScreenDimensions CanvasPosition | Opcode: 0201 |
TeardownCanvas CanvasId | Opcode: 0202 |
CanvasOperations CanvasId [CanvasOperation] | Opcode: 0203 |
MeasureText CanvasId CanvasText | Opcode: 0204 |
data CanvasOperation Source
Opcode: 0300
DrawPath ScreenStartingPoint [ScreenPathPart] PathStroke PathFill | Opcode: 0301 |
DrawText CanvasText ScreenPoint TextRender | Opcode: 0302 |
DoTransform CanvasTransform | Opcode: 0303 |
Clear ClearPart | Opcode: 0304 |
data ScreenPathPart Source
Opcode: 0400
MoveTo ScreenPoint | Opcode: 0401 |
LineTo ScreenPoint | Opcode: 0402 |
BezierCurveTo ScreenControlPoint ScreenControlPoint ScreenEndPoint | Opcode: 0403 |
QuadraticCurveTo ScreenControlPoint ScreenEndPoint | Opcode: 0404 |
ArcTo ScreenControlPoint ScreenControlPoint ScreenRadius | Opcode: 0405 |
Arc ScreenCircle ScreenStartingAngle ScreenEndAngle | Opcode: 0406 |
Rectangle ScreenPoint ScreenDimensions | Opcode: 0407 |
type PathRenderStrokeStyle = RenderStyle Source
Opcode: 0500
data PathStroke Source
PathStroke PathRenderStrokeStyle | Opcode: 0501 |
PathNoStroke | Opcode: 0502 |
type PathRenderFillStyle = RenderStyle Source
Opcode: 0600
PathFill PathRenderFillStyle | Opcode: 0601 |
PathNoFill | Opcode: 0602 |
type CanvasColorStop = (ColorStopOffset, ScreenColor) Source
Opcode: 0700
data RenderStyle Source
CanvasColor ScreenColor | Opcode: 0701 |
CanvasGradient CanvasGradientType [CanvasColorStop] | Opcode:0702 |
CanvasPattern CanvasImage PatternRepetition | Opcode: 0703 |
data CanvasImage Source
Opcode: 0800
CanvasElement CanvasId ScreenPoint ScreenDimensions | Opcode: 0801 |
ImageData ScreenDimensions [ScreenPixel] | Opcode: 0802 [ScreenPixel] should be as long as width * height * 4 |
data PatternRepetition Source
Opcode: 0900
data CanvasGradientType Source
Opcode: 1000
RadialGradient ScreenCircle ScreenCircle | Opcode: 1001 First circle = inner circle, Second circle is enclosing circle |
LinearGradient ScreenPoint ScreenPoint | Opcode: 1002 |
Opcode: 1300
Font FontFamily FontSize | Opcode: 1301 |
type TextStrokeRenderStyle = RenderStyle Source
Opcode: 1400
type TextFillRenderStyle = RenderStyle Source
data TextRender Source
TextStroke TextStrokeRenderStyle | Opcode: 1401 |
TextFill TextFillRenderStyle | Opcode: 1402 |
Opcode: 1500
AlignLeft | Opcode: 1501 |
AlignRight | Opcode: 1502 |
AlignCenter | Opcode: 1503 |
AlignStart | Opcode: 1504 |
AlignEnd | Opcode: 1505 |
type TransformUnit = Float Source
Opcode: 1600
type TransformationMatrix = (TransformUnit, TransformUnit, TransformUnit, TransformUnit, TransformUnit, TransformUnit) Source
data CanvasTransform Source
Save | Opcode: 1601 |
Restore | Opcode: 1602 |
Translate ScreenPoint | Opcode: 1603 |
Rotate ScreenAngle | Opcode: 1604 |
Scale ScaleX ScaleY | Opcode: 1605 |
Transform TransformationMatrix | Opcode: 1606 |
SetTransform TransformationMatrix | Opcode: 1607 |
ResetTransform | Opcode: 1608 |
Opcode: 1800
CSSPixels Int | Opcode: 1801 |
CSSPercentage Int | Opcode: 1802 |
Opcode: 1900
ClearRectangle ScreenPoint ScreenDimensions | Opcode: 1901 |
ClearCanvas | Opcode: 1902 |