Brr_canvas.C2dThe 2D canvas context.
module Fill_rule : sig ... endFill rule enum.
module Image_smoothing_quality : sig ... endImage smoothing quality enum.
module Line_cap : sig ... endLine cap.
module Line_join : sig ... endLine join.
module Text_align : sig ... endText alignement.
module Text_baseline : sig ... endText baseline.
module Text_direction : sig ... endText direction.
module Composite_op : sig ... endCompositing operators.
module Repeat : sig ... endPattern repetition.
module Path : sig ... endPath2D objects.
The type for canvas image sources. This can be many things.
image_src_of_el e use this with an Brr.El.img, Brr.El.video, Brr.El.canvas element. No checks are performed.
image_src_of_jv jv is an image source from the given JavaScript value. jv must be one of these things, no checks are performed.
The type for CanvasRenderingContext2DSettings.
val create_attrs :
?alpha:bool ->
?color_space:Jstr.t ->
?desynchronized:bool ->
?will_read_frequently:bool ->
unit ->
attrscreate_attrs () are attrs with the given attributes.
val attrs_alpha : attrs -> boolattrs_alpha a is the alpha attribute of a.
val attrs_desynchronized : attrs -> boolattrs_desynchronized a is the desynchronized attribute of a.
val attrs_will_read_frequently : attrs -> boolattrs_will_read_frequenty a is the willReadFrequently attribute of a.
The type for CanvasRenderingContext2D objects.
get_context ~attrs cnv is a 2D context for canvas cnv with attributes attrs.
canvas c is the canvas element associated to the context c (if any).
val image_smoothing_enabled : t -> boolimage_smoothing_enabled c determines the image smoothing (antialiasing) performed on c.
val set_image_smoothing_enabled : t -> bool -> unitimage_smoothing_enabled c b sets the image smoothing (antialiasing) performed on c.
val image_smoothing_quality : t -> Image_smoothing_quality.timage_smoothing_enabled c determines image smoothing quality (antialiasing) performed on c.
val set_image_smoothing_quality : t -> Image_smoothing_quality.t -> unitimage_smoothing_enabled c sets the image smoothing quality (antialiasing) performed on c.
val global_alpha : t -> floatglobal_alpha c is the global alpha of c.
val set_global_alpha : t -> float -> unitset_global_alpha c a setes the global alpha of c to a.
val global_composite_op : t -> Composite_op.tglobal_composite_op c is the global composite operator of c.
val set_global_composite_op : t -> Composite_op.t -> unitset_global_composite_op c op sets the global composite operator of c to op.
val set_transform' :
t ->
a:float ->
b:float ->
c:float ->
d:float ->
e:float ->
f:float ->
unitset_transform' c ~a ~b ~c ~d ~e ~f sets the current transformation matrix.
val reset_transform : t -> unitreset_transform c resets the current transformation matrix to the identity.
transform c m transforms space by matrix m.
val transform' :
t ->
a:float ->
b:float ->
c:float ->
d:float ->
e:float ->
f:float ->
unittransform' c ~a ~b ~c ~d ~e ~f transforms space by matrix m.
val translate : t -> x:float -> y:float -> unittranslate c ~x ~y translates space by (x,y).
set_stroke_style c s sets the stroke style of c to s.
set_fill_style c s sets the fill style of c to s.
color s is the color s parsed as a CSS color value as a style.
val linear_gradient :
t ->
x0:float ->
y0:float ->
x1:float ->
y1:float ->
stops:(float * Jstr.t) list ->
gradientlinear_gradient c ~x0 ~y0 ~x1 ~y1 ~stops create a linear gradient from (x0,y0) to (x1,y1) with color stops stops.
val radial_gradient :
t ->
x0:float ->
y0:float ->
r0:float ->
x1:float ->
y1:float ->
r1:float ->
stops:(float * Jstr.t) list ->
gradientradial_gradient c ~x0 ~y0 ~r0 ~x1 ~y1 ~r1 ~stops create a radial gradient from circle centered at (x0,y0) with radius r0 to circle centered at (x1,y1) with radius r1 and color stops stops.
pattern c img repeat ~tr creates a pattern from img repeatint it according to repeat and transform tr.
val line_width : t -> floatline_width c is the line width in c.
val set_line_width : t -> float -> unitset_line_width c w set the line width to w in c.
val line_cap : t -> Line_cap.tline_cap c is the line cap in c.
val set_line_cap : t -> Line_cap.t -> unitset_line_cap c cap set the line cap to cap in c.
val line_join : t -> Line_join.tline_join c is the line join in c.
val set_line_join : t -> Line_join.t -> unitset_line_join c join set the line join to join in c.
val miter_limit : t -> floatmiter_limit c is the miter limit in c.
val set_miter_limit : t -> float -> unitset_miter_limit c l set the miter limit to l in c.
val line_dash : t -> float listline_dash c are the line dashes in c.
val line_dash_offset : t -> floatline_dash_offset c is the line dash offset in c.
val set_line_dash_offset : t -> float -> unitset_line_dash_offset c o set the line dash offset to o in c.
val shadow_blur : t -> floatshadow_blur c is the shadow blur of c.
val set_shadow_blur : t -> float -> unitset_shadow_blur c b sets the shadow blur of c to b.
val shadow_offset_x : t -> floatshadow_offset_x c is the x shadow offset of c.
val set_shadow_offset_x : t -> float -> unitset_shadow_offset_x c o sets the x shadow offset of c to o
val shadow_offset_y : t -> floatshadow_offset_y c is the y shadow offset of c.
val set_shadow_offset_y : t -> float -> unitset_shadow_offset_x c o sets the y shadow offset of c to o.
shadow_color c is the shadow color of c.
set_shadow_color c col sets the shadow color of c to col.
val text_align : t -> Text_align.ttext_align c is the text align in c.
val set_text_align : t -> Text_align.t -> unitset_text_align c a set the text align to a in c.
val text_baseline : t -> Text_baseline.ttext_baseline c is the text baseline in c.
val set_text_baseline : t -> Text_baseline.t -> unitset_text_baseline c b set the text baseline to b in c.
val text_direction : t -> Text_direction.ttext_direction c is the text direction in c.
val set_text_direction : t -> Text_direction.t -> unitset_direction c d set the text direction to d in c.
val clear_rect : t -> x:float -> y:float -> w:float -> h:float -> unitclear_rect c x y ~w ~h clears the given rectangular area by setting it to transparent black.
val fill_rect : t -> x:float -> y:float -> w:float -> h:float -> unitfill_rect c x y ~w ~h fill the given rectangular area with current fill style.
val stroke_rect : t -> x:float -> y:float -> w:float -> h:float -> unitstroke_rect c x y ~w ~h strokes the given rectangular area with current stroke style.
Note. fill_rule always defaults to Fill_rule.nonzero.
val fill : ?fill_rule:Fill_rule.t -> t -> Path.t -> unitfill ~fill_rule c p fills p in c according to fill_rule.
val clip : ?fill_rule:Fill_rule.t -> t -> Path.t -> unitclip ~fill_rule c p clip drawing to the region of p in c according to fill_rule.
scroll_path_into_view c p scrolls path p into view in c.
val is_point_in_fill :
?fill_rule:Fill_rule.t ->
t ->
Path.t ->
x:float ->
y:float ->
boolis_point_in_fill ~fill_rule c p x y determines whether (x,y) is in the fill determiend by path p in c according to fill_rule.
point_in_path c p x y determines whether (x,y) is in the stroke determiend by path p.
fill_text c txt x y fills text txt at position (x,y).
fill_text c txt x y fills text txt at position (x,y).
module Text_metrics : sig ... endText metrics.
val measure_text : t -> Jstr.t -> Text_metrics.tmeasure_text txt measures text txt.
draw_image c i x y draws image i in the rectangle of c with top-left corner (x,y) and bottom-right corner (x+iw, y+ih), with iw and ih the width and height of i (unclear which unit that is though).
draw_image_in_rect c i x y ~w ~h draws image i in the rectangle of c with top-left corner (x,y) and bottom-right corner (x+w, y+h).
val draw_sub_image_in_rect :
t ->
image_src ->
sx:float ->
sy:float ->
sw:float ->
sh:float ->
x:float ->
y:float ->
w:float ->
h:float ->
unitdraw_sub_image_in_rect c i ~sx ~sy ~xw ~sh x y ~w ~h draws the pixels of i in the image space rectangle with top-left corner (sx,sy) and bottom-right corner (sx+sw,sy+sh) in the rectangle of c with top-left corner (x,y) and bottom-right corner (x+w, y+h).
module Image_data : sig ... endImage data objects
val create_image_data :
?color_space:Jstr.t ->
t ->
w:int ->
h:int ->
Image_data.tcreate_image_data c ~w ~h is a new image data of wxh transparent black pixels.
val get_image_data :
?color_space:Jstr.t ->
t ->
x:int ->
y:int ->
w:int ->
h:int ->
Image_data.tget_image_data c x y ~w ~h are the pixels of canvas c in the image space rectangle with top-left corner (x,y) and bottom-right corner (x+w, y+h).
val put_image_data : t -> Image_data.t -> x:int -> y:int -> unitput_image_data c d x y writes the pixels of d in the image space rectangle of c with top-left corner (x,y) and bottom-right corner (x+iw, y+ih), with iw and ih the width and height of i.
val put_sub_image_data :
t ->
Image_data.t ->
sx:int ->
sy:int ->
sw:int ->
sh:int ->
x:int ->
y:int ->
unitput_sub_image_data c d ~sx ~sy ~xw ~sh x y writes the pixels of d in the image space rectangle with top-left corner (sx,sy) and bottom-right corner (sx+sw,sy+sh) to the image space rectangle of c with top-left corner (x,y) and bottom-right corner (x+sx, y+sy).