using Compdfkit_Tools.PDFControlUI;
using ComPDFKitViewer;
using System;
using System.Collections.Generic;
using System.Windows;
using System.Windows.Controls;
namespace Compdfkit_Tools.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)
{
//ViewControl?.SetCropMode(e);
}
private void DrawModeUI_DrawModeChanged(object sender, DrawModeData e)
{
if(ViewControl!=null && ViewControl.PDFViewTool!=null)
{
ViewControl.SetDrawModes(e);
}
}
//private void ViewModeUI_SplitModeChanged(object sender, SplitMode e)
//{
// ViewControl?.SetSplitMode(e);
//}
private void ViewModeUI_ViewModeChanged(object sender, ViewModes e)
{
if (ViewControl != null && ViewControl.PDFViewTool != null)
{
CPDFViewer pdfViewer = ViewControl.FocusPDFViewTool.GetCPDFViewer();
if (pdfViewer != null)
{
pdfViewer?.SetViewMode(e);
pdfViewer?.UpDateRenderFrame();
}
}
}
public void InitWithPDFViewer(PDFViewControl viewControl)
{
ViewControl = viewControl;
ViewControl.SelectedPDFViewToolChanged -= PDFViewControl_SelectedPDFViewToolChanged;
ViewControl.SelectedPDFViewToolChanged += PDFViewControl_SelectedPDFViewToolChanged;
if(ViewControl != null && ViewControl.PDFViewTool!=null)
{
CPDFViewer pdfViewer= viewControl.PDFViewTool.GetCPDFViewer();
if(pdfViewer != null)
{
ViewModeUI.SetViewModeUI(pdfViewer.GetViewMode());
// ViewModeUI.SetSplitModeUI(ViewControl.Mode);
//ViewModeUI.SetCropUI(ViewControl.IsCropMode());
}
}
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_SelectedPDFViewToolChanged(object sender,EventArgs e)
{
if (ViewControl != null && ViewControl.PDFViewTool != null)
{
CPDFViewer pdfViewer = ViewControl.FocusPDFViewTool.GetCPDFViewer();
if (pdfViewer != null)
{
ViewModeUI.SetViewModeUI(pdfViewer.GetViewMode());
// ViewModeUI.SetSplitModeUI(ViewControl.Mode);
//ViewModeUI.SetCropUI(ViewControl.IsCropMode());
}
}
}
public void SetVisibilityWhenContentEdit(Visibility visible)
{
ViewModeUI?.SetSplitContainerVisibility(visible);
ViewModeUI?.SetCropContainerVisibility(visible);
}
}
}