Trait sixtyfps_corelib::item_rendering::ItemRenderer [−][src]
pub trait ItemRenderer {}Show 18 methods
fn draw_rectangle(&mut self, rect: Pin<&Rectangle>); fn draw_border_rectangle(&mut self, rect: Pin<&BorderRectangle>); fn draw_image(&mut self, image: Pin<&ImageItem>); fn draw_clipped_image(&mut self, image: Pin<&ClippedImage>); fn draw_text(&mut self, text: Pin<&Text>); fn draw_text_input(&mut self, text_input: Pin<&TextInput>); fn draw_path(&mut self, path: Pin<&Path>); fn draw_box_shadow(&mut self, box_shadow: Pin<&BoxShadow>); fn combine_clip(&mut self, rect: Rect, radius: f32, border_width: f32); fn get_current_clip(&self) -> Rect; fn translate(&mut self, x: f32, y: f32); fn rotate(&mut self, angle_in_degrees: f32); fn apply_opacity(&mut self, opacity: f32); fn save_state(&mut self); fn restore_state(&mut self); fn scale_factor(&self) -> f32; fn draw_cached_pixmap(
&mut self,
item_cache: &CachedRenderingData,
update_fn: &dyn Fn(&mut dyn FnMut(u32, u32, &[u8]))
); fn as_any(&mut self) -> &mut dyn Any;
Expand description
Trait used to render each items.
The item needs to be rendered relative to its (x,y) position. For example,
draw_rectangle should draw a rectangle in (pos.x + rect.x, pos.y + rect.y)
Required methods
fn draw_rectangle(&mut self, rect: Pin<&Rectangle>)
fn draw_border_rectangle(&mut self, rect: Pin<&BorderRectangle>)
fn draw_image(&mut self, image: Pin<&ImageItem>)
fn draw_clipped_image(&mut self, image: Pin<&ClippedImage>)
fn draw_text_input(&mut self, text_input: Pin<&TextInput>)
fn draw_box_shadow(&mut self, box_shadow: Pin<&BoxShadow>)
fn combine_clip(&mut self, rect: Rect, radius: f32, border_width: f32)
fn combine_clip(&mut self, rect: Rect, radius: f32, border_width: f32)
Clip the further call until restore_state. radius/border_width can be used for border rectangle clip. (FIXME: consider removing radius/border_width and have another function that take a path instead)
fn get_current_clip(&self) -> Rect
fn get_current_clip(&self) -> Rect
Get the current clip bounding box in the current transformed coordinate.
fn apply_opacity(&mut self, opacity: f32)
fn apply_opacity(&mut self, opacity: f32)
Apply the opacity (between 0 and 1) for all following items until the next call to restore_state.
fn save_state(&mut self)
fn restore_state(&mut self)
fn scale_factor(&self) -> f32
fn scale_factor(&self) -> f32
Returns the scale factor
fn draw_cached_pixmap(
&mut self,
item_cache: &CachedRenderingData,
update_fn: &dyn Fn(&mut dyn FnMut(u32, u32, &[u8]))
)
fn draw_cached_pixmap(
&mut self,
item_cache: &CachedRenderingData,
update_fn: &dyn Fn(&mut dyn FnMut(u32, u32, &[u8]))
)
Draw a pixmap in position indicated by the pos
.
The pixmap will be taken from cache if the cache is valid, otherwise, update_fn will be called
with a callback that need to be called once with fn (width, height, data)
where data are the
RGBA premultiplied pixel values