Browse Source

其他 - 注释的默认属性创建

zhuyi 1 year ago
parent
commit
fdfc45f239

+ 15 - 1
Demo/Examples/Compdfkit_Tools/Annotation/PDFAnnotationPanel/PDFAnnotationControl/CPDFAnnotationControl.xaml.cs

@@ -219,6 +219,7 @@ namespace Compdfkit_Tools.PDFControl
                         annotHandlerEventArgs = new HighlightParam();
 
                         byte[] Color = new byte[] { highlightData.Color.R, highlightData.Color.G, highlightData.Color.B };
+                        annotHandlerEventArgs.CurrentType = C_ANNOTATION_TYPE.C_ANNOTATION_HIGHLIGHT;
                         (annotHandlerEventArgs as HighlightParam).HighlightColor = Color;
                         (annotHandlerEventArgs as HighlightParam).Transparency = Convert.ToByte(highlightData.Opacity * 255);
                         (annotHandlerEventArgs as HighlightParam).Content = highlightData.Note;
@@ -233,6 +234,7 @@ namespace Compdfkit_Tools.PDFControl
                         CPDFMarkupData underlineData = pdfAnnotationData as CPDFMarkupData;
                         annotHandlerEventArgs = new UnderlineParam();
                         byte[] Color = new byte[] { underlineData.Color.R, underlineData.Color.G, underlineData.Color.B };
+                        annotHandlerEventArgs.CurrentType = C_ANNOTATION_TYPE.C_ANNOTATION_UNDERLINE;
                         (annotHandlerEventArgs as UnderlineParam).UnderlineColor = Color;
                         (annotHandlerEventArgs as UnderlineParam).Transparency = Convert.ToByte(underlineData.Opacity * 255);
                         (annotHandlerEventArgs as UnderlineParam).Author = underlineData.Author;
@@ -247,6 +249,7 @@ namespace Compdfkit_Tools.PDFControl
                         CPDFMarkupData strikeoutData = pdfAnnotationData as CPDFMarkupData;
                         annotHandlerEventArgs = new StrikeoutParam();
                         byte[] Color = new byte[] { strikeoutData.Color.R, strikeoutData.Color.G, strikeoutData.Color.B };
+                        annotHandlerEventArgs.CurrentType = C_ANNOTATION_TYPE.C_ANNOTATION_STRIKEOUT;
                         (annotHandlerEventArgs as StrikeoutParam).StrikeoutColor = Color;
                         (annotHandlerEventArgs as StrikeoutParam).Transparency = Convert.ToByte(strikeoutData.Opacity * 255);
                         (annotHandlerEventArgs as StrikeoutParam).Locked = strikeoutData.IsLocked;
@@ -261,6 +264,7 @@ namespace Compdfkit_Tools.PDFControl
                         CPDFMarkupData squigglyData = pdfAnnotationData as CPDFMarkupData;
                         annotHandlerEventArgs = new SquigglyParam();
                         byte[] Color = new byte[] { squigglyData.Color.R, squigglyData.Color.G, squigglyData.Color.B };
+                        annotHandlerEventArgs.CurrentType = C_ANNOTATION_TYPE.C_ANNOTATION_SQUIGGLY;
                         (annotHandlerEventArgs as SquigglyParam).SquigglyColor = Color;
                         (annotHandlerEventArgs as SquigglyParam).Transparency = Convert.ToByte(squigglyData.Opacity * 255);
                         (annotHandlerEventArgs as SquigglyParam).Locked = squigglyData.IsLocked;
