|
@@ -1,4 +1,5 @@
|
|
|
using ComPDFKit.Measure;
|
|
|
+using ComPDFKit.PDFAnnotation;
|
|
|
using Compdfkit_Tools.Helper;
|
|
|
using Compdfkit_Tools.PDFControl;
|
|
|
using ComPDFKitViewer;
|
|
@@ -121,22 +122,50 @@ namespace Compdfkit_Tools.Measure
|
|
|
LineMeasureArgs LineArgs = e.GetAnnotHandlerEventArgs(AnnotArgsType.LineMeasure).First() as LineMeasureArgs;
|
|
|
panelState.RightPanel = PanelState.RightPanelState.PropertyPanel;
|
|
|
measurePropertyControl.SetPropertyForMeasureCreate(LineArgs, e);
|
|
|
+ SetInfoPanelVisble(true, false);
|
|
|
+ SetMeasureInfoPanel(LineArgs.GetPDFAnnot());
|
|
|
break;
|
|
|
case AnnotArgsType.PolygonMeasure:
|
|
|
PolygonMeasureArgs polygonArgs = e.GetAnnotHandlerEventArgs(AnnotArgsType.PolygonMeasure).First() as PolygonMeasureArgs;
|
|
|
panelState.RightPanel = PanelState.RightPanelState.PropertyPanel;
|
|
|
measurePropertyControl.SetPropertyForMeasureCreate(polygonArgs, e);
|
|
|
+ SetInfoPanelVisble(true, false);
|
|
|
+ SetMeasureInfoPanel(polygonArgs.GetPDFAnnot());
|
|
|
break;
|
|
|
|
|
|
case AnnotArgsType.PolyLineMeasure:
|
|
|
PolyLineMeasureArgs polyLineArgs = e.GetAnnotHandlerEventArgs(AnnotArgsType.PolyLineMeasure).First() as PolyLineMeasureArgs;
|
|
|
panelState.RightPanel = PanelState.RightPanelState.PropertyPanel;
|
|
|
measurePropertyControl.SetPropertyForMeasureCreate(polyLineArgs, e);
|
|
|
+ SetInfoPanelVisble(true, false);
|
|
|
+ SetMeasureInfoPanel(polyLineArgs.GetPDFAnnot());
|
|
|
break;
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
|
|
|
+ private void SetMeasureInfoPanel(CPDFAnnotation cPDFAnnotation)
|
|
|
+ {
|
|
|
+ CPDFPolygonAnnotation Annot = cPDFAnnotation as CPDFPolygonAnnotation;
|
|
|
+
|
|
|
+ double Area = Annot.GetMeasureValue(CPDFCaptionType.CPDF_CAPTION_AREA);
|
|
|
+ double inch = MeasureSetting.GetMeasurePDFArea(Area);
|
|
|
+ double Length = Annot.GetMeasureValue(CPDFCaptionType.CPDF_CAPTION_LENGTH);
|
|
|
+ double currentInch = MeasureSetting.GetMeasurePDFLength(Length);
|
|
|
+
|
|
|
+ MeasureEventArgs measureEvent = new MeasureEventArgs();
|
|
|
+ measureEvent.RulerTranslateUnit = MeasureSetting.RulerTranslateUnit;
|
|
|
+ measureEvent.RulerTranslate = MeasureSetting.RulerTranslate;
|
|
|
+ measureEvent.RulerBase = MeasureSetting.RulerBase;
|
|
|
+ measureEvent.RulerBaseUnit = MeasureSetting.RulerBaseUnit;
|
|
|
+ measureEvent.Precision = MeasureSetting.Precision;
|
|
|
+ measureEvent.Type = CPDFMeasureType.CPDF_AREA_MEASURE;
|
|
|
+ measureEvent.Distance = string.Format("{0}{1}", MeasureSetting.GetPrecisionData(currentInch), MeasureSetting.RulerTranslateUnit);
|
|
|
+ measureEvent.Area = string.Format("{0}{1}", MeasureSetting.GetPrecisionData(inch), MeasureSetting.RulerTranslateUnit);
|
|
|
+
|
|
|
+ MeasureSetting.InvokeMeasureChangeEvent(this, measureEvent);
|
|
|
+ }
|
|
|
+
|
|
|
public void SetSettingsControl(CPDFDisplaySettingsControl cPDFDisplaySettingsControl)
|
|
|
{
|
|
|
displaySettingsControl = cPDFDisplaySettingsControl;
|