Zooming Container
Nobody has claimed this yet.
- Dominant language
- Rust
- Stars
- 9.7k
- Forks
- 565
- PR merge metrics
- No merged PRs in 30d
Description
I've been working on a tree based task management app in druid that has a component which allows placing and moving of widgets on an infinite canvas. It looks something like this:

This works great modulo some performance issues, but I can't figure out how to implement zooming of the canvas. I've seen some requests and suggestions that such a thing should exist, but I haven't seen any suggestions for how it should be implemented. I'm guessing it would require modifying of events before passing them to child widgets and some trickery with the paint context.
I'm interested in working on such features. Does anybody here have any suggestions for how to get started on such a thing?
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by investigating how events are passed to child widgets and how the paint context is used for the infinite canvas described in the issue. Define the zooming behavior and coordinate transformations before determining what implementation and validation would be needed.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- rust
- Domain
- desktop
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100