using ComPDFKit.Controls.PDFControlUI; using ComPDFKitViewer; using System; using System.Collections.Generic; using System.Linq; using System.Windows; using System.Windows.Controls; namespace ComPDFKit.Controls.PDFControl { public partial class CPDFDisplaySettingsControl : UserControl { /// /// PDFViewer /// private PDFViewControl ViewControl; public event EventHandler SplitModeChanged; public CPDFDisplaySettingsControl() { InitializeComponent(); Loaded += CPDFDisplaySettingsControl_Loaded; } private void CPDFDisplaySettingsControl_Loaded(object sender, RoutedEventArgs e) { } private void ViewModeUI_SplitModeChanged(object sender, CPDFViewModeUI.SplitMode e) { SplitModeChanged?.Invoke(this, e); } private void ViewModeUI_CropModeChanged(object sender, bool e) { if (ViewControl != null && ViewControl.PDFViewTool != null) { ViewControl?.SetCropMode(e); } } private void DrawModeUI_DrawModeChanged(object sender, DrawModeData e) { if(ViewControl!=null && ViewControl.PDFViewTool!=null) { ViewControl.SetDrawModes(e); } } private void ViewModeUI_ViewModeChanged(object sender, ViewMode e) { if (ViewControl != null && ViewControl.PDFViewTool != null) { CPDFViewer pdfViewer = ViewControl.FocusPDFViewTool.GetCPDFViewer(); if (pdfViewer != null) { pdfViewer?.SetViewMode(e); } } } public void InitWithPDFViewer(PDFViewControl viewControl) { ViewControl = viewControl; ViewControl.FocusPDFViewToolChanged -= PDFViewControl_FocusPDFViewToolChanged; ViewControl.FocusPDFViewToolChanged += PDFViewControl_FocusPDFViewToolChanged; if(ViewControl != null && ViewControl.PDFViewTool!=null) { CPDFViewer pdfViewer= viewControl.PDFViewTool.GetCPDFViewer(); if(pdfViewer != null) { ViewModeUI.SetViewModeUI(pdfViewer.GetViewMode()); } } ViewModeUI.ViewModeChanged -= ViewModeUI_ViewModeChanged; ViewModeUI.SplitModeChanged -= ViewModeUI_SplitModeChanged; ViewModeUI.CropModeChanged -= ViewModeUI_CropModeChanged; DrawModeUI.DrawModeChanged -= DrawModeUI_DrawModeChanged; ViewModeUI.ViewModeChanged += ViewModeUI_ViewModeChanged; ViewModeUI.SplitModeChanged += ViewModeUI_SplitModeChanged; ViewModeUI.CropModeChanged += ViewModeUI_CropModeChanged; DrawModeUI.DrawModeChanged += DrawModeUI_DrawModeChanged; } private void PDFViewControl_FocusPDFViewToolChanged(object sender,EventArgs e) { if (ViewControl != null && ViewControl.PDFViewTool != null) { CPDFViewer pdfViewer = ViewControl.FocusPDFViewTool.GetCPDFViewer(); if (pdfViewer != null) { ViewModeUI.SetViewModeUI(pdfViewer.GetViewMode()); } } } public void SetVisibilityWhenContentEdit(Visibility visible) { ViewModeUI?.SetSplitContainerVisibility(visible); ViewModeUI?.SetCropContainerVisibility(visible); } } }