31 #ifndef __AnnotationItem__ 32 #define __AnnotationItem__ 37 #include "AnnotationConstants.h" 38 #include "IPathGeometry.h" 45 namespace AnnotMapOrDrawType
48 enum eAnnotMappingType { kBBoxMapping, kPointMapping, kTextMapping, kUnknownMapping };
50 enum eAnnotDrawingType { kPathDrawing, kIconDrawing, kTextDrawing, kUnknownDrawing };
53 typedef std::map<AnnotationType,std::pair<AnnotMapOrDrawType::eAnnotMappingType, AnnotMapOrDrawType::eAnnotDrawingType>> AnnotationMappingAndDrawingTypeMap;
59 std::vector<UTF32TextChar> precedingContextText, succeedingContextText, targetContextText;
60 std::vector<PMRect> quadRects;
61 SegregatedTextualData(std::vector<UTF32TextChar> _targetContextText, std::vector<UTF32TextChar> _precedingContextText, std::vector<UTF32TextChar> _succeedingContextText, std::vector<PMRect> _rangeRects) :
62 targetContextText(_targetContextText), precedingContextText(_precedingContextText), succeedingContextText(_succeedingContextText), quadRects(_rangeRects) {}
71 AnnotationBody() : fDrawingPath(NULL), fInsertCommentIsAfterPrecedingContextText(kFalse) {}
74 virtual void ApplyTransformAnnotation(
const PMMatrix& transformationMatrix);
76 virtual void SetMappingBBoxData(
const PMRect& bBox);
78 virtual void GetMappingBBoxData(
PMRect& bBox)
const;
80 virtual void SetMappingPointData(
const PMRect& bBox,
const PMPoint& point);
82 virtual void GetMappingPointData(
PMRect& bBox,
PMPoint& point)
const;
84 virtual void SetMappingTextData(
const PMRect& bBox,
const std::vector<UTF32TextChar>& targetContextText,
const std::vector<UTF32TextChar>& precedingContextText,
const std::vector<UTF32TextChar>& succeedingContextText,
const bool& insertCommentAfterSucceedingText);
86 virtual void GetMappingTextData(
PMRect& bBox, std::vector<UTF32TextChar>& targetContextText, std::vector<UTF32TextChar>& precedingContextText, std::vector<UTF32TextChar>& succeedingContextText, bool16& insertCommentAfterSucceedingText)
const;
88 virtual void SetTextRectsForMappingTextData(
const std::vector<PMRect>& mappingTextRects);
90 virtual void GetTextRectsForMappingTextData(std::vector<PMRect>& mappingTextRects)
const;
92 virtual void SetDrawingDataForPathDrawing(
IPathGeometry *path);
94 virtual void GetDrawingDataForPathDrawing(
IPathGeometry *&path)
const;
96 virtual void SetDrawingDataForIconDrawing(
const PMRsrcID &iconId);
98 virtual void GetDrawingDataForIconDrawing(
PMRsrcID &iconId)
const;
100 virtual void SetSegregatedTextualContentData(
const std::vector<std::shared_ptr<SegregatedTextualData>> &segregatedTextualData);
102 virtual void GetSegregatedTextualContentData(std::vector<std::shared_ptr<SegregatedTextualData>> &segregatedTextualData)
const;
104 virtual PMRect GetBoundingBox()
const;
115 std::vector<UTF32TextChar> fMappingContextText;
118 std::vector<UTF32TextChar> fMappingPrecedingContextText;
121 std::vector<UTF32TextChar> fMappingSucceedingContextText;
126 std::vector<PMRect> fMappingTextRects;
138 std::vector<std::shared_ptr<SegregatedTextualData>> fSegregatedMappingData;
143 bool16 fInsertCommentIsAfterPrecedingContextText;
290 virtual void SetAnnotationReplies(
const std::vector<std::shared_ptr<AnnotationReply>>& replies);
295 virtual void GetAnnotationReplies(std::vector<std::shared_ptr<AnnotationReply>>& replies)
const;
378 virtual bool SetMappingTextData(
const PMRect& bBox,
const std::vector<UTF32TextChar>& targetContextText,
const std::vector<UTF32TextChar>& precedingContextText,
const std::vector<UTF32TextChar>& succeedingContextText,
const bool &insertCommentAfterSucceedingText);
388 virtual bool GetMappingTextData(
PMRect& bBox, std::vector<UTF32TextChar>& targetContextText, std::vector<UTF32TextChar>& precedingContextText, std::vector<UTF32TextChar>& succeedingContextText, bool16& insertCommentAfterSucceedingText)
const;
492 std::vector<std::shared_ptr<AnnotationReply>> fReplies;
495 AnnotationType fAnnotType;
501 AnnotationStatus fStatus;
506 static AnnotationMappingAndDrawingTypeMap annotMappingAndDrawingTypeMap;
511 static void PopulateAnnotationMappingAndDrawingTypeMap();
514 #endif //__AnnotationItem__