feat(pdf): typed-text tool (Windows-Ink friendly)
Some checks failed
CI / Windows build (push) Has been cancelled
Some checks failed
CI / Windows build (push) Has been cancelled
Add a text-annotation tool to the PDF editor. With the text tool a
pen-tap, or a mouse double-click, drops a text box at that normalized
page point and focuses a real Flutter TextField — so the OS IME and the
Windows-Ink handwriting panel feed it (device-validated). Tapping an
existing box re-opens it; clearing it deletes it.
- SidecarText {nx, ny, text, fontSize (page-relative), color} per page,
glued under zoom; stored in the sidecar `texts` field (back-compat
missing -> none), saved via scheduleTextsSave and loaded on open.
- Rendered in pageOverlaysBuilder at the scaled position.
PDF editor only for now (note text later). analyze clean, 397 tests.
This commit is contained in:
@@ -11,8 +11,9 @@
|
||||
// those remain editor-local because they ride pdfrx's text layer / the page
|
||||
// overlay, not the ink capture path. See `selectTextOrLink` note below.
|
||||
//
|
||||
// TODO(toolbar-batch-2): text/typing tool, bookmark-to-paragraph, search+OCR,
|
||||
// templates, Windows Ink — later batches add kinds here.
|
||||
// TODO(toolbar-batch-2): bookmark-to-paragraph, search+OCR, templates — later
|
||||
// batches add kinds here. (The typed-text tool now exists as [EditorToolKind.
|
||||
// text], PDF-only for now; see the `text` doc below.)
|
||||
|
||||
/// The shared inking/editing tools available on every pen-first canvas.
|
||||
enum EditorToolKind {
|
||||
@@ -33,6 +34,13 @@ enum EditorToolKind {
|
||||
/// Shape tool: pen-drag previews a [ShapeKind] from start→current and commits
|
||||
/// it as a generated [PenStroke] on release.
|
||||
shape,
|
||||
|
||||
/// Typed-text tool (PDF editor only for now): a pen-tap OR a mouse
|
||||
/// double-click on a page drops a text box at that normalized point and
|
||||
/// focuses a real Flutter text field for input (so the OS IME / Windows-Ink
|
||||
/// handwriting panel works). Committed boxes render glued to the page and are
|
||||
/// re-editable; an empty box deletes itself on blur.
|
||||
text,
|
||||
}
|
||||
|
||||
/// The shapes the [EditorToolKind.shape] tool can draw. Each is generated as a
|
||||
|
||||
Reference in New Issue
Block a user