Skip to main content

IRenderDataVisitor

Trait IRenderDataVisitor 

Source
pub trait IRenderDataVisitor {
    type Scope;

Show 17 methods // Required methods fn stop_visiting(&self) -> bool; fn on_draw_line( &mut self, server_pen: Option<&dyn IPen>, client_pen: Option<&dyn IPen>, p1: Point, p2: Point, ); fn on_draw_rectangle( &mut self, server_brush: Option<&dyn IBrush>, server_pen: Option<&dyn IPen>, client_pen: Option<&dyn IPen>, rect: RoundedRect, box_shadows: &BoxShadows, ); fn on_draw_ellipse( &mut self, server_brush: Option<&dyn IBrush>, server_pen: Option<&dyn IPen>, client_pen: Option<&dyn IPen>, rect: Rect, ); fn on_draw_geometry( &mut self, server_brush: Option<&dyn IBrush>, server_pen: Option<&dyn IPen>, client_pen: Option<&dyn IPen>, geometry: Option<&Arc<dyn IGeometryImpl>>, ); fn on_draw_glyph_run( &mut self, server_brush: Option<&dyn IBrush>, glyph_run: Option<&Arc<dyn IGlyphRunImpl>>, ); fn on_draw_bitmap( &mut self, bitmap: Option<&Arc<SharedBitmapImpl>>, opacity: f64, source_rect: Rect, dest_rect: Rect, ); fn on_draw_custom( &mut self, operation: Option<&Arc<dyn ICustomDrawOperation>>, ); fn on_push_clip(&mut self, clip: RoundedRect) -> Self::Scope; fn on_push_geometry_clip( &mut self, geometry: Option<&Arc<dyn IGeometryImpl>>, ) -> Self::Scope; fn on_push_opacity(&mut self, opacity: f64) -> Self::Scope; fn on_push_opacity_mask( &mut self, brush: Option<&dyn IBrush>, bounds: Rect, ) -> Self::Scope; fn on_push_transform(&mut self, matrix: Matrix) -> Self::Scope; fn on_push_render_options(&mut self, options: RenderOptions) -> Self::Scope; fn on_push_text_options(&mut self, options: TextOptions) -> Self::Scope; fn on_push_effect( &mut self, effect: Option<&Arc<dyn IImmutableEffect>>, bounds: Rect, ) -> Self::Scope; fn on_pop(&mut self, scope: Self::Scope);
}
Expand description

Walks the operations of a render data stream. A push returns a scope value that is handed back to on_pop when the matching pop is reached.

Required Associated Types§

Required Methods§

Source

fn stop_visiting(&self) -> bool

Whether the walk should end early.

Source

fn on_draw_line( &mut self, server_pen: Option<&dyn IPen>, client_pen: Option<&dyn IPen>, p1: Point, p2: Point, )

Source

fn on_draw_rectangle( &mut self, server_brush: Option<&dyn IBrush>, server_pen: Option<&dyn IPen>, client_pen: Option<&dyn IPen>, rect: RoundedRect, box_shadows: &BoxShadows, )

Source

fn on_draw_ellipse( &mut self, server_brush: Option<&dyn IBrush>, server_pen: Option<&dyn IPen>, client_pen: Option<&dyn IPen>, rect: Rect, )

Source

fn on_draw_geometry( &mut self, server_brush: Option<&dyn IBrush>, server_pen: Option<&dyn IPen>, client_pen: Option<&dyn IPen>, geometry: Option<&Arc<dyn IGeometryImpl>>, )

Source

fn on_draw_glyph_run( &mut self, server_brush: Option<&dyn IBrush>, glyph_run: Option<&Arc<dyn IGlyphRunImpl>>, )

Source

fn on_draw_bitmap( &mut self, bitmap: Option<&Arc<SharedBitmapImpl>>, opacity: f64, source_rect: Rect, dest_rect: Rect, )

Source

fn on_draw_custom(&mut self, operation: Option<&Arc<dyn ICustomDrawOperation>>)

Source

fn on_push_clip(&mut self, clip: RoundedRect) -> Self::Scope

Source

fn on_push_geometry_clip( &mut self, geometry: Option<&Arc<dyn IGeometryImpl>>, ) -> Self::Scope

Source

fn on_push_opacity(&mut self, opacity: f64) -> Self::Scope

Source

fn on_push_opacity_mask( &mut self, brush: Option<&dyn IBrush>, bounds: Rect, ) -> Self::Scope

Source

fn on_push_transform(&mut self, matrix: Matrix) -> Self::Scope

Source

fn on_push_render_options(&mut self, options: RenderOptions) -> Self::Scope

Source

fn on_push_text_options(&mut self, options: TextOptions) -> Self::Scope

Source

fn on_push_effect( &mut self, effect: Option<&Arc<dyn IImmutableEffect>>, bounds: Rect, ) -> Self::Scope

Source

fn on_pop(&mut self, scope: Self::Scope)

Dyn Compatibility§

This trait is dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety".

Implementors§