ferroui_base/rendering/composition/
composition_winui_layer_factories.rs1use super::{
6 CompositionGradientStop, CompositionMaskBrush, CompositionNineGridBrush, CompositionVisual, Compositor,
7 LayerVisual, RedirectVisual,
8};
9use crate::media::Color;
10use std::rc::Rc;
11
12impl Compositor {
13 pub fn create_layer_visual(&self) -> LayerVisual {
16 LayerVisual::new(&self.this_handle())
17 }
18
19 pub fn create_redirect_visual(&self) -> RedirectVisual {
22 RedirectVisual::new(&self.this_handle())
23 }
24
25 pub fn create_redirect_visual_with_source_visual(&self, source: Option<Rc<CompositionVisual>>) -> RedirectVisual {
28 RedirectVisual::with_source(&self.this_handle(), source)
29 }
30
31 pub fn create_nine_grid_brush(&self) -> CompositionNineGridBrush {
34 CompositionNineGridBrush::new(&self.this_handle())
35 }
36
37 pub fn create_mask_brush(&self) -> CompositionMaskBrush {
40 CompositionMaskBrush::new(&self.this_handle())
41 }
42
43 pub fn create_color_gradient_stop(&self, offset: f32, color: Color) -> Rc<CompositionGradientStop> {
46 self.create_gradient_stop_with(offset as f64, color)
47 }
48
49 pub fn create_color_gradient_stop_default(&self) -> Rc<CompositionGradientStop> {
52 self.create_gradient_stop()
53 }
54}