wechat/canvas
canvas module provides canvas context API bindings details in wechat document
Types
CanvasContext type
pub type CanvasContext
Phase 18: Canvas Advanced
CanvasGradient type
pub type CanvasGradient
Values
pub fn cancel_animation_frame(request_id i: Int) -> Nil
wx.cancelAnimationFrame
Cancel animation frame
pub fn canvas_arc(
ctx: CanvasContext,
x: Float,
y: Float,
radius: Float,
start_angle: Float,
end_angle: Float,
anticlockwise: Bool,
) -> Nil
CanvasContext.arc
pub fn canvas_arc_to(
ctx: CanvasContext,
x1: Float,
y1: Float,
x2: Float,
y2: Float,
radius: Float,
) -> Nil
CanvasContext.arcTo
pub fn canvas_bezier_curve_to(
ctx: CanvasContext,
cp1_x: Float,
cp1_y: Float,
cp2_x: Float,
cp2_y: Float,
ep_x: Float,
ep_y: Float,
) -> Nil
CanvasContext.bezierCurveTo
pub fn canvas_clear_rect(
ctx: CanvasContext,
x: Float,
y: Float,
width: Float,
height: Float,
) -> Nil
CanvasContext.clearRect
pub fn canvas_close_path(ctx: CanvasContext) -> Nil
CanvasContext.closePath
Close current path
pub fn canvas_create_circular_gradient(
ctx: CanvasContext,
x: Float,
y: Float,
r: Float,
) -> CanvasGradient
CanvasContext.createCircularGradient
Create a circular gradient
pub fn canvas_create_linear_gradient(
ctx: CanvasContext,
x0: Float,
y0: Float,
x1: Float,
y1: Float,
) -> CanvasGradient
CanvasContext.createLinearGradient
Create a linear gradient
pub fn canvas_draw_image(
ctx: CanvasContext,
img_source: object.JsObject,
sx: Float,
sy: Float,
sw: Float,
sh: Float,
dx: Float,
dy: Float,
dwidth: Float,
dheight: Float,
) -> Nil
CanvasContext.drawImage
pub fn canvas_fill_rect(
ctx: CanvasContext,
x: Float,
y: Float,
width: Float,
height: Float,
) -> Nil
CanvasContext.fillRect
pub fn canvas_fill_text(
ctx: CanvasContext,
text: String,
x: Float,
y: Float,
max_width: Float,
) -> Nil
CanvasContext.fillText
pub fn canvas_get_context(
canvas: object.JsObject,
context_type ct: String,
) -> object.JsObject
Canvas.getContext Get canvas rendering context
pub fn canvas_get_image_data(
canvas_id c: String,
x x: Float,
y y: Float,
width w: Float,
height h: Float,
complete cb: fn(object.JsObject) -> Nil,
) -> promise.Promise(object.JsObject)
wx.canvasGetImageData
Get image data from canvas
pub fn canvas_gradient_add_color_stop(
gradient: CanvasGradient,
offset: Float,
color: String,
) -> Nil
CanvasGradient.addColorStop
Add color stop to gradient
pub fn canvas_line_to(
ctx: CanvasContext,
x: Float,
y: Float,
) -> Nil
CanvasContext.lineTo
pub fn canvas_measure_text(
ctx: CanvasContext,
text: String,
) -> object.JsObject
CanvasContext.measureText
pub fn canvas_move_to(
ctx: CanvasContext,
x: Float,
y: Float,
) -> Nil
CanvasContext.moveTo
pub fn canvas_put_image_data(
canvas_id c: String,
data d: object.JsObject,
x x: Float,
y y: Float,
width w: Float,
height h: Float,
) -> Nil
wx.canvasPutImageData
Put image data onto canvas
pub fn canvas_quadratic_curve_to(
ctx: CanvasContext,
control_point_x: Float,
control_point_y: Float,
end_point_x: Float,
end_point_y: Float,
) -> Nil
CanvasContext.quadraticCurveTo
pub fn canvas_rect(
ctx: CanvasContext,
x: Float,
y: Float,
width: Float,
height: Float,
) -> Nil
CanvasContext.rect
Draw rectangle path
pub fn canvas_rotate(ctx: CanvasContext, angle: Float) -> Nil
CanvasContext.rotate
pub fn canvas_scale(
ctx: CanvasContext,
sx: Float,
sy: Float,
) -> Nil
CanvasContext.scale
pub fn canvas_set_fill_style(
ctx: CanvasContext,
color: String,
) -> Nil
CanvasContext.fillStyle
pub fn canvas_set_font_size(
ctx: CanvasContext,
size: Float,
) -> Nil
CanvasContext.setFontSize
Set font size
pub fn canvas_set_global_alpha(
ctx: CanvasContext,
alpha: Float,
) -> Nil
CanvasContext.setGlobalAlpha
Set global transparency
pub fn canvas_set_line_cap(
ctx: CanvasContext,
line_cap: String,
) -> Nil
CanvasContext.setLineCap
pub fn canvas_set_line_dash(
ctx: CanvasContext,
pattern: List(Int),
) -> Nil
CanvasContext.setLineDash
pub fn canvas_set_line_join(
ctx: CanvasContext,
line_join: String,
) -> Nil
CanvasContext.setLineJoin
pub fn canvas_set_line_width(
ctx: CanvasContext,
width: Float,
) -> Nil
CanvasContext.setLineWidth
pub fn canvas_set_miter_limit(
ctx: CanvasContext,
miter: Float,
) -> Nil
CanvasContext.setMiterLimit
pub fn canvas_set_shadow(
ctx: CanvasContext,
color: String,
blur: Float,
offset_x: Float,
offset_y: Float,
) -> Nil
CanvasContext.setShadow
pub fn canvas_set_stroke_style(
ctx: CanvasContext,
color: String,
) -> Nil
CanvasContext.setStrokeStyle
Set stroke style
pub fn canvas_set_text_align(
ctx: CanvasContext,
align: String,
) -> Nil
CanvasContext.setTextAlign
Set text alignment
pub fn canvas_set_text_baseline(
ctx: CanvasContext,
baseline: String,
) -> Nil
CanvasContext.setTextBaseline
Set text baseline
pub fn canvas_set_transform(
ctx: CanvasContext,
a: Float,
b: Float,
c: Float,
d: Float,
e: Float,
f: Float,
) -> Nil
CanvasContext.setTransform
Set transformation matrix
pub fn canvas_stroke_rect(
ctx: CanvasContext,
x: Float,
y: Float,
width: Float,
height: Float,
) -> Nil
CanvasContext.strokeRect
pub fn canvas_stroke_text(
ctx: CanvasContext,
text: String,
x: Float,
y: Float,
max_width: Float,
) -> Nil
CanvasContext.strokeText
pub fn canvas_to_data_url(
canvas: object.JsObject,
file_type ft: String,
quality q: Float,
) -> promise.Promise(object.JsObject)
Canvas.toDataURL (OffscreenCanvas only) Export canvas as data URL string
pub fn canvas_to_temp_file_path(
canvas_id c: String,
file_type ft: String,
quality q: Float,
complete cb: fn(object.JsObject) -> Nil,
) -> promise.Promise(object.JsObject)
wx.canvasToTempFilePath
Export canvas to temporary file path
pub fn canvas_transform(
ctx: CanvasContext,
a: Float,
b: Float,
c: Float,
d: Float,
e: Float,
f: Float,
) -> Nil
CanvasContext.transform
pub fn canvas_translate(
ctx: CanvasContext,
dx: Float,
dy: Float,
) -> Nil
CanvasContext.translate
pub fn create_canvas_context(canvas_id: String) -> CanvasContext
wx.createCanvasContext
Create canvas context
pub fn create_image() -> object.JsObject
Canvas Utility Methods
wx.createImage
Create an image object
pub fn create_image_data(
width w: Float,
height h: Float,
) -> object.JsObject
wx.createImageData
Create an ImageData object
pub fn create_offscreen_canvas(
options o: object.JsObject,
) -> object.JsObject
Phase 16: Canvas Advanced
Canvas Creation
wx.createOffscreenCanvas
Create an offscreen canvas
pub fn create_path_2d() -> object.JsObject
wx.createPath2D
Create a Path2D object
pub fn offscreen_canvas_create_image(
canvas: object.JsObject,
) -> object.JsObject
OffscreenCanvas.createImage Create Image object for offscreen canvas
pub fn path_2d_arc(
path: Path2D,
x: Float,
y: Float,
radius: Float,
start_angle: Float,
end_angle: Float,
anticlockwise: Bool,
) -> Nil
Path2D.arc Draw arc
pub fn path_2d_bezier_curve_to(
path: Path2D,
cp1x: Float,
cp1y: Float,
cp2x: Float,
cp2y: Float,
x: Float,
y: Float,
) -> Nil
Path2D.bezierCurveTo Draw cubic bezier curve
pub fn path_2d_line_to(path: Path2D, x: Float, y: Float) -> Nil
Path2D.lineTo Draw line to point
pub fn path_2d_move_to(path: Path2D, x: Float, y: Float) -> Nil
Path2D.moveTo Move to point
pub fn path_2d_quadratic_curve_to(
path: Path2D,
cpx: Float,
cpy: Float,
x: Float,
y: Float,
) -> Nil
Path2D.quadraticCurveTo Draw quadratic bezier curve
pub fn path_2d_rect(
path: Path2D,
x: Float,
y: Float,
width: Float,
height: Float,
) -> Nil
Path2D.rect Draw rectangle
pub fn request_animation_frame(
callback cb: fn(object.JsObject) -> Nil,
) -> Int
wx.requestAnimationFrame
Request animation frame