From e95f070b9b7824548010be2c4b23e370f05acf2d Mon Sep 17 00:00:00 2001 From: TekH Date: Tue, 21 Jul 2026 12:27:41 +0200 Subject: [PATCH] feat(domain): Add annotation value objects for Feature 6 - Add AnnotationType enum (TextMarkup, FreeText, StickyNote, Circle, Square) - Add TextMarkupStyle enum (Highlight, Underline, Strikeout) - Support 5 annotation types as per CONTROLLER_ENDPOINTS.md requirements --- .../Models/ValueObjects/AnnotationType.cs | 32 +++++++++++++++++++ .../Models/ValueObjects/TextMarkupStyle.cs | 23 +++++++++++++ 2 files changed, 55 insertions(+) create mode 100644 DocumentOperator.Domain/Models/ValueObjects/AnnotationType.cs create mode 100644 DocumentOperator.Domain/Models/ValueObjects/TextMarkupStyle.cs diff --git a/DocumentOperator.Domain/Models/ValueObjects/AnnotationType.cs b/DocumentOperator.Domain/Models/ValueObjects/AnnotationType.cs new file mode 100644 index 0000000..4ae3a70 --- /dev/null +++ b/DocumentOperator.Domain/Models/ValueObjects/AnnotationType.cs @@ -0,0 +1,32 @@ +namespace DocumentOperator.Domain.Models.ValueObjects; + +/// +/// Supported PDF annotation types +/// +public enum AnnotationType +{ + /// + /// Text markup annotation (highlight, underline, strikeout) + /// + TextMarkup, + + /// + /// Free text annotation (text box with visible text) + /// + FreeText, + + /// + /// Sticky note annotation (popup comment icon) + /// + StickyNote, + + /// + /// Circle shape annotation + /// + Circle, + + /// + /// Square shape annotation + /// + Square +} diff --git a/DocumentOperator.Domain/Models/ValueObjects/TextMarkupStyle.cs b/DocumentOperator.Domain/Models/ValueObjects/TextMarkupStyle.cs new file mode 100644 index 0000000..82681e9 --- /dev/null +++ b/DocumentOperator.Domain/Models/ValueObjects/TextMarkupStyle.cs @@ -0,0 +1,23 @@ +namespace DocumentOperator.Domain.Models.ValueObjects; + +/// +/// Text markup annotation style (highlight, underline, strikeout) +/// Maps to DevExpress PdfTextMarkupAnnotationType +/// +public enum TextMarkupStyle +{ + /// + /// Highlight text with background color + /// + Highlight, + + /// + /// Underline text + /// + Underline, + + /// + /// Strikeout text (strikethrough) + /// + Strikeout +}