tessera_ui_basic_components/
pipelines.rs

1pub mod blur;
2pub mod checkmark;
3pub mod contrast;
4pub(crate) mod fluid_glass;
5pub mod mean;
6mod pos_misc;
7pub mod shape;
8mod text;
9
10pub mod image;
11
12pub use checkmark::{CheckmarkCommand, CheckmarkPipeline};
13pub use shape::{RippleProps, ShadowProps, ShapeCommand};
14pub use text::{TextCommand, TextConstraint, TextData, read_font_system, write_font_system};
15
16pub fn register_pipelines(app: &mut tessera_ui::renderer::WgpuApp) {
17    // Register shape pipeline
18    let shape_pipeline = shape::ShapePipeline::new(&app.gpu, &app.config, app.sample_count);
19    app.drawer.pipeline_registry.register(shape_pipeline);
20    // Register checkmark pipeline
21    let checkmark_pipeline =
22        checkmark::CheckmarkPipeline::new(&app.gpu, &app.config, app.sample_count);
23    app.drawer.pipeline_registry.register(checkmark_pipeline);
24    // Register text pipeline
25    let text_pipeline =
26        text::GlyphonTextRender::new(&app.gpu, &app.queue, &app.config, app.sample_count);
27    app.drawer.pipeline_registry.register(text_pipeline);
28    // Register fluid glass pipeline
29    let fluid_glass_pipeline =
30        fluid_glass::FluidGlassPipeline::new(&app.gpu, &app.config, app.sample_count);
31    app.drawer.pipeline_registry.register(fluid_glass_pipeline);
32    // Register image pipeline
33    let image_pipeline = image::ImagePipeline::new(&app.gpu, &app.config, app.sample_count);
34    app.drawer.pipeline_registry.register(image_pipeline);
35    // Register blur pipeline
36    let blur_pipeline = blur::pipeline::BlurPipeline::new(&app.gpu);
37    app.compute_pipeline_registry.register(blur_pipeline);
38
39    // Register mean pipeline
40    let mean_pipeline = mean::MeanPipeline::new(&app.gpu);
41    app.compute_pipeline_registry.register(mean_pipeline);
42
43    // Register contrast pipeline
44    let contrast_pipeline = contrast::ContrastPipeline::new(&app.gpu);
45    app.compute_pipeline_registry.register(contrast_pipeline);
46}