CPDFDisplaySettingsControl.xaml.cs 3.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112
  1. using ComPDFKit.Tool;
  2. using Compdfkit_Tools.PDFControlUI;
  3. using ComPDFKitViewer;
  4. using ComPDFKitViewer.PdfViewer;
  5. using System.Collections.Generic;
  6. using System.Windows;
  7. using System.Windows.Controls;
  8. using CPDFViewer = ComPDFKitViewer.PdfViewer.CPDFViewer;
  9. namespace Compdfkit_Tools.PDFControl
  10. {
  11. public partial class CPDFDisplaySettingsControl : UserControl
  12. {
  13. /// <summary>
  14. /// PDFViewer
  15. /// </summary>
  16. private CPDFViewer pdfView;
  17. private CPDFViewerTool pdfViewerTool;
  18. public CPDFDisplaySettingsControl()
  19. {
  20. InitializeComponent();
  21. Loaded += CPDFDisplaySettingsControl_Loaded;
  22. }
  23. private void CPDFDisplaySettingsControl_Loaded(object sender, RoutedEventArgs e)
  24. {
  25. ViewModeUI.ViewModeChanged += ViewModeUI_ViewModeChanged;
  26. ViewModeUI.ToolViewModeChanged += ViewModeUI_ToolViewModeChanged;
  27. ViewModeUI.SplitModeChanged += ViewModeUI_SplitModeChanged;
  28. ViewModeUI.CropModeChanged += ViewModeUI_CropModeChanged;
  29. DrawModeUI.DrawModeChanged += DrawModeUI_DrawModeChanged;
  30. }
  31. private void ViewModeUI_ToolViewModeChanged(object sender, ViewModes e)
  32. {
  33. pdfViewerTool.GetCPDFViewer().SetViewMode(e);
  34. pdfViewerTool.GetCPDFViewer().UpDataRenderFrame();
  35. }
  36. private void ViewModeUI_CropModeChanged(object sender, bool e)
  37. {
  38. pdfView?.SetCropMode(e);
  39. }
  40. private void DrawModeUI_DrawModeChanged(object sender, DrawModeData e)
  41. {
  42. if (e.DrawMode != DrawModes.Draw_Mode_Custom)
  43. {
  44. pdfView?.SetDrawMode(e.DrawMode);
  45. pdfView?.ReloadDocument();
  46. }
  47. else
  48. {
  49. pdfView?.SetDrawMode(e.DrawMode,e.CustomColor);
  50. pdfView?.ReloadDocument();
  51. }
  52. }
  53. private void ViewModeUI_SplitModeChanged(object sender, SplitMode e)
  54. {
  55. pdfView?.SetSplitMode(e);
  56. }
  57. private void ViewModeUI_ViewModeChanged(object sender, ViewMode e)
  58. {
  59. pdfView?.ChangeViewMode(e);
  60. }
  61. public void InitWithPDFViewer(CPDFViewer newPDFView)
  62. {
  63. pdfView = newPDFView;
  64. if(pdfView != null)
  65. {
  66. pdfView.InfoChanged -= PdfView_InfoChanged;
  67. pdfView.InfoChanged += PdfView_InfoChanged;
  68. ViewModeUI.SetSplitModeUI(pdfView.Mode);
  69. ViewModeUI.SetViewModeUI(pdfView.ModeView);
  70. ViewModeUI.SetCropUI(pdfView.IsCropMode());
  71. }
  72. }
  73. public void InitWithPDFViewerTool(CPDFViewerTool newPDFViewTool)
  74. {
  75. pdfViewerTool = newPDFViewTool;
  76. if(pdfViewerTool != null)
  77. {
  78. ViewModeUI.SetSplitModeUI(pdfView.Mode);
  79. ViewModeUI.SetViewModeUI(pdfView.ModeView);
  80. }
  81. }
  82. public void SetVisibilityWhenContentEdit(Visibility visible)
  83. {
  84. ViewModeUI?.SetSplitContainerVisibility(visible);
  85. ViewModeUI?.SetCropContainerVisibility(visible);
  86. }
  87. private void PdfView_InfoChanged(object sender, KeyValuePair<string, object> e)
  88. {
  89. if (e.Key == "ActiveViewIndex")
  90. {
  91. if (pdfView != null)
  92. {
  93. ViewModeUI.SetSplitModeUI(pdfView.Mode);
  94. ViewModeUI.SetViewModeUI(pdfView.ModeView);
  95. ViewModeUI.SetCropUI(pdfView.IsCropMode());
  96. }
  97. }
  98. }
  99. }
  100. }