Draw base CGImage without coordinate flip, apply flip+scale only for
annotations. Save via direct NSBitmapImageRep access instead of
tiffRepresentation to avoid transform issues. Also redirect clipboard
images to saveFolder instead of temp directory.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
CGRect.maxX/maxY standardize to positive values, collapsing
the arrow endpoint onto the start point for negative width/height.
Use origin + size instead to preserve direction.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Use flipped container with Auto Layout for correct coordinate
mapping. Use lockFocusFlipped(true) in renderer so exported
annotations match canvas positions.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Use respectFlipped: true when drawing NSImage so it renders correctly
in the flipped NSView coordinate system.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Integrates an editor accessible via "Letzte Aufnahme bearbeiten…" or
"Bild bearbeiten…" in the menu bar. Supports arrow, rectangle, ellipse,
and text annotations with color picker, line width, undo/redo, and
export to file or clipboard.
New files in Sources/Editor/:
- AnnotationItem/Document: data model and state management
- AnnotationCanvasView: NSView with CG rendering and mouse interaction
- AnnotationRenderer: shared rendering for canvas and image export
- EditorToolbarView: SwiftUI toolbar with tool selection and actions
- EditorWindowController: window lifecycle following SettingsWindowController pattern
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>