feat(tools): rnote-style toolbar core writing batch
Some checks failed
CI / Windows build (push) Has been cancelled
Some checks failed
CI / Windows build (push) Has been cancelled
Replace the ad-hoc tool palette with a shared tool system (EditorToolKind) across the PDF, note and slide editors, and add the core writing tools. - Multiple brushes, each remembering its OWN color (rnote-style): selecting a brush restores its color, changing color updates only that brush, and each brush button shows its current color. - Select tool: tap-select a committed stroke, drag to move it, delete it — persisted and undoable. - Shape tool: line / rectangle / ellipse / arrow, drawn with a live preview and committed as generated PenStrokes (shape_geometry.dart) so they reuse stroke rendering, erase, persistence and undo. - Highlighter + eraser fold into the same tool system. Text/bookmark/search+OCR/backgrounds/Windows-Ink are later batches (TODO). Brush opacity still deferred. analyze clean, 302 tests.
This commit is contained in:
@@ -350,6 +350,54 @@ abstract class AppLocalizations {
|
||||
/// **'Highlighter'**
|
||||
String get brushHighlighter;
|
||||
|
||||
/// No description provided for @toolSelect.
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'Select'**
|
||||
String get toolSelect;
|
||||
|
||||
/// No description provided for @toolShape.
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'Shape'**
|
||||
String get toolShape;
|
||||
|
||||
/// No description provided for @shapePicker.
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'Shape'**
|
||||
String get shapePicker;
|
||||
|
||||
/// No description provided for @shapeLine.
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'Line'**
|
||||
String get shapeLine;
|
||||
|
||||
/// No description provided for @shapeRectangle.
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'Rectangle'**
|
||||
String get shapeRectangle;
|
||||
|
||||
/// No description provided for @shapeEllipse.
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'Ellipse'**
|
||||
String get shapeEllipse;
|
||||
|
||||
/// No description provided for @shapeArrow.
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'Arrow'**
|
||||
String get shapeArrow;
|
||||
|
||||
/// No description provided for @actionDeleteSelection.
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'Delete selection'**
|
||||
String get actionDeleteSelection;
|
||||
|
||||
/// No description provided for @actionUndo.
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
|
||||
Reference in New Issue
Block a user