DioxusLabs / DioxusLabs/blitz

Custom widget support

Open
#233 0 comments 0 reactions 0 assignees View on GitHub
Dominant language
Rust
Stars
4.1k
Forks
203
Avg merge
8h 58m
Merged PRs (30d)
112

Description

We currently have support for custom painting with a raw `wgpu::Texture` through [`anyrender_vello::CustomPaintSource`](https://docs.rs/anyrender_vello/latest/anyrender_vello/custom_paint_source/trait.CustomPaintSource.html). It would be good to add more feature to support advanced integrations:

- [x] Ability to paint using an [`anyrender::PaintScene`](https://docs.rs/anyrender/latest/anyrender/trait.PaintScene.html). This would allow painting anything that fits within the anyrender abstraction without requiring rendering to a texture (use case: "ripple" effect like android buttons)
- [x] Ability for custom widgets to receive input events (mouse, keyboard, etc).
- [ ] Ability for custom widgets to receive focus
- [ ] Ability for custom widgets to generate an accessibility tree
- [ ] Ability for custom widgets to participate in layout (have an intrinsic/content-based size)

Contributor guide

Open the contributing guide

Research direction

Start with the existing custom painting support through anyrender_vello::CustomPaintSource and review the linked anyrender::PaintScene abstraction. Scope the remaining checklist items—focus, accessibility-tree generation, and intrinsic/content-based layout—and define completion criteria for each before changing the custom widget integration.

Written by the indexing model from the issue text.

Assessment

Tech stack
rust
Domain
accessibility, frontend
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
30/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.