@@ -274,6 +278,7 @@ namespace Compdfkit_Tools.PDFControl
                     {
                         CPDFShapeData squareData = pdfAnnotationData as CPDFShapeData;
                         annotHandlerEventArgs = new SquareParam();
+                        annotHandlerEventArgs.CurrentType = C_ANNOTATION_TYPE.C_ANNOTATION_SQUARE;
                         byte[] LineColor = new byte[] { squareData.BorderColor.R, squareData.BorderColor.G, squareData.BorderColor.B };
                         (annotHandlerEventArgs as SquareParam).LineColor = LineColor;
                         byte[] FillColor = new byte[] { squareData.FillColor.R, squareData.FillColor.G, squareData.FillColor.B };
@@ -294,6 +299,7 @@ namespace Compdfkit_Tools.PDFControl
                     {
                         CPDFShapeData cicleData = pdfAnnotationData as CPDFShapeData;
                         annotHandlerEventArgs = new CircleParam();
+                        annotHandlerEventArgs.CurrentType = C_ANNOTATION_TYPE.C_ANNOTATION_CIRCLE;
                         byte[] LineColor = new byte[] { cicleData.BorderColor.R, cicleData.BorderColor.G, cicleData.BorderColor.B };
                         (annotHandlerEventArgs as CircleParam).LineColor = LineColor;
                         byte[] BgColor = new byte[] { cicleData.FillColor.R, cicleData.FillColor.G, cicleData.FillColor.B };
@@ -315,6 +321,7 @@ namespace Compdfkit_Tools.PDFControl
                     {
                         CPDFLineShapeData lineData = pdfAnnotationData as CPDFLineShapeData;
                         annotHandlerEventArgs = new LineParam();
+                        annotHandlerEventArgs.CurrentType = C_ANNOTATION_TYPE.C_ANNOTATION_LINE;
                         byte[] LineColor = new byte[] { lineData.BorderColor.R, lineData.BorderColor.G, lineData.BorderColor.B };
                         (annotHandlerEventArgs as LineParam).LineColor = LineColor;
                         (annotHandlerEventArgs as LineParam).LineWidth = lineData.Thickness;
@@ -334,6 +341,7 @@ namespace Compdfkit_Tools.PDFControl
                     {
                         CPDFNoteData noteData = pdfAnnotationData as CPDFNoteData;
                         annotHandlerEventArgs = new StickyNoteParam();
+                        annotHandlerEventArgs.CurrentType = C_ANNOTATION_TYPE.C_ANNOTATION_TEXT;
                         byte[] StickyNoteColor = new byte[] { noteData.BorderColor.R, noteData.BorderColor.G, noteData.BorderColor.B };
                         (annotHandlerEventArgs as StickyNoteParam).StickyNoteColor = StickyNoteColor;
                         (annotHandlerEventArgs as StickyNoteParam).Content = noteData.Note;
@@ -347,6 +355,7 @@ namespace Compdfkit_Tools.PDFControl
                     {
                         CPDFFreehandData freehandData = pdfAnnotationData as CPDFFreehandData;
                         annotHandlerEventArgs = new InkParam();
+                        annotHandlerEventArgs.CurrentType = C_ANNOTATION_TYPE.C_ANNOTATION_INK;
                         byte[] LineColor = new byte[] { freehandData.BorderColor.R, freehandData.BorderColor.G, freehandData.BorderColor.B };
                         (annotHandlerEventArgs as InkParam).InkColor = LineColor;
                         (annotHandlerEventArgs as InkParam).Thickness = freehandData.Thickness;
@@ -361,6 +370,7 @@ namespace Compdfkit_Tools.PDFControl
                     {
                         CPDFFreeTextData freeTextData = pdfAnnotationData as CPDFFreeTextData;
                         annotHandlerEventArgs = new FreeTextParam();
+                        annotHandlerEventArgs.CurrentType = C_ANNOTATION_TYPE.C_ANNOTATION_FREETEXT;
                         (annotHandlerEventArgs as FreeTextParam).Transparency = Convert.ToByte(freeTextData.Opacity * 255);
                         (annotHandlerEventArgs as FreeTextParam).FontName = freeTextData.FontFamily.ToString();
 
@@ -392,6 +402,7 @@ namespace Compdfkit_Tools.PDFControl
                 case CPDFAnnotationType.Stamp:
                     {
                         StampParam stampParam = new StampParam();
+                        annotHandlerEventArgs.CurrentType = C_ANNOTATION_TYPE.C_ANNOTATION_STAMP;
                         CPDFStampData stampData = pdfAnnotationData as CPDFStampData;
                         SetStamp(ref stampParam, stampData);
                         annotHandlerEventArgs = stampParam;
@@ -407,6 +418,7 @@ namespace Compdfkit_Tools.PDFControl
                 case CPDFAnnotationType.Link:
                     if (annotHandlerEventArgs != null)
                     {
+                        annotHandlerEventArgs.CurrentType = C_ANNOTATION_TYPE.C_ANNOTATION_LINK;
                         pdfViewerControl.PDFToolManager.SetCreateAnnotType(C_ANNOTATION_TYPE.C_ANNOTATION_LINK);
                     }
                     break;
@@ -418,6 +430,7 @@ namespace Compdfkit_Tools.PDFControl
             }
             pdfViewerControl.PDFToolManager.SetToolType(ToolType.CreateAnnot);
             DefaultSettingParam defaultSettingParam = pdfViewerControl.PDFViewTool.GetDefaultSettingParam();
+            defaultSettingParam.SetAnnotParam(annotHandlerEventArgs);
 
         }
 
@@ -430,6 +443,7 @@ namespace Compdfkit_Tools.PDFControl
                     {
                         annotParam = new StampParam();
 
+                        annotParam.CurrentType = C_ANNOTATION_TYPE.C_ANNOTATION_STAMP;
                         (annotParam as StampParam).Transparency = 1;
                         (annotParam as StampParam).StampType = C_STAMP_TYPE.IMAGE_STAMP;
                         if (!string.IsNullOrEmpty(stamp.SourcePath))
@@ -448,7 +462,7 @@ namespace Compdfkit_Tools.PDFControl
                 case SignatureType.Drawing:
                     {
                         annotParam = new InkParam();
-
+                        annotParam.CurrentType = C_ANNOTATION_TYPE.C_ANNOTATION_INK;
                         List<List<Point>> RawPointList = GetPoints(stamp.DrawingPath);
                         List<CPoint> linqList = new List<CPoint>();