fix: palm rejection, eraser sizes, PDF thumbnails, even polygon strokes (Issues #37-#41)

- #41: snapped triangles, rectangles and polygons keep the full stroke width on every
  side; corners are mitered, sharp ones bevelled (the old corner offset thinned the edges)
- #38: four eraser sizes, cycled by a button below the eraser modes and remembered in
  ui.json
- #37: a selection made with the pen's select button can be moved with the bare pen
- #39: fingers resting on the screen when the pen comes near, or touching it while the pen
  is near (and 0.7 s after), are ignored until lifted; the vendored winit ignores touches
  on the title bar meanwhile
- #40: the page picker shows imported PDF pages, rendered small in the background

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
haraldandClaude Opus 5.5 committed 2026-10-21 15:06:39 +02:00
1 parent 31a57dc7a7
commit 2a06e2604a
11 files changed
+409 -45

No files matched your search

@@ -35,6 +35,10 @@ impl TouchHandler for WinitState {
.data::<SurfaceData>()
.and_then(|data| data.parent_surface().cloned());
if let Some(parent_surface) = parent_surface.filter(|parent| *parent != surface) {
// A palm resting on the title bar while writing must not move or close the window
if crate::platform::wayland::decoration_touches_ignored() {
return;
}
let window_id = wayland::make_wid(&parent_surface);
let mut window = match self.windows.get_mut().get_mut(&window_id) {
Some(window) => window.lock().unwrap(),