[Feature Suggestion] Independent Zoom Controls: Decouple Zoom-In from Zoom-Out (with 1.0x Snap)
Maintainers usually reply within 1 day
Nobody has claimed this yet.
Assessment
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Newbie friendliness
- 48/100
Research direction
The issue names PageView.kt as the place where zoom behavior was tested. Read its gesture handling and the existing continuous zoom and Reset View controls first. Implement the independent zoom limits and the 1.0x snap described in the issue, then verify that zooming in and pinching back stops at full-screen scale without toolbar use.
Written by the indexing model from the issue text.
Description
Problem:
Currently, enabling "Continuous Zoom" allows zooming in to write fine details, but it also allows pinch gestures to zoom out below 1.0x (down to ~ 0.6x).
While the toolbar already has a handy "Reset View" button to return the canvas to 1.0x, having to lift your hand and tap the toolbar disrupts handwriting flow, requiring exiting Zen mode if in full-screen. Without gesture-level snapping or a floor at 1.0x, pinching back with your fingers frequently overshoots or leaves the canvas sitting at an awkward floating scale (like 0.88x or 1.12x).
Proposed Solution:
- "Allow Zoom In" (max 3.0x): Allows pinching to magnify the canvas for detailed handwriting, math, or sketching.
- "Allow Zoom Out" (min 0.5x): Disabled by default, preventing the canvas from shrinking smaller than the screen.
- 1.0x Gesture Snap: When zooming in and pinching back out, the gesture firmly snaps and stops at 1.0x (full-screen width).
Results:
- You can zoom in to write small details and pinch back out to normal scale fluidly without having to reach up and tap the "Reset View" toolbar button each time.
- Eliminates accidental canvas shrinking and floating margin drift during two-finger gestures.
Tested
I built and tested this locally on my Note 4C (using AI to help evaluate my code edits and suggest better implementation in PageView.kt). The 1.0x gesture snap makes zooming in for fine handwriting feel completely natural and keeps the canvas rock-solid at full-screen scale without needing toolbar intervention.
- Dominant language
- Kotlin
- Stars
- 269
- Forks
- 44
- Avg merge
- 1d 17h
- Merged PRs (30d)
- 22
Getting set up
This project ships no dev container, Dockerfile or contributing guide, so setting up is up to you: start from its README, and see our first-contribution guide for the general steps.
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.
More from Ethran/notable
-
Difficulty 2/5 1-3 hours Newbie friendliness 70/100
Maintainers usually reply within 1 day
-
[AI] Line tool saves raw pen pressure (clamped to full pressure)Possibly taken @kal-kaliper claimed this 1 day ago. Openbug
Difficulty 2/5 1-3 hours Newbie friendliness 90/100
Maintainers usually reply within 1 day
-
Editor burger menuOpenbug
Difficulty 3/5 1-2 days Newbie friendliness 55/100
Maintainers usually reply within 1 day
-
Difficulty 5/5 Over a week Newbie friendliness 30/100
Maintainers usually reply within 1 day
-
Difficulty 4/5 3-5 days Newbie friendliness 52/100
Maintainers usually reply within 1 day
Similar issues
-
area:data-quality importer size:S
Difficulty 2/5 1-3 hours Newbie friendliness 72/100
enorm-labs/event-junkie#5136 ·
Maintainers usually reply within 1 day
-
Difficulty 2/5 1-3 hours Newbie friendliness 70/100
wangzan101/Mika#644 ·
Maintainers usually reply within 1 day
-
good first issue
Difficulty 2/5 1-3 hours Newbie friendliness 65/100
commons-app/apps-android-commons#7341 ·
Maintainers usually reply within 1 day
-
bug
Difficulty 2/5 1-3 hours Newbie friendliness 65/100
MetrolistGroup/Metrolist#4732 ·
Maintainers usually reply within 1 day
-
enhancement
Difficulty 2/5 1-3 hours Newbie friendliness 65/100
sergio-sastre/ComposablePreviewScanner#163 ·
Maintainers usually reply within 1 day