Rework Scrolling and Zooming
This commit is contained in:
@@ -29,8 +29,8 @@ reshuffle.
|
||||
| Gesture | Result |
|
||||
| --- | --- |
|
||||
| Double-click empty canvas | New text note, ready to type in |
|
||||
| Double-click a note | Edit its Markdown in place |
|
||||
| Double-click a file/link node | Open it with the system default application |
|
||||
| Double-click a note | Edit its Markdown in an editor window |
|
||||
| Double-click a file/link node | Edit a plain-text file, or open anything else with the system default application |
|
||||
| Right-click empty canvas | Menu of every node type, added where you clicked |
|
||||
| Right-click a node | Colour, bring to front / send to back, delete |
|
||||
| Drag a dot on a node's edge | Draw a connection; drop it on empty canvas to create the node too |
|
||||
@@ -39,8 +39,7 @@ reshuffle.
|
||||
| Drag on empty canvas | Rubber-band selection (hold <kbd>Shift</kbd> to add) |
|
||||
| Middle- or right-drag | Pan |
|
||||
| Drop files on the window | A file node each; a `.canvas` file opens instead |
|
||||
| Wheel over a node | Scroll contents that are taller than the node |
|
||||
| <kbd>Ctrl</kbd>+wheel | Zoom around the pointer |
|
||||
| Wheel | Zoom around the pointer, anywhere on the canvas |
|
||||
|
||||
**Markdown in text nodes**: headings, bold/italic/strikethrough, inline and
|
||||
fenced code, quotes, bullet, numbered and task lists, rules, images and links.
|
||||
@@ -125,8 +124,9 @@ The UI toolkit is [egui](https://github.com/emilk/egui) via `eframe`. An
|
||||
infinite canvas is essentially one large custom-painted widget, which is what
|
||||
immediate-mode GUI is good at, and it builds to a single binary on both targets
|
||||
without a GTK or Qt runtime. Pan and zoom are a transform on a dedicated egui
|
||||
layer, so real widgets (the in-place Markdown editor, links) keep working while
|
||||
the canvas is scaled.
|
||||
layer, so real widgets (file previews, links) keep working while the canvas is
|
||||
scaled. Cards crop what they cannot show and editing happens in a window of its
|
||||
own, so nothing on the canvas is hidden behind a scroll bar.
|
||||
|
||||
| Module | Responsibility |
|
||||
| --- | --- |
|
||||
|
||||
Reference in New Issue
Block a user