pub struct CanvasRenderingContext2D(/* private fields */);
Implementations§
Source§impl CanvasRenderingContext2D
impl CanvasRenderingContext2D
pub fn reset_transform(&self) -> JsNullish
pub fn get_transform(&self) -> DOMMatrix
pub fn save(&self) -> JsNullish
pub fn restore(&self) -> JsNullish
pub fn reset(&self) -> JsNullish
pub fn get_line_dash_method(&self) -> Array<JsNumber>
pub fn close_path(&self) -> JsNullish
pub fn stroke(&self) -> JsNullish
pub fn begin_path(&self) -> JsNullish
pub fn get_context_attributes(&self) -> CanvasRenderingContext2DSettings
pub fn new(browser: &Browser) -> CanvasRenderingContext2D
pub fn draw_focus_if_needed(&self, element: &Element) -> JsNullish
pub fn set_transform( &self, transform: &dyn ToJs<JsNullable<DOMMatrix2DInit>>, ) -> JsNullish
pub fn rotate(&self, angle: &dyn ToJs<JsNumber>) -> JsNullish
pub fn measure_text(&self, text: &dyn ToJs<JsString>) -> TextMetrics
pub fn set_line_dash_method( &self, segments: &dyn ToJs<Array<JsNumber>>, ) -> JsNullish
pub fn create_image_data(&self, imagedata: &ImageData) -> ImageData
pub fn stroke_with_path(&self, path: &Path2D) -> JsNullish
pub fn fill(&self, fillRule: &dyn ToJs<JsNullable<JsString>>) -> JsNullish
pub fn clip(&self, fillRule: &dyn ToJs<JsNullable<JsString>>) -> JsNullish
pub fn draw_focus_if_needed_with_path_element( &self, path: &Path2D, element: &Element, ) -> JsNullish
pub fn scale(&self, x: &dyn ToJs<JsNumber>, y: &dyn ToJs<JsNumber>) -> JsNullish
pub fn move_to( &self, x: &dyn ToJs<JsNumber>, y: &dyn ToJs<JsNumber>, ) -> JsNullish
pub fn line_to( &self, x: &dyn ToJs<JsNumber>, y: &dyn ToJs<JsNumber>, ) -> JsNullish
pub fn create_pattern( &self, image: &dyn ToJs<JsValue>, repetition: &dyn ToJs<JsNullable<JsString>>, ) -> JsNullable<CanvasPattern>
pub fn translate( &self, x: &dyn ToJs<JsNumber>, y: &dyn ToJs<JsNumber>, ) -> JsNullish
pub fn is_point_in_stroke( &self, x: &dyn ToJs<JsNumber>, y: &dyn ToJs<JsNumber>, ) -> JsBoolean
pub fn fill_with_path_fillRule( &self, path: &Path2D, fillRule: &dyn ToJs<JsNullable<JsString>>, ) -> JsNullish
pub fn clip_with_path_fillRule( &self, path: &Path2D, fillRule: &dyn ToJs<JsNullable<JsString>>, ) -> JsNullish
pub fn put_image_data( &self, imagedata: &ImageData, dx: &dyn ToJs<JsNumber>, dy: &dyn ToJs<JsNumber>, ) -> JsNullish
pub fn create_image_data_with_sw_sh_settings( &self, sw: &dyn ToJs<JsNumber>, sh: &dyn ToJs<JsNumber>, settings: &dyn ToJs<JsNullable<ImageDataSettings>>, ) -> ImageData
pub fn create_conic_gradient( &self, startAngle: &dyn ToJs<JsNumber>, x: &dyn ToJs<JsNumber>, y: &dyn ToJs<JsNumber>, ) -> CanvasGradient
pub fn is_point_in_stroke_with_path_x_y( &self, path: &Path2D, x: &dyn ToJs<JsNumber>, y: &dyn ToJs<JsNumber>, ) -> JsBoolean
pub fn is_point_in_path( &self, x: &dyn ToJs<JsNumber>, y: &dyn ToJs<JsNumber>, fillRule: &dyn ToJs<JsNullable<JsString>>, ) -> JsBoolean
pub fn draw_image( &self, image: &dyn ToJs<JsValue>, dx: &dyn ToJs<JsNumber>, dy: &dyn ToJs<JsNumber>, ) -> JsNullish
pub fn fill_rect( &self, x: &dyn ToJs<JsNumber>, y: &dyn ToJs<JsNumber>, w: &dyn ToJs<JsNumber>, h: &dyn ToJs<JsNumber>, ) -> JsNullish
pub fn rect( &self, x: &dyn ToJs<JsNumber>, y: &dyn ToJs<JsNumber>, w: &dyn ToJs<JsNumber>, h: &dyn ToJs<JsNumber>, ) -> JsNullish
pub fn fill_text( &self, text: &dyn ToJs<JsString>, x: &dyn ToJs<JsNumber>, y: &dyn ToJs<JsNumber>, maxWidth: &dyn ToJs<JsNullable<JsNumber>>, ) -> JsNullish
pub fn create_linear_gradient( &self, x0: &dyn ToJs<JsNumber>, y0: &dyn ToJs<JsNumber>, x1: &dyn ToJs<JsNumber>, y1: &dyn ToJs<JsNumber>, ) -> CanvasGradient
pub fn is_point_in_path_with_path_x_y_fillRule( &self, path: &Path2D, x: &dyn ToJs<JsNumber>, y: &dyn ToJs<JsNumber>, fillRule: &dyn ToJs<JsNullable<JsString>>, ) -> JsBoolean
pub fn quadratic_curve_to( &self, cpx: &dyn ToJs<JsNumber>, cpy: &dyn ToJs<JsNumber>, x: &dyn ToJs<JsNumber>, y: &dyn ToJs<JsNumber>, ) -> JsNullish
pub fn stroke_rect( &self, x: &dyn ToJs<JsNumber>, y: &dyn ToJs<JsNumber>, w: &dyn ToJs<JsNumber>, h: &dyn ToJs<JsNumber>, ) -> JsNullish
pub fn clear_rect( &self, x: &dyn ToJs<JsNumber>, y: &dyn ToJs<JsNumber>, w: &dyn ToJs<JsNumber>, h: &dyn ToJs<JsNumber>, ) -> JsNullish
pub fn stroke_text( &self, text: &dyn ToJs<JsString>, x: &dyn ToJs<JsNumber>, y: &dyn ToJs<JsNumber>, maxWidth: &dyn ToJs<JsNullable<JsNumber>>, ) -> JsNullish
pub fn arc_to( &self, x1: &dyn ToJs<JsNumber>, y1: &dyn ToJs<JsNumber>, x2: &dyn ToJs<JsNumber>, y2: &dyn ToJs<JsNumber>, radius: &dyn ToJs<JsNumber>, ) -> JsNullish
pub fn get_image_data( &self, sx: &dyn ToJs<JsNumber>, sy: &dyn ToJs<JsNumber>, sw: &dyn ToJs<JsNumber>, sh: &dyn ToJs<JsNumber>, settings: &dyn ToJs<JsNullable<ImageDataSettings>>, ) -> ImageData
pub fn round_rect( &self, x: &dyn ToJs<JsNumber>, y: &dyn ToJs<JsNumber>, w: &dyn ToJs<JsNumber>, h: &dyn ToJs<JsNumber>, radii: &dyn ToJs<JsNullable<JsValue>>, ) -> JsNullish
pub fn draw_image_with_image_dx_dy_dw_dh( &self, image: &dyn ToJs<JsValue>, dx: &dyn ToJs<JsNumber>, dy: &dyn ToJs<JsNumber>, dw: &dyn ToJs<JsNumber>, dh: &dyn ToJs<JsNumber>, ) -> JsNullish
pub fn bezier_curve_to( &self, cp1x: &dyn ToJs<JsNumber>, cp1y: &dyn ToJs<JsNumber>, cp2x: &dyn ToJs<JsNumber>, cp2y: &dyn ToJs<JsNumber>, x: &dyn ToJs<JsNumber>, y: &dyn ToJs<JsNumber>, ) -> JsNullish
pub fn set_transform_with_a_b_c_d_e_f( &self, a: &dyn ToJs<JsNumber>, b: &dyn ToJs<JsNumber>, c: &dyn ToJs<JsNumber>, d: &dyn ToJs<JsNumber>, e: &dyn ToJs<JsNumber>, f: &dyn ToJs<JsNumber>, ) -> JsNullish
pub fn arc( &self, x: &dyn ToJs<JsNumber>, y: &dyn ToJs<JsNumber>, radius: &dyn ToJs<JsNumber>, startAngle: &dyn ToJs<JsNumber>, endAngle: &dyn ToJs<JsNumber>, counterclockwise: &dyn ToJs<JsNullable<JsBoolean>>, ) -> JsNullish
pub fn transform( &self, a: &dyn ToJs<JsNumber>, b: &dyn ToJs<JsNumber>, c: &dyn ToJs<JsNumber>, d: &dyn ToJs<JsNumber>, e: &dyn ToJs<JsNumber>, f: &dyn ToJs<JsNumber>, ) -> JsNullish
pub fn create_radial_gradient( &self, x0: &dyn ToJs<JsNumber>, y0: &dyn ToJs<JsNumber>, r0: &dyn ToJs<JsNumber>, x1: &dyn ToJs<JsNumber>, y1: &dyn ToJs<JsNumber>, r1: &dyn ToJs<JsNumber>, ) -> CanvasGradient
pub fn put_image_data_with_imagedata_dx_dy_dirtyX_dirtyY_dirtyWidth_dirtyHeight( &self, imagedata: &ImageData, dx: &dyn ToJs<JsNumber>, dy: &dyn ToJs<JsNumber>, dirtyX: &dyn ToJs<JsNumber>, dirtyY: &dyn ToJs<JsNumber>, dirtyWidth: &dyn ToJs<JsNumber>, dirtyHeight: &dyn ToJs<JsNumber>, ) -> JsNullish
pub fn ellipse( &self, x: &dyn ToJs<JsNumber>, y: &dyn ToJs<JsNumber>, radiusX: &dyn ToJs<JsNumber>, radiusY: &dyn ToJs<JsNumber>, rotation: &dyn ToJs<JsNumber>, startAngle: &dyn ToJs<JsNumber>, endAngle: &dyn ToJs<JsNumber>, counterclockwise: &dyn ToJs<JsNullable<JsBoolean>>, ) -> JsNullish
pub fn draw_image_with_image_sx_sy_sw_sh_dx_dy_dw_dh( &self, image: &dyn ToJs<JsValue>, sx: &dyn ToJs<JsNumber>, sy: &dyn ToJs<JsNumber>, sw: &dyn ToJs<JsNumber>, sh: &dyn ToJs<JsNumber>, dx: &dyn ToJs<JsNumber>, dy: &dyn ToJs<JsNumber>, dw: &dyn ToJs<JsNumber>, dh: &dyn ToJs<JsNumber>, ) -> JsNullish
pub fn get_text_baseline(&self) -> JsString
pub fn set_text_baseline(&self, value: &dyn ToJs<JsString>)
pub fn get_text_align(&self) -> JsString
pub fn set_text_align(&self, value: &dyn ToJs<JsString>)
pub fn get_font_kerning(&self) -> JsString
pub fn set_font_kerning(&self, value: &dyn ToJs<JsString>)
pub fn get_font(&self) -> JsString
pub fn set_font(&self, value: &dyn ToJs<JsString>)
pub fn get_direction(&self) -> JsString
pub fn set_direction(&self, value: &dyn ToJs<JsString>)
pub fn get_shadow_offset_y(&self) -> JsNumber
pub fn set_shadow_offset_y(&self, value: &dyn ToJs<JsNumber>)
pub fn get_shadow_offset_x(&self) -> JsNumber
pub fn set_shadow_offset_x(&self, value: &dyn ToJs<JsNumber>)
pub fn get_shadow_color(&self) -> JsString
pub fn set_shadow_color(&self, value: &dyn ToJs<JsString>)
pub fn get_shadow_blur(&self) -> JsNumber
pub fn set_shadow_blur(&self, value: &dyn ToJs<JsNumber>)
pub fn get_miter_limit(&self) -> JsNumber
pub fn set_miter_limit(&self, value: &dyn ToJs<JsNumber>)
pub fn get_line_width(&self) -> JsNumber
pub fn set_line_width(&self, value: &dyn ToJs<JsNumber>)
pub fn get_line_join(&self) -> JsString
pub fn set_line_join(&self, value: &dyn ToJs<JsString>)
pub fn get_line_dash_offset(&self) -> JsNumber
pub fn set_line_dash_offset(&self, value: &dyn ToJs<JsNumber>)
pub fn get_line_cap(&self) -> JsString
pub fn set_line_cap(&self, value: &dyn ToJs<JsString>)
pub fn get_image_smoothing_quality(&self) -> JsString
pub fn set_image_smoothing_quality(&self, value: &dyn ToJs<JsString>)
pub fn get_image_smoothing_enabled(&self) -> JsBoolean
pub fn set_image_smoothing_enabled(&self, value: &dyn ToJs<JsBoolean>)
pub fn get_filter(&self) -> JsString
pub fn set_filter(&self, value: &dyn ToJs<JsString>)
pub fn get_stroke_style(&self) -> JsValue
pub fn set_stroke_style(&self, value: &dyn ToJs<JsValue>)
pub fn get_fill_style(&self) -> JsValue
pub fn set_fill_style(&self, value: &dyn ToJs<JsValue>)
pub fn get_global_composite_operation(&self) -> JsString
pub fn set_global_composite_operation(&self, value: &dyn ToJs<JsString>)
pub fn get_global_alpha(&self) -> JsNumber
pub fn set_global_alpha(&self, value: &dyn ToJs<JsNumber>)
pub fn get_canvas(&self) -> HTMLCanvasElement
pub fn set_canvas(&self, value: &HTMLCanvasElement)
pub fn get_prototype(browser: &Browser) -> CanvasRenderingContext2D
pub fn set_prototype(browser: &Browser, value: &CanvasRenderingContext2D)
Methods from Deref<Target = JsObject>§
Sourcepub fn js_get_field(&self, property: &dyn UseInJsCode) -> JsValue
pub fn js_get_field(&self, property: &dyn UseInJsCode) -> JsValue
Get a field value of in this object.
WSDOM provides built-in getters so you should use that instead when possible.
Use js_get_field
only when needed
fn example(browser: Browser) {
// you can get `window["location"]["href"]` like this
let href: JsValue = wsdom::dom::location(&browser).js_get_field(&"href");
// but you should use built-in getters instead
let href: JsString = wsdom::dom::location(&browser).get_href();
}
Sourcepub fn js_set_field(&self, property: &dyn UseInJsCode, value: &dyn UseInJsCode)
pub fn js_set_field(&self, property: &dyn UseInJsCode, value: &dyn UseInJsCode)
Set a field value of in this object.
WSDOM provides built-in setters so you should use that instead when possible.
Use js_set_field
only when needed
fn example(browser: Browser) {
// you can set `window["location"]["href"]` like this
wsdom::dom::location(&browser).js_set_field(&"href", &"https://example.com/");
// but you should use built-in setters instead
wsdom::dom::location(&browser).set_href(&"https://example.com");
}
Sourcepub fn js_call_method<'a>(
&'a self,
method_name: &'a str,
args: impl IntoIterator<Item = &'a dyn UseInJsCode>,
last_arg_variadic: bool,
) -> JsValue
pub fn js_call_method<'a>( &'a self, method_name: &'a str, args: impl IntoIterator<Item = &'a dyn UseInJsCode>, last_arg_variadic: bool, ) -> JsValue
Call a method on this object.
Most types in WSDOM already come with safe Rust wrappers for their methods, so you should use those instead.
fn example(browser: &Browser) {
let console = wsdom::dom::console(browser);
// you can call console.log like this
console.js_call_method("log", [&"hello" as &_], false);
// but the better way is to use
wsdom::dom::console(&browser).log(&[&"Hello" as &_]);
}
Be aware that the first argument (method_name
) is NOT escaped.
Set last_arg_variadic
to true
if you want to “spread” the last argument as obj.method(arg1, arg2, ...arg3)
.
Sourcepub fn js_call_self<'a>(
&'a self,
args: impl IntoIterator<Item = &'a dyn UseInJsCode>,
last_arg_variadic: bool,
) -> JsValue
pub fn js_call_self<'a>( &'a self, args: impl IntoIterator<Item = &'a dyn UseInJsCode>, last_arg_variadic: bool, ) -> JsValue
Call this object: obj()
.
Most types in WSDOM already come with safe Rust wrappers for their methods, so you should use those instead.
Methods from Deref<Target = JsValue>§
pub fn browser(&self) -> &Browser
Sourcepub fn retrieve_json(&self) -> RetrieveFuture<'_, Value>
pub fn retrieve_json(&self) -> RetrieveFuture<'_, Value>
Retrive this value from the JS side to the Rust side. Returns Future whose output is a serde_json::Value.
§use wsdom::dom::Browser
§use wsdom::dom::HTMLInputElement;
async fn example(input: &HTMLInputElement) { let _val = input.get_value().retrieve_json().await; }
Trait Implementations§
Source§impl AsRef<CanvasCompositing> for CanvasRenderingContext2D
impl AsRef<CanvasCompositing> for CanvasRenderingContext2D
Source§fn as_ref(&self) -> &CanvasCompositing
fn as_ref(&self) -> &CanvasCompositing
Source§impl AsRef<CanvasDrawImage> for CanvasRenderingContext2D
impl AsRef<CanvasDrawImage> for CanvasRenderingContext2D
Source§fn as_ref(&self) -> &CanvasDrawImage
fn as_ref(&self) -> &CanvasDrawImage
Source§impl AsRef<CanvasDrawPath> for CanvasRenderingContext2D
impl AsRef<CanvasDrawPath> for CanvasRenderingContext2D
Source§fn as_ref(&self) -> &CanvasDrawPath
fn as_ref(&self) -> &CanvasDrawPath
Source§impl AsRef<CanvasFillStrokeStyles> for CanvasRenderingContext2D
impl AsRef<CanvasFillStrokeStyles> for CanvasRenderingContext2D
Source§fn as_ref(&self) -> &CanvasFillStrokeStyles
fn as_ref(&self) -> &CanvasFillStrokeStyles
Source§impl AsRef<CanvasFilters> for CanvasRenderingContext2D
impl AsRef<CanvasFilters> for CanvasRenderingContext2D
Source§fn as_ref(&self) -> &CanvasFilters
fn as_ref(&self) -> &CanvasFilters
Source§impl AsRef<CanvasImageData> for CanvasRenderingContext2D
impl AsRef<CanvasImageData> for CanvasRenderingContext2D
Source§fn as_ref(&self) -> &CanvasImageData
fn as_ref(&self) -> &CanvasImageData
Source§impl AsRef<CanvasImageSmoothing> for CanvasRenderingContext2D
impl AsRef<CanvasImageSmoothing> for CanvasRenderingContext2D
Source§fn as_ref(&self) -> &CanvasImageSmoothing
fn as_ref(&self) -> &CanvasImageSmoothing
Source§impl AsRef<CanvasPath> for CanvasRenderingContext2D
impl AsRef<CanvasPath> for CanvasRenderingContext2D
Source§fn as_ref(&self) -> &CanvasPath
fn as_ref(&self) -> &CanvasPath
Source§impl AsRef<CanvasPathDrawingStyles> for CanvasRenderingContext2D
impl AsRef<CanvasPathDrawingStyles> for CanvasRenderingContext2D
Source§fn as_ref(&self) -> &CanvasPathDrawingStyles
fn as_ref(&self) -> &CanvasPathDrawingStyles
Source§impl AsRef<CanvasRect> for CanvasRenderingContext2D
impl AsRef<CanvasRect> for CanvasRenderingContext2D
Source§fn as_ref(&self) -> &CanvasRect
fn as_ref(&self) -> &CanvasRect
Source§impl AsRef<CanvasShadowStyles> for CanvasRenderingContext2D
impl AsRef<CanvasShadowStyles> for CanvasRenderingContext2D
Source§fn as_ref(&self) -> &CanvasShadowStyles
fn as_ref(&self) -> &CanvasShadowStyles
Source§impl AsRef<CanvasState> for CanvasRenderingContext2D
impl AsRef<CanvasState> for CanvasRenderingContext2D
Source§fn as_ref(&self) -> &CanvasState
fn as_ref(&self) -> &CanvasState
Source§impl AsRef<CanvasText> for CanvasRenderingContext2D
impl AsRef<CanvasText> for CanvasRenderingContext2D
Source§fn as_ref(&self) -> &CanvasText
fn as_ref(&self) -> &CanvasText
Source§impl AsRef<CanvasTextDrawingStyles> for CanvasRenderingContext2D
impl AsRef<CanvasTextDrawingStyles> for CanvasRenderingContext2D
Source§fn as_ref(&self) -> &CanvasTextDrawingStyles
fn as_ref(&self) -> &CanvasTextDrawingStyles
Source§impl AsRef<CanvasTransform> for CanvasRenderingContext2D
impl AsRef<CanvasTransform> for CanvasRenderingContext2D
Source§fn as_ref(&self) -> &CanvasTransform
fn as_ref(&self) -> &CanvasTransform
Source§impl AsRef<CanvasUserInterface> for CanvasRenderingContext2D
impl AsRef<CanvasUserInterface> for CanvasRenderingContext2D
Source§fn as_ref(&self) -> &CanvasUserInterface
fn as_ref(&self) -> &CanvasUserInterface
Source§impl AsRef<JsObject> for CanvasRenderingContext2D
impl AsRef<JsObject> for CanvasRenderingContext2D
Source§impl AsRef<JsValue> for CanvasRenderingContext2D
impl AsRef<JsValue> for CanvasRenderingContext2D
Source§impl Clone for CanvasRenderingContext2D
impl Clone for CanvasRenderingContext2D
Source§fn clone(&self) -> CanvasRenderingContext2D
fn clone(&self) -> CanvasRenderingContext2D
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read more