|
@@ -2,11 +2,9 @@
|
|
|
using ComPDFKit.Controls.Data;
|
|
|
using ComPDFKit.Controls.PDFControl;
|
|
|
using ComPDFKit.PDFAnnotation;
|
|
|
-using ComPDFKit.PDFDocument;
|
|
|
using ComPDFKit.Tool;
|
|
|
using ComPDFKit.Tool.Help;
|
|
|
using ComPDFKit.Tool.UndoManger;
|
|
|
-using ComPDFKitViewer.Annot;
|
|
|
using ComPDFKitViewer.Helper;
|
|
|
using System;
|
|
|
using System.Collections.Generic;
|
|
@@ -28,16 +26,6 @@ namespace ComPDFKit.Controls.PDFControlUI
|
|
|
private PDFViewControl viewControl;
|
|
|
public event EventHandler<CPDFAnnotationData> PropertyChanged;
|
|
|
|
|
|
- private AnnotHistory GetHistory()
|
|
|
- {
|
|
|
- if (annotCore != null && annotCore.IsValid())
|
|
|
- {
|
|
|
- return new PolygonAnnotHistory();
|
|
|
- }
|
|
|
- return new AnnotHistory();
|
|
|
- }
|
|
|
-
|
|
|
-
|
|
|
public CPDFCloudUI()
|
|
|
{
|
|
|
InitializeComponent();
|
|
@@ -89,7 +77,7 @@ namespace ComPDFKit.Controls.PDFControlUI
|
|
|
|
|
|
if (viewControl != null && viewControl.PDFViewTool != null)
|
|
|
{
|
|
|
- AnnotHistory history = GetHistory();
|
|
|
+ PolygonMeasureAnnotHistory history = new PolygonMeasureAnnotHistory();
|
|
|
history.PDFDoc = viewControl.GetCPDFViewer().GetDocument();
|
|
|
history.Action = HistoryAction.Update;
|
|
|
CPDFPolygonAnnotation polygonAnnotation = annotCore as CPDFPolygonAnnotation;
|
|
@@ -97,9 +85,10 @@ namespace ComPDFKit.Controls.PDFControlUI
|
|
|
history.PreviousParam = ParamConverter.CPDFDataConverterToAnnotParam(history.PDFDoc, annotCore.Page.PageIndex, polygonAnnotation);
|
|
|
polygonAnnotation.SetBorderStyle(borderStyle, dashArray);
|
|
|
history.CurrentParam = ParamConverter.CPDFDataConverterToAnnotParam(history.PDFDoc, annotCore.Page.PageIndex, polygonAnnotation);
|
|
|
+ viewControl.GetCPDFViewer().UndoManager.AddHistory(history);
|
|
|
+
|
|
|
annotCore.UpdateAp();
|
|
|
viewControl.UpdateAnnotFrame();
|
|
|
- viewControl.GetCPDFViewer().UndoManager.AddHistory(history);
|
|
|
}
|
|
|
}
|
|
|
}
|
|
@@ -113,9 +102,16 @@ namespace ComPDFKit.Controls.PDFControlUI
|
|
|
}
|
|
|
if (IsLoadedData)
|
|
|
{
|
|
|
- if (annotCore != null && annotCore.IsValid())
|
|
|
+ if (annotCore != null && annotCore.IsValid() && annotCore is CPDFPolygonAnnotation polygonAnnotation)
|
|
|
{
|
|
|
- (annotCore as CPDFPolygonAnnotation).SetAnnotBorderEffector(e);
|
|
|
+ PolygonMeasureAnnotHistory history = new PolygonMeasureAnnotHistory();
|
|
|
+ history.PDFDoc = viewControl.GetCPDFViewer().GetDocument();
|
|
|
+ history.Action = HistoryAction.Update;
|
|
|
+ history.PreviousParam = ParamConverter.CPDFDataConverterToAnnotParam(history.PDFDoc, annotCore.Page.PageIndex, polygonAnnotation);
|
|
|
+ polygonAnnotation.SetAnnotBorderEffector(e);
|
|
|
+ history.CurrentParam = ParamConverter.CPDFDataConverterToAnnotParam(history.PDFDoc, annotCore.Page.PageIndex, polygonAnnotation);
|
|
|
+ viewControl.GetCPDFViewer().UndoManager.AddHistory(history);
|
|
|
+
|
|
|
annotCore.UpdateAp();
|
|
|
viewControl.UpdateAnnotFrame();
|
|
|
}
|
|
@@ -130,16 +126,18 @@ namespace ComPDFKit.Controls.PDFControlUI
|
|
|
}
|
|
|
if (IsLoadedData)
|
|
|
{
|
|
|
- if (annotCore != null && annotCore.IsValid())
|
|
|
+ if (annotCore != null && annotCore.IsValid() && annotCore is CPDFPolygonAnnotation polygonAnnotation)
|
|
|
{
|
|
|
- double thickness = (sender as CPDFThicknessControl).Thickness;
|
|
|
+ PolygonMeasureAnnotHistory history = new PolygonMeasureAnnotHistory();
|
|
|
+ history.PDFDoc = viewControl.GetCPDFViewer().GetDocument();
|
|
|
+ history.Action = HistoryAction.Update;
|
|
|
+ history.PreviousParam = ParamConverter.CPDFDataConverterToAnnotParam(history.PDFDoc, annotCore.Page.PageIndex, annotCore);
|
|
|
+ polygonAnnotation.SetLineWidth((sender as CPDFThicknessControl).Thickness);
|
|
|
+ history.CurrentParam = ParamConverter.CPDFDataConverterToAnnotParam(history.PDFDoc, annotCore.Page.PageIndex, annotCore);
|
|
|
+ viewControl.GetCPDFViewer().UndoManager.AddHistory(history);
|
|
|
|
|
|
- if (Math.Abs(thickness - annotCore.GetTransparency()) > 1)
|
|
|
- {
|
|
|
- annotCore.SetBorderWidth((byte)thickness);
|
|
|
- annotCore.UpdateAp();
|
|
|
- viewControl.UpdateAnnotFrame();
|
|
|
- }
|
|
|
+ annotCore.UpdateAp();
|
|
|
+ viewControl.UpdateAnnotFrame();
|
|
|
}
|
|
|
}
|
|
|
}
|
|
@@ -159,12 +157,17 @@ namespace ComPDFKit.Controls.PDFControlUI
|
|
|
{
|
|
|
opacity *= 255;
|
|
|
}
|
|
|
- if (Math.Abs(opacity - annotCore.GetTransparency()) > 0.01)
|
|
|
- {
|
|
|
- annotCore.SetTransparency((byte)opacity);
|
|
|
- annotCore.UpdateAp();
|
|
|
- viewControl.UpdateAnnotFrame();
|
|
|
- }
|
|
|
+
|
|
|
+ PolygonMeasureAnnotHistory history = new PolygonMeasureAnnotHistory();
|
|
|
+ history.PDFDoc = viewControl.GetCPDFViewer().GetDocument();
|
|
|
+ history.Action = HistoryAction.Update;
|
|
|
+ history.PreviousParam = ParamConverter.CPDFDataConverterToAnnotParam(history.PDFDoc, annotCore.Page.PageIndex, annotCore);
|
|
|
+ annotCore.SetTransparency((byte)opacity);
|
|
|
+ history.CurrentParam = ParamConverter.CPDFDataConverterToAnnotParam(history.PDFDoc, annotCore.Page.PageIndex, annotCore);
|
|
|
+ viewControl.GetCPDFViewer().UndoManager.AddHistory(history);
|
|
|
+
|
|
|
+ annotCore.UpdateAp();
|
|
|
+ viewControl.UpdateAnnotFrame();
|
|
|
}
|
|
|
}
|
|
|
}
|
|
@@ -181,25 +184,28 @@ namespace ComPDFKit.Controls.PDFControlUI
|
|
|
{
|
|
|
if (annotCore is CPDFPolygonAnnotation polygonAnnotation)
|
|
|
{
|
|
|
- PolygonAnnotHistory history = new PolygonAnnotHistory();
|
|
|
+ PolygonMeasureAnnotHistory history = new PolygonMeasureAnnotHistory();
|
|
|
history.PDFDoc = viewControl.GetCPDFViewer().GetDocument();
|
|
|
- history.Action = ComPDFKitViewer.Helper.HistoryAction.Update;
|
|
|
- SolidColorBrush brush = (sender as ColorPickerControl)?.Brush as SolidColorBrush;
|
|
|
+ history.Action = HistoryAction.Update;
|
|
|
+ history.PreviousParam = ParamConverter.CPDFDataConverterToAnnotParam(history.PDFDoc, annotCore.Page.PageIndex, polygonAnnotation);
|
|
|
|
|
|
+ SolidColorBrush brush = (sender as ColorPickerControl)?.Brush as SolidColorBrush;
|
|
|
polygonAnnotation.SetBgColor(new byte[3]
|
|
|
{
|
|
|
brush.Color.R,
|
|
|
brush.Color.G,
|
|
|
brush.Color.B
|
|
|
});
|
|
|
+
|
|
|
if(brush.Color.A == 0)
|
|
|
{
|
|
|
polygonAnnotation.ClearBgColor();
|
|
|
}
|
|
|
+
|
|
|
history.CurrentParam = ParamConverter.CPDFDataConverterToAnnotParam(history.PDFDoc, annotCore.Page.PageIndex, polygonAnnotation);
|
|
|
+ viewControl.GetCPDFViewer().UndoManager.AddHistory(history);
|
|
|
|
|
|
annotCore.UpdateAp();
|
|
|
- viewControl.GetCPDFViewer().UndoManager.AddHistory(history);
|
|
|
viewControl.UpdateAnnotFrame();
|
|
|
}
|
|
|
}
|
|
@@ -218,9 +224,11 @@ namespace ComPDFKit.Controls.PDFControlUI
|
|
|
{
|
|
|
if (annotCore is CPDFPolygonAnnotation polygonAnnotation)
|
|
|
{
|
|
|
- PolygonAnnotHistory history = new PolygonAnnotHistory();
|
|
|
+ PolygonMeasureAnnotHistory history = new PolygonMeasureAnnotHistory();
|
|
|
history.PDFDoc = viewControl.GetCPDFViewer().GetDocument();
|
|
|
- history.Action = ComPDFKitViewer.Helper.HistoryAction.Update;
|
|
|
+ history.Action = HistoryAction.Update;
|
|
|
+ history.PreviousParam = ParamConverter.CPDFDataConverterToAnnotParam(history.PDFDoc, annotCore.Page.PageIndex, polygonAnnotation);
|
|
|
+
|
|
|
SolidColorBrush brush = (sender as ColorPickerControl)?.Brush as SolidColorBrush;
|
|
|
polygonAnnotation.SetLineColor(new byte[3]
|
|
|
{
|
|
@@ -230,9 +238,8 @@ namespace ComPDFKit.Controls.PDFControlUI
|
|
|
});
|
|
|
|
|
|
history.CurrentParam = ParamConverter.CPDFDataConverterToAnnotParam(history.PDFDoc, annotCore.Page.PageIndex, polygonAnnotation);
|
|
|
-
|
|
|
+
|
|
|
annotCore.UpdateAp();
|
|
|
-
|
|
|
viewControl.GetCPDFViewer().UndoManager.AddHistory(history);
|
|
|
viewControl.UpdateAnnotFrame();
|
|
|
}
|
|
@@ -251,10 +258,17 @@ namespace ComPDFKit.Controls.PDFControlUI
|
|
|
}
|
|
|
|
|
|
Color lineColor = Color.FromRgb(polygonParam.LineColor[0], polygonParam.LineColor[1], polygonParam.LineColor[2]);
|
|
|
- Color fillColor = Color.FromRgb(polygonParam.FillColor[0], polygonParam.FillColor[1], polygonParam.FillColor[2]);
|
|
|
+ Color fillColor;
|
|
|
+ if (annotation.HasBgColor)
|
|
|
+ {
|
|
|
+ fillColor = Color.FromRgb(polygonParam.FillColor[0], polygonParam.FillColor[1], polygonParam.FillColor[2]);
|
|
|
+ }
|
|
|
+ else
|
|
|
+ {
|
|
|
+ fillColor = Colors.Transparent;
|
|
|
+ }
|
|
|
|
|
|
ctlBorderColorPicker.SetCheckedForColor(lineColor);
|
|
|
-
|
|
|
ctlFillColorPicker.SetCheckedForColor(fillColor);
|
|
|
|
|
|
double opacity = polygonParam.Transparency / 255.0 * 100.0;
|
|
@@ -278,8 +292,6 @@ namespace ComPDFKit.Controls.PDFControlUI
|
|
|
ctlLineStyle.DashStyle = new DashStyle(dashArray, 0);
|
|
|
}
|
|
|
|
|
|
-
|
|
|
-
|
|
|
NoteTextBox.Text = polygonParam.Content;
|
|
|
}
|
|
|
|