Ver código fonte

【PDFListView】鼠标样式

dinglingui 2 anos atrás
pai
commit
ea132d3e25
78 arquivos alterados com 2508 adições e 52 exclusões
  1. 35 1
      PDF Office/PDF Office.xcodeproj/project.pbxproj
  2. 8 0
      PDF Office/PDF Office.xcodeproj/project.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings
  3. 14 0
      PDF Office/PDF Office.xcodeproj/project.xcworkspace/xcuserdata/dinglingui.xcuserdatad/WorkspaceSettings.xcsettings
  4. 26 0
      PDF Office/PDF Office/Class/PDFWindowController/PDFListView/AppKitCategories/CPDFListHoverAnnotationViewController.h
  5. 57 0
      PDF Office/PDF Office/Class/PDFWindowController/PDFListView/AppKitCategories/CPDFListHoverAnnotationViewController.m
  6. 42 0
      PDF Office/PDF Office/Class/PDFWindowController/PDFListView/AppKitCategories/CPDFListHoverAnnotationViewController.xib
  7. 32 0
      PDF Office/PDF Office/Class/PDFWindowController/PDFListView/AppKitCategories/NSCursor_CExtensions.h
  8. 633 2
      PDF Office/PDF Office/Class/PDFWindowController/PDFListView/AppKitCategories/NSCursor_CExtensions.m
  9. 31 6
      PDF Office/PDF Office/Class/PDFWindowController/PDFListView/AppKitCategories/NSImage_CExtensions.h
  10. 36 33
      PDF Office/PDF Office/Class/PDFWindowController/PDFListView/AppKitCategories/NSImage_CExtensions.m
  11. 5 0
      PDF Office/PDF Office/Class/PDFWindowController/PDFListView/CPDFKitExtensions/CPDFAnnotationExtensions/CPDFAnnotation+Extensions.h
  12. 12 1
      PDF Office/PDF Office/Class/PDFWindowController/PDFListView/CPDFKitExtensions/CPDFAnnotationExtensions/CPDFAnnotation+Extensions.m
  13. 4 0
      PDF Office/PDF Office/Class/PDFWindowController/PDFListView/CPDFListView+Private.h
  14. 12 3
      PDF Office/PDF Office/Class/PDFWindowController/PDFListView/CPDFListView.m
  15. 93 6
      PDF Office/PDF Office/Class/PDFWindowController/PDFListView/CPDFListViewExtension/CPDFListView+Event.m
  16. 4 0
      PDF Office/PDF Office/Class/PDFWindowController/PDFListView/CPDFListViewExtension/CPDFListView+Tool.h
  17. 101 0
      PDF Office/PDF Office/Class/PDFWindowController/PDFListView/CPDFListViewExtension/CPDFListView+Tool.m
  18. 6 0
      PDF Office/PDF Office/Class/PDFWindowController/PDFListView/NSImage/CPDFListView.xcassets/Contents.json
  19. 12 0
      PDF Office/PDF Office/Class/PDFWindowController/PDFListView/NSImage/CPDFListView.xcassets/NSCursors/CPDFListViewImageNameCursorsButton.imageset/Contents.json
  20. BIN
      PDF Office/PDF Office/Class/PDFWindowController/PDFListView/NSImage/CPDFListView.xcassets/NSCursors/CPDFListViewImageNameCursorsButton.imageset/矩形.pdf
  21. 12 0
      PDF Office/PDF Office/Class/PDFWindowController/PDFListView/NSImage/CPDFListView.xcassets/NSCursors/CPDFListViewImageNameCursorsCheckbox.imageset/Contents.json
  22. BIN
      PDF Office/PDF Office/Class/PDFWindowController/PDFListView/NSImage/CPDFListView.xcassets/NSCursors/CPDFListViewImageNameCursorsCheckbox.imageset/矩形.pdf
  23. 12 0
      PDF Office/PDF Office/Class/PDFWindowController/PDFListView/NSImage/CPDFListView.xcassets/NSCursors/CPDFListViewImageNameCursorsDate.imageset/Contents.json
  24. BIN
      PDF Office/PDF Office/Class/PDFWindowController/PDFListView/NSImage/CPDFListView.xcassets/NSCursors/CPDFListViewImageNameCursorsDate.imageset/ic_cursors_date-1.pdf
  25. 12 0
      PDF Office/PDF Office/Class/PDFWindowController/PDFListView/NSImage/CPDFListView.xcassets/NSCursors/CPDFListViewImageNameCursorsFork.imageset/Contents.json
  26. 87 0
      PDF Office/PDF Office/Class/PDFWindowController/PDFListView/NSImage/CPDFListView.xcassets/NSCursors/CPDFListViewImageNameCursorsFork.imageset/ic_cursors_fork-1.pdf
  27. 12 0
      PDF Office/PDF Office/Class/PDFWindowController/PDFListView/NSImage/CPDFListView.xcassets/NSCursors/CPDFListViewImageNameCursorsFormLine.imageset/Contents.json
  28. BIN
      PDF Office/PDF Office/Class/PDFWindowController/PDFListView/NSImage/CPDFListView.xcassets/NSCursors/CPDFListViewImageNameCursorsFormLine.imageset/ic_cursors_line-1.pdf
  29. 22 0
      PDF Office/PDF Office/Class/PDFWindowController/PDFListView/NSImage/CPDFListView.xcassets/NSCursors/CPDFListViewImageNameCursorsFreehand.imageset/Contents.json
  30. BIN
      PDF Office/PDF Office/Class/PDFWindowController/PDFListView/NSImage/CPDFListView.xcassets/NSCursors/CPDFListViewImageNameCursorsFreehand.imageset/light_ic_cursors_freehand-1.pdf
  31. BIN
      PDF Office/PDF Office/Class/PDFWindowController/PDFListView/NSImage/CPDFListView.xcassets/NSCursors/CPDFListViewImageNameCursorsFreehand.imageset/light_ic_cursors_freehand.pdf
  32. 22 0
      PDF Office/PDF Office/Class/PDFWindowController/PDFListView/NSImage/CPDFListView.xcassets/NSCursors/CPDFListViewImageNameCursorsHighlight.imageset/Contents.json
  33. 80 0
      PDF Office/PDF Office/Class/PDFWindowController/PDFListView/NSImage/CPDFListView.xcassets/NSCursors/CPDFListViewImageNameCursorsHighlight.imageset/light_ic_cursors_highlight-1.pdf
  34. 80 0
      PDF Office/PDF Office/Class/PDFWindowController/PDFListView/NSImage/CPDFListView.xcassets/NSCursors/CPDFListViewImageNameCursorsHighlight.imageset/light_ic_cursors_highlight.pdf
  35. 22 0
      PDF Office/PDF Office/Class/PDFWindowController/PDFListView/NSImage/CPDFListView.xcassets/NSCursors/CPDFListViewImageNameCursorsLine.imageset/Contents.json
  36. 89 0
      PDF Office/PDF Office/Class/PDFWindowController/PDFListView/NSImage/CPDFListView.xcassets/NSCursors/CPDFListViewImageNameCursorsLine.imageset/light_ic_cursors_line (1).pdf
  37. 89 0
      PDF Office/PDF Office/Class/PDFWindowController/PDFListView/NSImage/CPDFListView.xcassets/NSCursors/CPDFListViewImageNameCursorsLine.imageset/light_ic_cursors_line.pdf
  38. 22 0
      PDF Office/PDF Office/Class/PDFWindowController/PDFListView/NSImage/CPDFListView.xcassets/NSCursors/CPDFListViewImageNameCursorsLink.imageset/Contents.json
  39. BIN
      PDF Office/PDF Office/Class/PDFWindowController/PDFListView/NSImage/CPDFListView.xcassets/NSCursors/CPDFListViewImageNameCursorsLink.imageset/light_ic_cursors_link (1).pdf
  40. BIN
      PDF Office/PDF Office/Class/PDFWindowController/PDFListView/NSImage/CPDFListView.xcassets/NSCursors/CPDFListViewImageNameCursorsLink.imageset/light_ic_cursors_link.pdf
  41. 12 0
      PDF Office/PDF Office/Class/PDFWindowController/PDFListView/NSImage/CPDFListView.xcassets/NSCursors/CPDFListViewImageNameCursorsListbox.imageset/Contents.json
  42. BIN
      PDF Office/PDF Office/Class/PDFWindowController/PDFListView/NSImage/CPDFListView.xcassets/NSCursors/CPDFListViewImageNameCursorsListbox.imageset/矩形 (1).pdf
  43. 22 0
      PDF Office/PDF Office/Class/PDFWindowController/PDFListView/NSImage/CPDFListView.xcassets/NSCursors/CPDFListViewImageNameCursorsNote.imageset/Contents.json
  44. BIN
      PDF Office/PDF Office/Class/PDFWindowController/PDFListView/NSImage/CPDFListView.xcassets/NSCursors/CPDFListViewImageNameCursorsNote.imageset/light_ic_cursors_note-1.pdf
  45. BIN
      PDF Office/PDF Office/Class/PDFWindowController/PDFListView/NSImage/CPDFListView.xcassets/NSCursors/CPDFListViewImageNameCursorsNote.imageset/light_ic_cursors_note.pdf
  46. 22 0
      PDF Office/PDF Office/Class/PDFWindowController/PDFListView/NSImage/CPDFListView.xcassets/NSCursors/CPDFListViewImageNameCursorsOval.imageset/Contents.json
  47. BIN
      PDF Office/PDF Office/Class/PDFWindowController/PDFListView/NSImage/CPDFListView.xcassets/NSCursors/CPDFListViewImageNameCursorsOval.imageset/light_ic_cursors_oval (1).pdf
  48. BIN
      PDF Office/PDF Office/Class/PDFWindowController/PDFListView/NSImage/CPDFListView.xcassets/NSCursors/CPDFListViewImageNameCursorsOval.imageset/light_ic_cursors_oval.pdf
  49. 12 0
      PDF Office/PDF Office/Class/PDFWindowController/PDFListView/NSImage/CPDFListView.xcassets/NSCursors/CPDFListViewImageNameCursorsPoint.imageset/Contents.json
  50. BIN
      PDF Office/PDF Office/Class/PDFWindowController/PDFListView/NSImage/CPDFListView.xcassets/NSCursors/CPDFListViewImageNameCursorsPoint.imageset/ic_cursors_point-1.pdf
  51. 12 0
      PDF Office/PDF Office/Class/PDFWindowController/PDFListView/NSImage/CPDFListView.xcassets/NSCursors/CPDFListViewImageNameCursorsPulldownmenu.imageset/Contents.json
  52. BIN
      PDF Office/PDF Office/Class/PDFWindowController/PDFListView/NSImage/CPDFListView.xcassets/NSCursors/CPDFListViewImageNameCursorsPulldownmenu.imageset/矩形 (1).pdf
  53. 12 0
      PDF Office/PDF Office/Class/PDFWindowController/PDFListView/NSImage/CPDFListView.xcassets/NSCursors/CPDFListViewImageNameCursorsRadiobutton.imageset/Contents.json
  54. BIN
      PDF Office/PDF Office/Class/PDFWindowController/PDFListView/NSImage/CPDFListView.xcassets/NSCursors/CPDFListViewImageNameCursorsRadiobutton.imageset/矩形.pdf
  55. 22 0
      PDF Office/PDF Office/Class/PDFWindowController/PDFListView/NSImage/CPDFListView.xcassets/NSCursors/CPDFListViewImageNameCursorsRec.imageset/Contents.json
  56. 87 0
      PDF Office/PDF Office/Class/PDFWindowController/PDFListView/NSImage/CPDFListView.xcassets/NSCursors/CPDFListViewImageNameCursorsRec.imageset/light_ic_cursors_rec-1.pdf
  57. 87 0
      PDF Office/PDF Office/Class/PDFWindowController/PDFListView/NSImage/CPDFListView.xcassets/NSCursors/CPDFListViewImageNameCursorsRec.imageset/light_ic_cursors_rec.pdf
  58. 12 0
      PDF Office/PDF Office/Class/PDFWindowController/PDFListView/NSImage/CPDFListView.xcassets/NSCursors/CPDFListViewImageNameCursorsRoundedrec.imageset/Contents.json
  59. BIN
      PDF Office/PDF Office/Class/PDFWindowController/PDFListView/NSImage/CPDFListView.xcassets/NSCursors/CPDFListViewImageNameCursorsRoundedrec.imageset/ic_cursors_roundedrec-1.pdf
  60. 12 0
      PDF Office/PDF Office/Class/PDFWindowController/PDFListView/NSImage/CPDFListView.xcassets/NSCursors/CPDFListViewImageNameCursorsSign.imageset/Contents.json
  61. BIN
      PDF Office/PDF Office/Class/PDFWindowController/PDFListView/NSImage/CPDFListView.xcassets/NSCursors/CPDFListViewImageNameCursorsSign.imageset/矩形.pdf
  62. 22 0
      PDF Office/PDF Office/Class/PDFWindowController/PDFListView/NSImage/CPDFListView.xcassets/NSCursors/CPDFListViewImageNameCursorsStrikeout.imageset/Contents.json
  63. 89 0
      PDF Office/PDF Office/Class/PDFWindowController/PDFListView/NSImage/CPDFListView.xcassets/NSCursors/CPDFListViewImageNameCursorsStrikeout.imageset/light_ic_cursors_strikeout-1.pdf
  64. 89 0
      PDF Office/PDF Office/Class/PDFWindowController/PDFListView/NSImage/CPDFListView.xcassets/NSCursors/CPDFListViewImageNameCursorsStrikeout.imageset/light_ic_cursors_strikeout.pdf
  65. 22 0
      PDF Office/PDF Office/Class/PDFWindowController/PDFListView/NSImage/CPDFListView.xcassets/NSCursors/CPDFListViewImageNameCursorsTAble.imageset/Contents.json
  66. BIN
      PDF Office/PDF Office/Class/PDFWindowController/PDFListView/NSImage/CPDFListView.xcassets/NSCursors/CPDFListViewImageNameCursorsTAble.imageset/light_ic_cursors_table (1).pdf
  67. BIN
      PDF Office/PDF Office/Class/PDFWindowController/PDFListView/NSImage/CPDFListView.xcassets/NSCursors/CPDFListViewImageNameCursorsTAble.imageset/light_ic_cursors_table.pdf
  68. 22 0
      PDF Office/PDF Office/Class/PDFWindowController/PDFListView/NSImage/CPDFListView.xcassets/NSCursors/CPDFListViewImageNameCursorsText.imageset/Contents.json
  69. BIN
      PDF Office/PDF Office/Class/PDFWindowController/PDFListView/NSImage/CPDFListView.xcassets/NSCursors/CPDFListViewImageNameCursorsText.imageset/light_ic_cursors_text-1.pdf
  70. BIN
      PDF Office/PDF Office/Class/PDFWindowController/PDFListView/NSImage/CPDFListView.xcassets/NSCursors/CPDFListViewImageNameCursorsText.imageset/light_ic_cursors_text.pdf
  71. 12 0
      PDF Office/PDF Office/Class/PDFWindowController/PDFListView/NSImage/CPDFListView.xcassets/NSCursors/CPDFListViewImageNameCursorsTextfield.imageset/Contents.json
  72. 87 0
      PDF Office/PDF Office/Class/PDFWindowController/PDFListView/NSImage/CPDFListView.xcassets/NSCursors/CPDFListViewImageNameCursorsTextfield.imageset/矩形 (1).pdf
  73. 12 0
      PDF Office/PDF Office/Class/PDFWindowController/PDFListView/NSImage/CPDFListView.xcassets/NSCursors/CPDFListViewImageNameCursorsTick.imageset/Contents.json
  74. 89 0
      PDF Office/PDF Office/Class/PDFWindowController/PDFListView/NSImage/CPDFListView.xcassets/NSCursors/CPDFListViewImageNameCursorsTick.imageset/ic_cursors_tick-1.pdf
  75. 22 0
      PDF Office/PDF Office/Class/PDFWindowController/PDFListView/NSImage/CPDFListView.xcassets/NSCursors/CPDFListViewImageNameCursorsUnderline.imageset/Contents.json
  76. BIN
      PDF Office/PDF Office/Class/PDFWindowController/PDFListView/NSImage/CPDFListView.xcassets/NSCursors/CPDFListViewImageNameCursorsUnderline.imageset/light_ic_cursors_underline-1.pdf
  77. BIN
      PDF Office/PDF Office/Class/PDFWindowController/PDFListView/NSImage/CPDFListView.xcassets/NSCursors/CPDFListViewImageNameCursorsUnderline.imageset/light_ic_cursors_underline.pdf
  78. 6 0
      PDF Office/PDF Office/Class/PDFWindowController/PDFListView/NSImage/CPDFListView.xcassets/NSCursors/Contents.json

+ 35 - 1
PDF Office/PDF Office.xcodeproj/project.pbxproj

@@ -1088,6 +1088,15 @@
 		F3A9DC81294309D80074E5D2 /* CPDFListEditAnnotationViewController.xib in Resources */ = {isa = PBXBuildFile; fileRef = F3A9DC7D294309D80074E5D2 /* CPDFListEditAnnotationViewController.xib */; };
 		F3A9DC82294309D80074E5D2 /* CPDFListEditAnnotationViewController.xib in Resources */ = {isa = PBXBuildFile; fileRef = F3A9DC7D294309D80074E5D2 /* CPDFListEditAnnotationViewController.xib */; };
 		F3A9DC83294309D80074E5D2 /* CPDFListEditAnnotationViewController.xib in Resources */ = {isa = PBXBuildFile; fileRef = F3A9DC7D294309D80074E5D2 /* CPDFListEditAnnotationViewController.xib */; };
+		F3B7DF9A2948565000333201 /* CPDFListHoverAnnotationViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = F3B7DF982948565000333201 /* CPDFListHoverAnnotationViewController.m */; };
+		F3B7DF9B2948565000333201 /* CPDFListHoverAnnotationViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = F3B7DF982948565000333201 /* CPDFListHoverAnnotationViewController.m */; };
+		F3B7DF9C2948565000333201 /* CPDFListHoverAnnotationViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = F3B7DF982948565000333201 /* CPDFListHoverAnnotationViewController.m */; };
+		F3B7DF9D2948565000333201 /* CPDFListHoverAnnotationViewController.xib in Resources */ = {isa = PBXBuildFile; fileRef = F3B7DF992948565000333201 /* CPDFListHoverAnnotationViewController.xib */; };
+		F3B7DF9E2948565000333201 /* CPDFListHoverAnnotationViewController.xib in Resources */ = {isa = PBXBuildFile; fileRef = F3B7DF992948565000333201 /* CPDFListHoverAnnotationViewController.xib */; };
+		F3B7DF9F2948565000333201 /* CPDFListHoverAnnotationViewController.xib in Resources */ = {isa = PBXBuildFile; fileRef = F3B7DF992948565000333201 /* CPDFListHoverAnnotationViewController.xib */; };
+		F3B7DFA42949C8E300333201 /* CPDFListView.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = F3B7DFA32949C8E300333201 /* CPDFListView.xcassets */; };
+		F3B7DFA52949C8E300333201 /* CPDFListView.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = F3B7DFA32949C8E300333201 /* CPDFListView.xcassets */; };
+		F3B7DFA62949C8E300333201 /* CPDFListView.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = F3B7DFA32949C8E300333201 /* CPDFListView.xcassets */; };
 /* End PBXBuildFile section */
 
 /* Begin PBXContainerItemProxy section */
@@ -1676,6 +1685,10 @@
 		F3A9DC7B294309D80074E5D2 /* CPDFListEditAnnotationViewController.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = CPDFListEditAnnotationViewController.h; sourceTree = "<group>"; };
 		F3A9DC7C294309D80074E5D2 /* CPDFListEditAnnotationViewController.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = CPDFListEditAnnotationViewController.m; sourceTree = "<group>"; };
 		F3A9DC7D294309D80074E5D2 /* CPDFListEditAnnotationViewController.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = CPDFListEditAnnotationViewController.xib; sourceTree = "<group>"; };
+		F3B7DF972948565000333201 /* CPDFListHoverAnnotationViewController.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = CPDFListHoverAnnotationViewController.h; sourceTree = "<group>"; };
+		F3B7DF982948565000333201 /* CPDFListHoverAnnotationViewController.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = CPDFListHoverAnnotationViewController.m; sourceTree = "<group>"; };
+		F3B7DF992948565000333201 /* CPDFListHoverAnnotationViewController.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = CPDFListHoverAnnotationViewController.xib; sourceTree = "<group>"; };
+		F3B7DFA32949C8E300333201 /* CPDFListView.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = CPDFListView.xcassets; sourceTree = "<group>"; };
 /* End PBXFileReference section */
 
 /* Begin PBXFrameworksBuildPhase section */
@@ -2716,6 +2729,7 @@
 		BB2C6AC628F4081E00478A33 /* PDFListView */ = {
 			isa = PBXGroup;
 			children = (
+				F3B7DFA22949C8BF00333201 /* NSImage */,
 				F37322AD292DF9410013862C /* CPDFKitExtensions */,
 				F3732289292CCA650013862C /* Windows */,
 				F3599215292CA27A000D25DE /* AppKitCategories */,
@@ -3164,14 +3178,17 @@
 				F3599221292CA27A000D25DE /* NSColor_Extensions.h */,
 				F359921B292CA27A000D25DE /* NSColor_Extensions.m */,
 				F3599216292CA27A000D25DE /* NSGeometry_Extensions.h */,
-				F359921C292CA27A000D25DE /* NSGeometry_Extensions.m */,
 				F359921D292CA27A000D25DE /* NSUserDefaults_Extensions.h */,
 				F359921A292CA27A000D25DE /* NSGraphics_Extensions.h */,
 				F3599220292CA27A000D25DE /* NSGraphics_Extensions.m */,
 				F3599219292CA27A000D25DE /* NSUserDefaults_Extensions.m */,
+				F359921C292CA27A000D25DE /* NSGeometry_Extensions.m */,
 				F3A9DC7B294309D80074E5D2 /* CPDFListEditAnnotationViewController.h */,
 				F3A9DC7C294309D80074E5D2 /* CPDFListEditAnnotationViewController.m */,
 				F3A9DC7D294309D80074E5D2 /* CPDFListEditAnnotationViewController.xib */,
+				F3B7DF972948565000333201 /* CPDFListHoverAnnotationViewController.h */,
+				F3B7DF982948565000333201 /* CPDFListHoverAnnotationViewController.m */,
+				F3B7DF992948565000333201 /* CPDFListHoverAnnotationViewController.xib */,
 			);
 			path = AppKitCategories;
 			sourceTree = "<group>";
@@ -3281,6 +3298,14 @@
 			path = Stamp;
 			sourceTree = "<group>";
 		};
+		F3B7DFA22949C8BF00333201 /* NSImage */ = {
+			isa = PBXGroup;
+			children = (
+				F3B7DFA32949C8E300333201 /* CPDFListView.xcassets */,
+			);
+			path = NSImage;
+			sourceTree = "<group>";
+		};
 /* End PBXGroup section */
 
 /* Begin PBXNativeTarget section */
@@ -3565,6 +3590,7 @@
 				8997011928F40898009AF911 /* KMThumbnailViewController.xib in Resources */,
 				9FA607E128FD4C9F00B46586 /* KMHomePopViewController.xib in Resources */,
 				89D2D2B92947316900BFF5FE /* Quick Start Guide_Widget.pdf in Resources */,
+				F3B7DFA42949C8E300333201 /* CPDFListView.xcassets in Resources */,
 				9F853A052947137500DF644E /* newtab_h.pdf in Resources */,
 				9F8539FC2947137500DF644E /* throbber_waiting.png in Resources */,
 				BB99ACD2292E2AEF0048AFD9 /* KMMergeCollectionViewItem.xib in Resources */,
@@ -3593,6 +3619,7 @@
 				BB49ECE0293EED6100C82CA2 /* KMConvertWordWindowController.xib in Resources */,
 				ADB2D6FD294882B70029D2B3 /* KMTextFieldStepperView.xib in Resources */,
 				BB6DD80F29347F77001F0544 /* KMSecureEncryptWindowController.xib in Resources */,
+				F3B7DF9D2948565000333201 /* CPDFListHoverAnnotationViewController.xib in Resources */,
 				899700EB28F3E4D3009AF911 /* MainWindowController.xib in Resources */,
 				BB49ED01293F459500C82CA2 /* KMConvertPPTsWindowController.xib in Resources */,
 				ADD1B6AE2941E97F00C3FFF7 /* KMPrintWindowController.xib in Resources */,
@@ -3663,6 +3690,7 @@
 				F3A9DC82294309D80074E5D2 /* CPDFListEditAnnotationViewController.xib in Resources */,
 				8942F7F42926087200389627 /* KMSearchViewController.xib in Resources */,
 				9FAAA336290BD0A20046FFCE /* KMHistoryFileCollectionViewItem.xib in Resources */,
+				F3B7DF9E2948565000333201 /* CPDFListHoverAnnotationViewController.xib in Resources */,
 				BB49ECE1293EED6100C82CA2 /* KMConvertWordWindowController.xib in Resources */,
 				BB99ACD3292E2AEF0048AFD9 /* KMMergeCollectionViewItem.xib in Resources */,
 				8997011A28F40898009AF911 /* KMThumbnailViewController.xib in Resources */,
@@ -3728,6 +3756,7 @@
 				BB49ED0A293F461500C82CA2 /* KMConvertCSVWindowController.xib in Resources */,
 				BB49ED12293F462E00C82CA2 /* KMConvertImageWindowController.xib in Resources */,
 				9FAAA32E290BD01D0046FFCE /* KMHomeHistoryFileViewController.xib in Resources */,
+				F3B7DFA52949C8E300333201 /* CPDFListView.xcassets in Resources */,
 				BB8B17372907B64D001C5EA5 /* CipherTextView.xib in Resources */,
 				9F853A032947137500DF644E /* default-icon.pdf in Resources */,
 				BB3EAEB1293E3D6000D92407 /* KMConvertBaseWindowController.xib in Resources */,
@@ -3773,6 +3802,7 @@
 				9F78EFC028F7C1CC001E66F4 /* KMHomeViewController.xib in Resources */,
 				9F8539E52947126000DF644E /* KMChromiumToolbar.xib in Resources */,
 				9F1F82E82934D5240092C4B4 /* KMHomeExtractActionViewController.xib in Resources */,
+				F3B7DF9F2948565000333201 /* CPDFListHoverAnnotationViewController.xib in Resources */,
 				9F1FE3F6293F4F0F00E952CA /* Info.plist in Resources */,
 				ADB2D6FF294882B70029D2B3 /* KMTextFieldStepperView.xib in Resources */,
 				ADD1B6F22946C06C00C3FFF7 /* KMPrintChoosePageSizeSizeView.xib in Resources */,
@@ -3852,6 +3882,7 @@
 				9F8539FB2947137500DF644E /* newtab_p.pdf in Resources */,
 				ADB2D6F4294741720029D2B3 /* KMPrintPaperSetView.xib in Resources */,
 				BB49ED13293F462E00C82CA2 /* KMConvertImageWindowController.xib in Resources */,
+				F3B7DFA62949C8E300333201 /* CPDFListView.xcassets in Resources */,
 				ADD1B6DD2946BE1700C3FFF7 /* KMPrintChoosePageSizeView.xib in Resources */,
 			);
 			runOnlyForDeploymentPostprocessing = 0;
@@ -3914,6 +3945,7 @@
 				BB8B17322907B63D001C5EA5 /* CipherTextView.swift in Sources */,
 				BBA8B7AA2935DC120097D183 /* KMRemovePasswordResultTipView.swift in Sources */,
 				ADCB9971292C65EE00B51A03 /* KMGOCROperation.m in Sources */,
+				F3B7DF9A2948565000333201 /* CPDFListHoverAnnotationViewController.m in Sources */,
 				9F1F82F229373D6E0092C4B4 /* String+KMExtensions.swift in Sources */,
 				ADD1B6D32943218800C3FFF7 /* KMPrintChooseModel.swift in Sources */,
 				9F1F82D2292F6D510092C4B4 /* KMPDFInsertPreviewViewController.swift in Sources */,
@@ -4199,6 +4231,7 @@
 				8997010728F4082C009AF911 /* KMFromViewController.swift in Sources */,
 				F373230F292DF9410013862C /* CPDFInkAnnotation+Extensions.m in Sources */,
 				9F1F82F329373D6E0092C4B4 /* String+KMExtensions.swift in Sources */,
+				F3B7DF9B2948565000333201 /* CPDFListHoverAnnotationViewController.m in Sources */,
 				ADCB98C62924730000B51A03 /* KMBatchProcessingTableViewModel.swift in Sources */,
 				ADD1B6D42943218800C3FFF7 /* KMPrintChooseModel.swift in Sources */,
 				F344A3B5293094DB003A4383 /* CPDFListSignatureAnnotation.m in Sources */,
@@ -4485,6 +4518,7 @@
 				BB86C1EF28F544F4005AD968 /* CPDFListView+Event.m in Sources */,
 				F359922A292CA27B000D25DE /* NSColor_Extensions.m in Sources */,
 				9F1F82F429373D6E0092C4B4 /* String+KMExtensions.swift in Sources */,
+				F3B7DF9C2948565000333201 /* CPDFListHoverAnnotationViewController.m in Sources */,
 				BB6DD823293497B6001F0544 /* KMSecureEncryptModel.swift in Sources */,
 				ADD1B6D52943218800C3FFF7 /* KMPrintChooseModel.swift in Sources */,
 				9FAAA334290BD0A20046FFCE /* KMHistoryFileCollectionViewItem.swift in Sources */,

+ 8 - 0
PDF Office/PDF Office.xcodeproj/project.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings

@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
+<plist version="1.0">
+<dict>
+	<key>PreviewsEnabled</key>
+	<false/>
+</dict>
+</plist>

+ 14 - 0
PDF Office/PDF Office.xcodeproj/project.xcworkspace/xcuserdata/dinglingui.xcuserdatad/WorkspaceSettings.xcsettings

@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
+<plist version="1.0">
+<dict>
+	<key>BuildLocationStyle</key>
+	<string>UseAppPreferences</string>
+	<key>CustomBuildLocationType</key>
+	<string>RelativeToDerivedData</string>
+	<key>DerivedDataLocationStyle</key>
+	<string>Default</string>
+	<key>ShowSharedSchemesAutomaticallyEnabled</key>
+	<true/>
+</dict>
+</plist>

+ 26 - 0
PDF Office/PDF Office/Class/PDFWindowController/PDFListView/AppKitCategories/CPDFListHoverAnnotationViewController.h

@@ -0,0 +1,26 @@
+//
+//  CPDFListHoverAnnotationViewController.h
+//  ComPDFKit
+//
+//  Copyright © 2014-2022 PDF Technologies, Inc. All Rights Reserved.
+//
+//  THIS SOURCE CODE AND ANY ACCOMPANYING DOCUMENTATION ARE PROTECTED BY INTERNATIONAL COPYRIGHT LAW
+//  AND MAY NOT BE RESOLD OR REDISTRIBUTED. USAGE IS BOUND TO THE ComPDFKit LICENSE AGREEMENT.
+//  UNAUTHORIZED REPRODUCTION OR DISTRIBUTION IS SUBJECT TO CIVIL AND CRIMINAL PENALTIES.
+//  This notice may not be removed from this file.
+//
+
+#import <ComPDFKit/ComPDFKit.h>
+
+@class CPDFListView;
+
+@interface CPDFListHoverAnnotationViewController : NSViewController
+
+@property(nonatomic,readonly) CPDFAnnotation * annotation;
+
+@property(nonatomic,assign) CPDFListView *pdflistView;
+
+- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil annotation:(CPDFAnnotation *)annotation;
+
+@end
+

+ 57 - 0
PDF Office/PDF Office/Class/PDFWindowController/PDFListView/AppKitCategories/CPDFListHoverAnnotationViewController.m

@@ -0,0 +1,57 @@
+//
+//  CPDFListHoverAnnotationViewController.m
+//  ComPDFKit
+//
+//  Copyright © 2014-2022 PDF Technologies, Inc. All Rights Reserved.
+//
+//  THIS SOURCE CODE AND ANY ACCOMPANYING DOCUMENTATION ARE PROTECTED BY INTERNATIONAL COPYRIGHT LAW
+//  AND MAY NOT BE RESOLD OR REDISTRIBUTED. USAGE IS BOUND TO THE ComPDFKit LICENSE AGREEMENT.
+//  UNAUTHORIZED REPRODUCTION OR DISTRIBUTION IS SUBJECT TO CIVIL AND CRIMINAL PENALTIES.
+//  This notice may not be removed from this file.
+//
+
+#import "CPDFListHoverAnnotationViewController.h"
+#import "CPDFListView.h"
+
+@interface CPDFListHoverAnnotationViewController ()
+
+@property (nonatomic,assign)IBOutlet NSTextField *contentLabel;
+
+@property(nonatomic,retain) CPDFAnnotation * annotation;
+
+@end
+
+@implementation CPDFListHoverAnnotationViewController
+
+- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil annotation:(CPDFAnnotation *)annotation {
+    self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil];
+    if (self) {
+        self.annotation = annotation;
+    }
+    return self;
+}
+
+- (void)viewDidLoad {
+    [super viewDidLoad];
+    
+    self.view.wantsLayer = YES;
+    self.view.layer.backgroundColor = [NSColor colorWithRed:0 green:0 blue:0 alpha:0.8].CGColor;
+    self.contentLabel.textColor = [NSColor whiteColor];
+    
+    if([self.annotation isKindOfClass:[CPDFLinkAnnotation class]]) {
+        CPDFLinkAnnotation *linkAnnotation = (CPDFLinkAnnotation *)self.annotation;
+        CPDFDestination *destination = linkAnnotation.destination;
+        if(destination) {
+            CPDFPage *page = destination.page;
+            self.contentLabel.stringValue = [NSString stringWithFormat:NSLocalizedString(@"Go to Page %ld", nil),[self.pdflistView.document indexForPage:page]+1];
+        } else {
+            NSString *url = linkAnnotation.URL;
+            self.contentLabel.stringValue = url?:@"";
+        }
+    } else {
+        self.contentLabel.stringValue = self.annotation.contents?:@"";
+    }
+}
+
+
+@end

+ 42 - 0
PDF Office/PDF Office/Class/PDFWindowController/PDFListView/AppKitCategories/CPDFListHoverAnnotationViewController.xib

@@ -0,0 +1,42 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<document type="com.apple.InterfaceBuilder3.Cocoa.XIB" version="3.0" toolsVersion="21507" targetRuntime="MacOSX.Cocoa" propertyAccessControl="none" useAutolayout="YES" customObjectInstantitationMethod="direct">
+    <dependencies>
+        <deployment identifier="macosx"/>
+        <plugIn identifier="com.apple.InterfaceBuilder.CocoaPlugin" version="21507"/>
+        <capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/>
+    </dependencies>
+    <objects>
+        <customObject id="-2" userLabel="File's Owner" customClass="CPDFListHoverAnnotationViewController">
+            <connections>
+                <outlet property="contentLabel" destination="RJu-lj-0bf" id="MhQ-mu-HTO"/>
+                <outlet property="view" destination="AgA-wW-sdX" id="niY-ql-z7J"/>
+            </connections>
+        </customObject>
+        <customObject id="-1" userLabel="First Responder" customClass="FirstResponder"/>
+        <customObject id="-3" userLabel="Application" customClass="NSObject"/>
+        <customView id="AgA-wW-sdX">
+            <rect key="frame" x="0.0" y="0.0" width="24" height="38"/>
+            <autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMinY="YES"/>
+            <subviews>
+                <textField horizontalHuggingPriority="251" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="RJu-lj-0bf">
+                    <rect key="frame" x="10" y="12" width="4" height="14"/>
+                    <constraints>
+                        <constraint firstAttribute="width" relation="lessThanOrEqual" constant="300" id="fgK-qM-YQl"/>
+                    </constraints>
+                    <textFieldCell key="cell" sendsActionOnEndEditing="YES" alignment="left" id="IhY-qh-bAb">
+                        <font key="font" metaFont="smallSystem"/>
+                        <color key="textColor" red="0.99999600649999998" green="1" blue="1" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
+                        <color key="backgroundColor" name="controlColor" catalog="System" colorSpace="catalog"/>
+                    </textFieldCell>
+                </textField>
+            </subviews>
+            <constraints>
+                <constraint firstItem="RJu-lj-0bf" firstAttribute="leading" secondItem="AgA-wW-sdX" secondAttribute="leading" constant="12" id="0F4-Fl-b4c"/>
+                <constraint firstItem="RJu-lj-0bf" firstAttribute="top" secondItem="AgA-wW-sdX" secondAttribute="top" constant="12" id="R86-mS-kYJ"/>
+                <constraint firstAttribute="bottom" secondItem="RJu-lj-0bf" secondAttribute="bottom" constant="12" id="tcw-Uc-TZe"/>
+                <constraint firstAttribute="trailing" secondItem="RJu-lj-0bf" secondAttribute="trailing" constant="12" id="wPJ-Mw-6eI"/>
+            </constraints>
+            <point key="canvasLocation" x="178.5" y="115"/>
+        </customView>
+    </objects>
+</document>

+ 32 - 0
PDF Office/PDF Office/Class/PDFWindowController/PDFListView/AppKitCategories/NSCursor_CExtensions.h

@@ -16,5 +16,37 @@
 
 + (NSCursor *)zoomInCursor;
 + (NSCursor *)zoomOutCursor;
++ (NSCursor *)resizeDiagonal45Cursor;
++ (NSCursor *)resizeDiagonal135Cursor;
+
++ (NSCursor *)textNoteCursor;
++ (NSCursor *)anchoredNoteCursor;
++ (NSCursor *)circleNoteCursor;
++ (NSCursor *)squareNoteCursor;
++ (NSCursor *)highlightNoteCursor;
++ (NSCursor *)underlineNoteCursor;
++ (NSCursor *)strikeOutNoteCursor;
++ (NSCursor *)arrowNoteCursor;
++ (NSCursor *)lineNoteCursor;
++ (NSCursor *)inkNoteCursor;
++ (NSCursor *)linkNoteCursor;
+
+//form类型注释鼠标
++ (NSCursor *)radioFormCursor:(CGFloat)scaleFactor;
++ (NSCursor *)checkFormCursor:(CGFloat)scaleFactor;
++ (NSCursor *)textFieldFormCursor:(CGFloat)scaleFactor;
++ (NSCursor *)listBoxFormCursor:(CGFloat)scaleFactor;
++ (NSCursor *)comboBoxFormCursor:(CGFloat)scaleFactor;
++ (NSCursor *)actionButtonFormCursor:(CGFloat)scaleFactor;
++ (NSCursor *)signatureFormCursor:(CGFloat)scaleFactor;
+
+//selfSign类型注释鼠标
++ (NSCursor *)dotSelfSignCursor:(CGFloat)scaleFactor;
++ (NSCursor *)circelSelfSignCursor:(CGFloat)scaleFactor;
++ (NSCursor *)lineSelfSignCursor:(CGFloat)scaleFactor;
++ (NSCursor *)tureSelfSignCursor:(CGFloat)scaleFactor;
++ (NSCursor *)falseSelfSignCursor:(CGFloat)scaleFactor;
++ (NSCursor *)dateSelfSignCursor:(CGFloat)scaleFactor;
++ (NSCursor *)textSelfSignCursor:(CGFloat)scaleFactor;
 
 @end

+ 633 - 2
PDF Office/PDF Office/Class/PDFWindowController/PDFListView/AppKitCategories/NSCursor_CExtensions.m

@@ -13,13 +13,195 @@
 #import "NSCursor_CExtensions.h"
 
 #import "NSImage_CExtensions.h"
+#import "CStringConstants.h"
+#import "NSUserDefaults_Extensions.h"
+
+static NSCursor *strikeOutNoteCursor = nil;
+static NSCursor *highlightNoteCursor = nil;
+static NSCursor *underlineNoteCursor = nil;
+static NSCursor *inkNoteCursor = nil;
+static NSCursor *squareCursor = nil;
+static NSCursor *circleCursor = nil;
+static NSCursor *arrowCursor = nil;
+static NSCursor *lineCursor = nil;
+
+static NSCursor *radioFormCursor = nil;
+static NSCursor *checkFormCursor = nil;
+static NSCursor *textFieldFormCursor = nil;
+static NSCursor *listBoxFormCursor = nil;
+static NSCursor *comboBoxFormCursor = nil;
+static NSCursor *actionButtonFormCursor = nil;
+static NSCursor *signatureFormCursor = nil;
+
+static NSCursor *dotSelfSignCursor = nil;
+static NSCursor *circelSelfSignCursor = nil;
+static NSCursor *lineSelfSignCursor = nil;
+static NSCursor *tureSelfSignCursor = nil;
+static NSCursor *falseSelfSignCursor = nil;
+static NSCursor *dateSelfSignCursor = nil;
+static NSCursor *textSelfSignCursor = nil;
 
 @implementation NSCursor (SKExtensions)
 
++ (void)addObserverForUserDefault {
+    NSNotificationCenter *center = [NSNotificationCenter defaultCenter];
+    [center addObserver:[NSCursor class]
+               selector:@selector(defaultsChanged:)
+                   name:NSUserDefaultsDidChangeNotification
+                 object:nil];
+}
+
++ (void)addObserverForScaleChanged {
+    NSNotificationCenter *center = [NSNotificationCenter defaultCenter];
+    [center addObserver:[NSCursor class]
+               selector:@selector(scaleChanged:)
+                   name:@"PDFViewScaleChanged"
+                 object:nil];
+}
+
++ (void)defaultsChanged:(id)sender {
+    highlightNoteCursor = nil;
+    underlineNoteCursor = nil;
+    strikeOutNoteCursor = nil;
+    inkNoteCursor = nil;
+    squareCursor = nil;
+    circleCursor = nil;
+    arrowCursor = nil;
+    lineCursor = nil;
+    [[NSNotificationCenter defaultCenter] removeObserver:[NSCursor class]];
+}
+
++ (void)scaleChanged:(id)sender {
+    radioFormCursor = nil;
+    checkFormCursor = nil;
+    textFieldFormCursor = nil;
+    listBoxFormCursor = nil;
+    comboBoxFormCursor = nil;
+    actionButtonFormCursor = nil;
+    signatureFormCursor = nil;
+    
+    dotSelfSignCursor = nil;
+    circelSelfSignCursor = nil;
+    lineSelfSignCursor = nil;
+    tureSelfSignCursor = nil;
+    falseSelfSignCursor = nil;
+    dateSelfSignCursor = nil;
+    textSelfSignCursor = nil;
+    
+    [[NSNotificationCenter defaultCenter] removeObserver:[NSCursor class]];
+}
+
++ (NSImage *)chairCursorImage:(NSImage *)image {
+    NSSize cursorSize = NSMakeSize(28, 40);
+    NSImage *cursorImage = [NSImage bitmapCImageWithSize:cursorSize scale:2.0 drawingHandler:^(NSRect rect){
+        NSImage *arrowCursor = [[NSCursor crosshairCursor] image];
+        [arrowCursor drawAtPoint:NSMakePoint(0.0, cursorSize.height - arrowCursor.size.height)
+                        fromRect:NSZeroRect
+                       operation:NSCompositeSourceOver
+                        fraction:1.0];
+        
+        CGFloat deltaX = 3.0;
+        NSAffineTransform *transform = [NSAffineTransform transform];
+        [transform translateXBy:deltaX yBy:0.0];
+        [transform concat];
+        
+        NSSize size = NSMakeSize(cursorSize.width - deltaX, cursorSize.height - arrowCursor.size.height);
+        if (image.size.width/image.size.height < size.width/size.height) {
+            size.width = image.size.width/image.size.height*size.height;
+        } else {
+            size.height = image.size.height/image.size.width*size.width;
+        }
+        [image drawInRect:NSMakeRect(cursorSize.width - deltaX - size.width,
+                                     cursorSize.height - arrowCursor.size.height - size.height,
+                                     size.width, size.height)
+                 fromRect:NSZeroRect
+                operation:NSCompositeSourceOver
+                 fraction:1.0];
+    }];
+    return cursorImage;
+}
+
++ (NSImage *)IBeamCursorImage:(NSImage *)image {
+    NSSize cursorSize = NSMakeSize(28
+                                   , 35);
+    NSImage *cursorImage = [NSImage bitmapCImageWithSize:cursorSize scale:2.0 drawingHandler:^(NSRect rect){
+        NSImage *arrowCursor = [[NSCursor IBeamCursor] image];
+        [arrowCursor drawAtPoint:NSMakePoint(0.0, cursorSize.height - arrowCursor.size.height)
+                        fromRect:NSZeroRect
+                       operation:NSCompositeSourceOver
+                        fraction:1.0];
+        
+        CGFloat deltaX = 3.0;
+        NSAffineTransform *transform = [NSAffineTransform transform];
+        [transform translateXBy:deltaX yBy:0.0];
+        [transform concat];
+        
+        NSSize size = NSMakeSize(cursorSize.width - deltaX, cursorSize.height - arrowCursor.size.height);
+        if (image.size.width/image.size.height < size.width/size.height) {
+            size.width = image.size.width/image.size.height*size.height;
+        } else {
+            size.height = image.size.height/image.size.width*size.width;
+        }
+        [image drawInRect:NSMakeRect(cursorSize.width - deltaX - size.width,
+                                     cursorSize.height - arrowCursor.size.height - size.height,
+                                     size.width, size.height)
+                 fromRect:NSZeroRect
+                operation:NSCompositeSourceOver
+                 fraction:1.0];
+    }];
+    return cursorImage;
+}
+
++ (NSImage *)arrowCursorImage:(NSImage *)image {
+    NSSize cursorSize = NSMakeSize(28, 40);
+    NSImage *cursorImage = [NSImage bitmapCImageWithSize:cursorSize scale:2.0  drawingHandler:^(NSRect rect){
+        NSImage *arrowCursor = [[NSCursor arrowCursor] image];
+        [arrowCursor drawAtPoint:NSMakePoint(0.0, cursorSize.height - arrowCursor.size.height)
+                        fromRect:NSZeroRect
+                       operation:NSCompositeSourceOver
+                        fraction:1.0];
+        
+        CGFloat deltaX = 3.0;
+        NSAffineTransform *transform = [NSAffineTransform transform];
+        [transform translateXBy:deltaX yBy:0.0];
+        [transform concat];
+        
+        NSSize size = NSMakeSize(cursorSize.width - deltaX, cursorSize.height - arrowCursor.size.height);
+        if (image.size.width/image.size.height < size.width/size.height) {
+            size.width = image.size.width/image.size.height*size.height;
+        } else {
+            size.height = image.size.height/image.size.width*size.width;
+        }
+        [image drawInRect:NSMakeRect(cursorSize.width - deltaX - size.width,
+                                     cursorSize.height - arrowCursor.size.height - size.height,
+                                     size.width, size.height)
+                 fromRect:NSZeroRect
+                operation:NSCompositeSourceOver
+                 fraction:1.0];
+    }];
+    return cursorImage;
+}
+
++ (NSImage *)scaleImage:(NSImage *)sourceImage scaleFactor:(CGFloat)scaleFactor {
+    CGFloat width = sourceImage.size.width;
+    CGFloat height = sourceImage.size.height;
+    CGFloat scaledWidth = width * scaleFactor;
+    CGFloat scaledHeight = height * scaleFactor;
+    NSImage *newImage = [[NSImage alloc] initWithSize:NSMakeSize(scaledWidth, scaledHeight)];
+    CGRect thumbnailRect = {0,0, {scaledWidth, scaledHeight}};
+    NSRect imageRect = NSMakeRect(0.0, 0.0, width, height);
+
+    [newImage lockFocus];
+    [sourceImage drawInRect:thumbnailRect fromRect:imageRect operation:NSCompositeCopy fraction:1.0];
+    [newImage unlockFocus];
+
+    return newImage;
+}
+
 + (NSCursor *)zoomInCursor {
     static NSCursor *zoomInCursor = nil;
     if (nil == zoomInCursor) {
-        NSImage *cursorImage = [[NSImage imageNamed:CImageNameZoomInCursor] copy];
+        NSImage *cursorImage = [[NSImage imageNamed:CPDFListViewImageNameZoomInCursor] copy];
         zoomInCursor = [[NSCursor alloc] initWithImage:cursorImage hotSpot:NSMakePoint(6.0, 6.0)];
     }
     return zoomInCursor;
@@ -28,10 +210,459 @@
 + (NSCursor *)zoomOutCursor {
     static NSCursor *zoomOutCursor = nil;
     if (nil == zoomOutCursor) {
-        NSImage *cursorImage = [[NSImage imageNamed:CImageNameZoomOutCursor] copy];
+        NSImage *cursorImage = [[NSImage imageNamed:CPDFListViewImageNameZoomOutCursor] copy];
         zoomOutCursor = [[NSCursor alloc] initWithImage:cursorImage hotSpot:NSMakePoint(6.0, 6.0)];
     }
     return zoomOutCursor;
 }
 
++ (NSCursor *)resizeDiagonal45Cursor {
+    static NSCursor *resizeDiagonal45Cursor = nil;
+    if (nil == resizeDiagonal45Cursor) {
+        NSImage *cursorImage = [[NSImage imageNamed:CPDFListViewImageNameResizeDiagonal45Cursor] copy];
+        resizeDiagonal45Cursor = [[NSCursor alloc] initWithImage:cursorImage hotSpot:NSMakePoint(8.0, 8.0)];
+    }
+    return resizeDiagonal45Cursor;
+}
+
++ (NSCursor *)resizeDiagonal135Cursor {
+    static NSCursor *resizeDiagonal135Cursor = nil;
+    if (nil == resizeDiagonal135Cursor) {
+        NSImage *cursorImage = [[NSImage imageNamed:CPDFListViewImageNameResizeDiagonal135Cursor] copy];
+        resizeDiagonal135Cursor = [[NSCursor alloc] initWithImage:cursorImage hotSpot:NSMakePoint(8.0, 8.0)];
+    }
+    return resizeDiagonal135Cursor;
+}
+
++ (NSCursor *)textNoteCursor {
+    static NSCursor *textNoteCursor = nil;
+    if (nil == textNoteCursor) {
+        NSImage *cursorImage = [[NSImage imageNamed:CPDFListViewImageNameCursorsText] copy];
+        cursorImage = [NSCursor arrowCursorImage:cursorImage];
+        textNoteCursor = [[NSCursor alloc] initWithImage:cursorImage hotSpot:[[self arrowCursor] hotSpot]];
+    }
+    return textNoteCursor;
+}
+
++ (NSCursor *)anchoredNoteCursor {
+    static NSCursor *anchoredNoteCursor = nil;
+    if (nil == anchoredNoteCursor) {
+        NSImage *cursorImage = [[NSImage imageNamed:CPDFListViewImageNameCursorsNote] copy];
+        cursorImage = [NSCursor arrowCursorImage:cursorImage];
+        anchoredNoteCursor = [[NSCursor alloc] initWithImage:cursorImage hotSpot:[[self arrowCursor] hotSpot]];
+    }
+    return anchoredNoteCursor;
+}
+
++ (NSCursor *)circleNoteCursor {
+    if (circleCursor == nil) {
+        [NSCursor addObserverForUserDefault];
+        NSImage *image = [[NSImage alloc] initWithSize:CGSizeMake(12, 12)];
+        NSColor *color = [[NSUserDefaults standardUserDefaults] colorForKey:CCircleNoteColorKey];
+        color = [color colorUsingColorSpaceName:NSCalibratedRGBColorSpace];
+        color = [NSColor colorWithRed:color.redComponent green:color.greenComponent blue:color.blueComponent alpha:0.7];
+        [image lockFocus];
+        
+        
+        CGContextRef ref2 = [NSGraphicsContext currentContext].graphicsPort;
+        
+        CGContextSaveGState(ref2);
+        CGContextAddArc(ref2, 6, 6, 5, 0, M_PI * 2, 0);
+        CGContextSetLineWidth(ref2, 2);
+        CGContextSetStrokeColorWithColor(ref2, [NSColor whiteColor].CGColor);
+        CGContextSetLineWidth(ref2, 2);
+        CGContextStrokePath(ref2);
+        CGContextRestoreGState(ref2);
+        
+        CGContextSaveGState(ref2);
+        CGContextAddArc(ref2, 6, 6, 5, 0, M_PI * 2, 0);
+        CGContextSetLineWidth(ref2, 1);
+        CGContextSetStrokeColorWithColor(ref2, color.CGColor);
+        CGContextStrokePath(ref2);
+        CGContextRestoreGState(ref2);
+        
+        [image unlockFocus];
+        
+        image = [NSCursor chairCursorImage:image];
+        circleCursor = [[NSCursor alloc] initWithImage:image hotSpot:[[self arrowCursor] hotSpot]];
+    }
+    return circleCursor;
+}
+
++ (NSCursor *)squareNoteCursor {
+    if (nil == squareCursor) {
+        [NSCursor addObserverForUserDefault];
+        NSImage *image = [[NSImage alloc] initWithSize:CGSizeMake(12, 12)];
+    
+        NSColor *color = [[NSUserDefaults standardUserDefaults] colorForKey:CSquareNoteColorKey];
+        color = [color colorUsingColorSpaceName:NSCalibratedRGBColorSpace];
+        color = [NSColor colorWithRed:color.redComponent green:color.greenComponent blue:color.blueComponent alpha:0.7];
+        [image lockFocus];
+        CGContextRef ref2 = [NSGraphicsContext currentContext].graphicsPort;
+        
+        CGContextSaveGState(ref2);
+        CGContextTranslateCTM(ref2, 2, 2);
+        CGContextAddRect(ref2, CGRectMake(0, 0, 8, 6));
+        CGContextSetStrokeColorWithColor(ref2, [NSColor whiteColor].CGColor);
+        CGContextSetLineWidth(ref2, 2);
+        CGContextStrokePath(ref2);
+        CGContextRestoreGState(ref2);
+        
+        CGContextSaveGState(ref2);
+        CGContextTranslateCTM(ref2, 2, 2);
+        CGContextAddRect(ref2, CGRectMake(0, 0, 8, 6));
+        CGContextSetStrokeColorWithColor(ref2, color.CGColor);
+        CGContextSetLineWidth(ref2, 1);
+        CGContextStrokePath(ref2);
+        CGContextSaveGState(ref2);
+        [image unlockFocus];
+        image = [NSCursor chairCursorImage:image];
+        squareCursor = [[NSCursor alloc] initWithImage:image hotSpot:[[self arrowCursor] hotSpot]];
+    }
+    return squareCursor;
+}
+
++ (NSCursor *)highlightNoteCursor {
+    if (nil == highlightNoteCursor) {
+        [NSCursor addObserverForUserDefault];
+    
+        NSColor *color = [[NSUserDefaults standardUserDefaults] colorForKey:CHighlightNoteColorKey];
+        color = [color colorUsingColorSpaceName:NSCalibratedRGBColorSpace];
+        color = [NSColor colorWithRed:color.redComponent green:color.greenComponent blue:color.blueComponent alpha:0.7];
+        
+        NSImage *baseImage = [[NSImage imageNamed:CPDFListViewImageNameCursorsHighlight] copy];
+        NSImage *image = [[NSImage alloc] initWithSize:baseImage.size];
+        
+        [image lockFocus];
+        CGContextRef ref2 = [NSGraphicsContext currentContext].graphicsPort;
+        CGContextSaveGState(ref2);;
+        [color setFill];
+        
+        CGContextMoveToPoint(ref2, 0, 1);
+        CGContextAddLineToPoint(ref2, 1.5, image.size.height -1);
+        CGContextAddLineToPoint(ref2, image.size.width, image.size.height -1);
+        CGContextAddLineToPoint(ref2, image.size.width - 1.5, 1);
+        CGContextFillPath(ref2);
+        
+        [baseImage drawInRect:CGRectMake(0, 0, image.size.width, image.size.height)];
+        CGContextRestoreGState(ref2);
+        [image unlockFocus];
+        NSImage *cursorImage = image;
+        cursorImage = [NSCursor IBeamCursorImage:cursorImage];
+        highlightNoteCursor = [[NSCursor alloc] initWithImage:cursorImage hotSpot:[[self arrowCursor] hotSpot]];
+    }
+    return highlightNoteCursor;
+}
+
++ (NSCursor *)underlineNoteCursor {
+    if (nil == underlineNoteCursor) {
+        [NSCursor addObserverForUserDefault];
+        NSColor *underlineColor = [[NSUserDefaults standardUserDefaults] colorForKey:CUnderlineNoteColorKey];
+        
+        NSImage *image = [[NSImage imageNamed:CPDFListViewImageNameCursorsUnderline] copy];
+        [image lockFocus];
+        CGContextRef ref1 = [NSGraphicsContext currentContext].graphicsPort;
+        CGContextSaveGState(ref1);
+        CGContextBeginPath(ref1);
+        CGContextMoveToPoint(ref1, 0, 1);
+        CGContextAddLineToPoint(ref1, image.size.width, 1);
+        underlineColor = [underlineColor colorUsingColorSpaceName:NSCalibratedRGBColorSpace];
+        NSColor *newUnderlineColor = [NSColor colorWithRed:underlineColor.redComponent green:underlineColor.greenComponent blue:underlineColor.blueComponent alpha:1];
+        [newUnderlineColor set];
+        CGContextSetLineWidth(ref1, 2);
+        CGContextStrokePath(ref1);
+        CGContextRestoreGState(ref1);
+        [image unlockFocus];
+        
+        NSImage *cursorImage = image;
+        cursorImage = [NSCursor IBeamCursorImage:cursorImage];
+        underlineNoteCursor = [[NSCursor alloc] initWithImage:cursorImage hotSpot:[[self arrowCursor] hotSpot]];
+    }
+    return underlineNoteCursor;
+}
+
++ (NSCursor *)strikeOutNoteCursor {
+    if (nil == strikeOutNoteCursor) {
+        [NSCursor addObserverForUserDefault];
+        NSColor *strikenOutColor = [[NSUserDefaults standardUserDefaults] colorForKey:CStrikeOutNoteColorKey];
+        NSImage *image = [[NSImage imageNamed:CPDFListViewImageNameCursorsStrikeout] copy];
+        [image lockFocus];
+        CGContextRef ref = [NSGraphicsContext currentContext].graphicsPort;
+        CGContextSaveGState(ref);
+        CGContextBeginPath(ref);
+        CGContextMoveToPoint(ref, 0, image.size.height/2);
+        CGContextAddLineToPoint(ref, image.size.width, image.size.height/2);
+        strikenOutColor = [strikenOutColor colorUsingColorSpaceName:NSCalibratedRGBColorSpace];
+        NSColor *strikenColor = [NSColor colorWithRed:strikenOutColor.redComponent green:strikenOutColor.greenComponent blue:strikenOutColor.blueComponent alpha:1];
+        [strikenColor set];
+        CGContextSetLineWidth(ref, 1);
+        CGContextStrokePath(ref);
+        CGContextRestoreGState(ref);
+        [image unlockFocus];
+        NSImage *cursorImage = image;
+        cursorImage = [NSCursor IBeamCursorImage:cursorImage];
+        strikeOutNoteCursor = [[NSCursor alloc] initWithImage:cursorImage hotSpot:[[self arrowCursor] hotSpot]];
+    }
+    return strikeOutNoteCursor;
+}
+
++ (NSCursor *)arrowNoteCursor {
+    if (nil == arrowCursor) {
+        [NSCursor addObserverForUserDefault];
+        NSImage *image = [[NSImage alloc] initWithSize:CGSizeMake(12, 12)];;
+        NSColor *color = [[NSUserDefaults standardUserDefaults] colorForKey:CLineNoteColorKey];
+        color = [color colorUsingColorSpaceName:NSCalibratedRGBColorSpace];
+        color = [NSColor colorWithRed:color.redComponent green:color.greenComponent blue:color.blueComponent alpha:1];
+        
+        [image lockFocus];
+        CGContextRef ref2 = [NSGraphicsContext currentContext].graphicsPort;
+        CGContextSaveGState(ref2);
+        CGContextTranslateCTM(ref2, 2, 2);
+        CGContextMoveToPoint(ref2, 0, 0);
+        CGContextAddLineToPoint(ref2, 8, 8);
+        CGContextSetStrokeColorWithColor(ref2, [NSColor whiteColor].CGColor);
+        CGContextMoveToPoint(ref2, 4, 8);
+        CGContextAddLineToPoint(ref2, 8, 8);
+        CGContextAddLineToPoint(ref2, 8, 4);
+        CGContextSetLineWidth(ref2, 2);
+        CGContextStrokePath(ref2);
+        CGContextRestoreGState(ref2);
+        
+        CGContextSaveGState(ref2);
+        CGContextTranslateCTM(ref2, 2, 2);
+        CGContextMoveToPoint(ref2, 0, 0);
+        CGContextAddLineToPoint(ref2, 8, 8);
+        CGContextSetStrokeColorWithColor(ref2, color.CGColor);
+        CGContextMoveToPoint(ref2, 4, 8);
+        CGContextAddLineToPoint(ref2, 8, 8);
+        CGContextAddLineToPoint(ref2, 8, 4);
+        CGContextStrokePath(ref2);
+        CGContextRestoreGState(ref2);
+        
+        [image unlockFocus];
+        
+        image = [NSCursor arrowCursorImage:image];
+        arrowCursor = [[NSCursor alloc] initWithImage:image hotSpot:[[self arrowCursor] hotSpot]];
+    }
+    return arrowCursor;
+}
+
++ (NSCursor *)lineNoteCursor {
+    if (nil == lineCursor) {
+        [NSCursor addObserverForUserDefault];
+        NSImage *image = [[NSImage alloc] initWithSize:CGSizeMake(12, 12)];;
+        NSColor *color = [[NSUserDefaults standardUserDefaults] colorForKey:CArrowNoteColorKey];
+        color = [color colorUsingColorSpaceName:NSCalibratedRGBColorSpace];
+        color = [NSColor colorWithRed:color.redComponent green:color.greenComponent blue:color.blueComponent alpha:1];
+        
+        [image lockFocus];
+
+        CGContextRef ref2 = [NSGraphicsContext currentContext].graphicsPort;
+        CGContextSaveGState(ref2);
+        CGContextTranslateCTM(ref2, 2, 2);
+        CGContextMoveToPoint(ref2, 0, 0);
+        CGContextAddLineToPoint(ref2, 8, 8);
+        CGContextSetStrokeColorWithColor(ref2, [NSColor whiteColor].CGColor);
+        CGContextSetLineWidth(ref2, 2);
+        CGContextStrokePath(ref2);
+        
+        CGContextMoveToPoint(ref2, 0, 0);
+        CGContextAddLineToPoint(ref2, 8, 8);
+        CGContextSetStrokeColorWithColor(ref2, color.CGColor);
+        CGContextSetLineWidth(ref2, 1);
+        CGContextStrokePath(ref2);
+     
+        
+        CGContextRestoreGState(ref2);
+        
+        [image unlockFocus];
+        image = [NSCursor arrowCursorImage:image];
+        lineCursor = [[NSCursor alloc] initWithImage:image hotSpot:[[self arrowCursor] hotSpot]];
+    }
+    return lineCursor;
+}
+
++ (NSCursor *)inkNoteCursor {
+    if (nil == inkNoteCursor) {
+        [NSCursor addObserverForUserDefault];
+        NSColor *inkColor = [[NSUserDefaults standardUserDefaults] colorForKey:CInkNoteColorKey];
+        NSImage *image = [[NSImage imageNamed:CPDFListViewImageNameCursorsFreehand] copy];
+        
+        [image lockFocus];
+        CGContextRef ref3 = [NSGraphicsContext currentContext].graphicsPort;
+        CGContextSaveGState(ref3);
+        CGContextBeginPath(ref3);
+        CGContextMoveToPoint(ref3, 3, 4);
+        CGContextAddCurveToPoint(ref3, image.size.width/2, -5,  3 * image.size.width/4, 3 * image.size.width/4, image.size.width, 4);
+        CGContextSetLineWidth(ref3, 1);
+        inkColor = [inkColor colorUsingColorSpaceName:NSCalibratedRGBColorSpace];
+        NSColor *newInkColor = [NSColor colorWithRed:inkColor.redComponent green:inkColor.greenComponent blue:inkColor.blueComponent alpha:1];
+        [newInkColor set];
+        CGContextStrokePath(ref3);
+        CGContextRestoreGState(ref3);
+        [image unlockFocus];
+        
+        
+        NSImage *cursorImage = image;
+        cursorImage = [NSCursor arrowCursorImage:cursorImage];
+        inkNoteCursor = [[NSCursor alloc] initWithImage:cursorImage hotSpot:[[self arrowCursor] hotSpot]];
+    }
+    return inkNoteCursor;
+}
+
++ (NSCursor *)linkNoteCursor {
+    static NSCursor *linkNoteCursor = nil;
+    if (nil == linkNoteCursor) {
+        NSImage *cursorImage = [[NSImage imageNamed:CPDFListViewImageNameCursorsLink] copy];
+        cursorImage = [NSCursor arrowCursorImage:cursorImage];
+        linkNoteCursor = [[NSCursor alloc] initWithImage:cursorImage hotSpot:[[self arrowCursor] hotSpot]];
+    }
+    return linkNoteCursor;
+}
+
+#pragma mark - Form cursor
+
++ (NSCursor *)radioFormCursor:(CGFloat)scaleFactor {
+    [NSCursor addObserverForScaleChanged];
+    if (nil == radioFormCursor) {
+        NSImage *cursorImage = [[NSImage imageNamed:CPDFListViewImageNameCursorsRadiobutton] copy];
+        cursorImage = [NSCursor scaleImage:cursorImage scaleFactor:scaleFactor];
+        radioFormCursor = [[NSCursor alloc] initWithImage:cursorImage hotSpot:[[self arrowCursor] hotSpot]];
+    }
+    return radioFormCursor;
+}
+
++ (NSCursor *)checkFormCursor:(CGFloat)scaleFactor {
+    [NSCursor addObserverForScaleChanged];
+    if (nil == checkFormCursor) {
+        NSImage *cursorImage = [[NSImage imageNamed:CPDFListViewImageNameCursorsCheckbox] copy];
+        cursorImage = [NSCursor scaleImage:cursorImage scaleFactor:scaleFactor];
+        checkFormCursor = [[NSCursor alloc] initWithImage:cursorImage hotSpot:[[self arrowCursor] hotSpot]];
+    }
+    return checkFormCursor;
+}
+
++ (NSCursor *)textFieldFormCursor:(CGFloat)scaleFactor {
+    [NSCursor addObserverForScaleChanged];
+    if (nil == textFieldFormCursor) {
+        NSImage *cursorImage = [[NSImage imageNamed:CPDFListViewImageNameCursorsTextfield] copy];
+        cursorImage = [NSCursor scaleImage:cursorImage scaleFactor:scaleFactor];
+        textFieldFormCursor = [[NSCursor alloc] initWithImage:cursorImage hotSpot:[[self arrowCursor] hotSpot]];
+    }
+    return textFieldFormCursor;
+}
+
++ (NSCursor *)listBoxFormCursor:(CGFloat)scaleFactor {
+    [NSCursor addObserverForScaleChanged];
+    if (nil == listBoxFormCursor) {
+        NSImage *cursorImage = [[NSImage imageNamed:CPDFListViewImageNameCursorsListbox] copy];
+        cursorImage = [NSCursor scaleImage:cursorImage scaleFactor:scaleFactor];
+        listBoxFormCursor = [[NSCursor alloc] initWithImage:cursorImage hotSpot:[[self arrowCursor] hotSpot]];
+    }
+    return listBoxFormCursor;
+}
+
++ (NSCursor *)comboBoxFormCursor:(CGFloat)scaleFactor {
+    [NSCursor addObserverForScaleChanged];
+    if (nil == comboBoxFormCursor) {
+        NSImage *cursorImage = [[NSImage imageNamed:CPDFListViewImageNameCursorsPulldownmenu] copy];
+        cursorImage = [NSCursor scaleImage:cursorImage scaleFactor:scaleFactor];
+        comboBoxFormCursor = [[NSCursor alloc] initWithImage:cursorImage hotSpot:[[self arrowCursor] hotSpot]];
+    }
+    return comboBoxFormCursor;
+}
+
++ (NSCursor *)actionButtonFormCursor:(CGFloat)scaleFactor {
+    [NSCursor addObserverForScaleChanged];
+    if (nil == actionButtonFormCursor) {
+        NSImage *cursorImage = [[NSImage imageNamed:CPDFListViewImageNameCursorsButton] copy];
+        cursorImage = [NSCursor scaleImage:cursorImage scaleFactor:scaleFactor];
+        actionButtonFormCursor = [[NSCursor alloc] initWithImage:cursorImage hotSpot:[[self arrowCursor] hotSpot]];
+    }
+    return actionButtonFormCursor;
+}
+
++ (NSCursor *)signatureFormCursor:(CGFloat)scaleFactor {
+    [NSCursor addObserverForScaleChanged];
+    if (nil == signatureFormCursor) {
+        NSImage *cursorImage = [[NSImage imageNamed:CPDFListViewImageNameCursorsSign] copy];
+        cursorImage = [NSCursor scaleImage:cursorImage scaleFactor:scaleFactor];
+        signatureFormCursor = [[NSCursor alloc] initWithImage:cursorImage hotSpot:[[self arrowCursor] hotSpot]];
+    }
+    return signatureFormCursor;
+}
+
+#pragma mark - selfSignCursor
+
++ (NSCursor *)dotSelfSignCursor:(CGFloat)scaleFactor {
+    [NSCursor addObserverForScaleChanged];
+    if (dotSelfSignCursor == nil) {
+        NSImage *cursorImage = [[NSImage imageNamed:CPDFListViewImageNameCursorsPoint] copy];
+        cursorImage = [NSCursor scaleImage:cursorImage scaleFactor:scaleFactor];
+        dotSelfSignCursor = [[NSCursor alloc] initWithImage:cursorImage hotSpot:[[self arrowCursor] hotSpot]];
+    }
+    return dotSelfSignCursor;
+}
+
++ (NSCursor *)circelSelfSignCursor:(CGFloat)scaleFactor {
+    [NSCursor addObserverForScaleChanged];
+    if (circelSelfSignCursor == nil) {
+        NSImage *cursorImage = [[NSImage imageNamed:CPDFListViewImageNameCursorsRoundedrec] copy];
+        cursorImage = [NSCursor scaleImage:cursorImage scaleFactor:scaleFactor];
+        circelSelfSignCursor = [[NSCursor alloc] initWithImage:cursorImage hotSpot:[[self arrowCursor] hotSpot]];
+    }
+    return circelSelfSignCursor;
+}
+
++ (NSCursor *)lineSelfSignCursor:(CGFloat)scaleFactor {
+    [NSCursor addObserverForScaleChanged];
+    if (lineSelfSignCursor == nil) {
+        NSImage *cursorImage = [[NSImage imageNamed:CPDFListViewImageNameCursorsFormLine] copy];
+        cursorImage = [NSCursor scaleImage:cursorImage scaleFactor:scaleFactor];
+        lineSelfSignCursor = [[NSCursor alloc] initWithImage:cursorImage hotSpot:[[self arrowCursor] hotSpot]];
+    }
+    return lineSelfSignCursor;
+}
+
++ (NSCursor *)tureSelfSignCursor:(CGFloat)scaleFactor {
+    [NSCursor addObserverForScaleChanged];
+    if (tureSelfSignCursor == nil) {
+        NSImage *cursorImage = [[NSImage imageNamed:CPDFListViewImageNameCursorsTick] copy];
+        cursorImage = [NSCursor scaleImage:cursorImage scaleFactor:scaleFactor];
+        tureSelfSignCursor = [[NSCursor alloc] initWithImage:cursorImage hotSpot:[[self arrowCursor] hotSpot]];
+    }
+    return tureSelfSignCursor;
+}
+
++ (NSCursor *)falseSelfSignCursor:(CGFloat)scaleFactor {
+    [NSCursor addObserverForScaleChanged];
+    if (falseSelfSignCursor == nil) {
+        NSImage *cursorImage = [[NSImage imageNamed:CPDFListViewImageNameCursorsFork] copy];
+        cursorImage = [NSCursor scaleImage:cursorImage scaleFactor:scaleFactor];
+        falseSelfSignCursor = [[NSCursor alloc] initWithImage:cursorImage hotSpot:[[self arrowCursor] hotSpot]];
+    }
+    return falseSelfSignCursor;
+}
+
++ (NSCursor *)dateSelfSignCursor:(CGFloat)scaleFactor {
+    [NSCursor addObserverForScaleChanged];
+    if (dateSelfSignCursor == nil) {
+        NSImage *cursorImage = [[NSImage imageNamed:CPDFListViewImageNameCursorsDate] copy];
+        cursorImage = [NSCursor scaleImage:cursorImage scaleFactor:scaleFactor];
+        dateSelfSignCursor = [[NSCursor alloc] initWithImage:cursorImage hotSpot:[[self arrowCursor] hotSpot]];
+    }
+    return dateSelfSignCursor;
+}
+
++ (NSCursor *)textSelfSignCursor:(CGFloat)scaleFactor {
+    [NSCursor addObserverForScaleChanged];
+    if (textSelfSignCursor == nil) {
+        NSImage *cursorImage = [[NSImage imageNamed:CPDFListViewImageNameCursorsText] copy];
+        cursorImage = [NSCursor scaleImage:cursorImage scaleFactor:scaleFactor];
+        textSelfSignCursor = [[NSCursor alloc] initWithImage:cursorImage hotSpot:[[self arrowCursor] hotSpot]];
+    }
+    return textSelfSignCursor;
+}
+
+
 @end

+ 31 - 6
PDF Office/PDF Office/Class/PDFWindowController/PDFListView/AppKitCategories/NSImage_CExtensions.h

@@ -14,14 +14,39 @@
 
 @interface NSImage (CExtensions)
 
-extern NSString *CImageNameResizeDiagonal45Cursor;
-extern NSString *CImageNameResizeDiagonal135Cursor;
-extern NSString *CImageNameZoomInCursor;
-extern NSString *CImageNameZoomOutCursor;
-extern NSString *CImageNameCameraCursor;
+extern NSString *CPDFListViewImageNameResizeDiagonal45Cursor;
+extern NSString *CPDFListViewImageNameResizeDiagonal135Cursor;
+extern NSString *CPDFListViewImageNameZoomInCursor;
+extern NSString *CPDFListViewImageNameZoomOutCursor;
+
+extern NSString *CPDFListViewImageNameCursorsUnderline;
+extern NSString *CPDFListViewImageNameCursorsHighlight;
+extern NSString *CPDFListViewImageNameCursorsStrikeout;
+extern NSString *CPDFListViewImageNameCursorsFreehand;
+extern NSString *CPDFListViewImageNameCursorsText;
+extern NSString *CPDFListViewImageNameCursorsNote;
+extern NSString *CPDFListViewImageNameCursorsRec;
+extern NSString *CPDFListViewImageNameCursorsOval;
+extern NSString *CPDFListViewImageNameCursorsArrow;
+extern NSString *CPDFListViewImageNameCursorsLink;
+extern NSString *CPDFListViewImageNameCursorsLine;
+
+extern NSString *CPDFListViewImageNameCursorsButton;
+extern NSString *CPDFListViewImageNameCursorsCheckbox;
+extern NSString *CPDFListViewImageNameCursorsDate;
+extern NSString *CPDFListViewImageNameCursorsFork;
+extern NSString *CPDFListViewImageNameCursorsFormLine;
+extern NSString *CPDFListViewImageNameCursorsListbox;
+extern NSString *CPDFListViewImageNameCursorsPoint;
+extern NSString *CPDFListViewImageNameCursorsPulldownmenu;
+extern NSString *CPDFListViewImageNameCursorsRadiobutton;
+extern NSString *CPDFListViewImageNameCursorsRoundedrec;
+extern NSString *CPDFListViewImageNameCursorsSign;
+extern NSString *CPDFListViewImageNameCursorsTextfield;
+extern NSString *CPDFListViewImageNameCursorsTick;
 
 + (NSImage *)bitmapCImageWithSize:(NSSize)size scale:(CGFloat)scale drawingHandler:(void (^)(NSRect dstRect))drawingHandler;
 
-+ (void)makeCursorCImages;
++ (void)makePDFListViewCursorCImages;
 
 @end

+ 36 - 33
PDF Office/PDF Office/Class/PDFWindowController/PDFListView/AppKitCategories/NSImage_CExtensions.m

@@ -15,11 +15,37 @@
 #import "NSBitmapImageRep_CExtensions.h"
 #import "NSShadow_CExtensions.h"
 
-NSString *CImageNameResizeDiagonal45Cursor = @"ResizeDiagonal45Cursor";
-NSString *CImageNameResizeDiagonal135Cursor = @"ResizeDiagonal135Cursor";
-NSString *CImageNameZoomInCursor = @"ZoomInCursor";
-NSString *CImageNameZoomOutCursor = @"ZoomOutCursor";
-NSString *CImageNameCameraCursor = @"CameraCursor";
+NSString *CPDFListViewImageNameResizeDiagonal45Cursor = @"ResizeDiagonal45Cursor";
+NSString *CPDFListViewImageNameResizeDiagonal135Cursor = @"ResizeDiagonal135Cursor";
+NSString *CPDFListViewImageNameZoomInCursor = @"ZoomInCursor";
+NSString *CPDFListViewImageNameZoomOutCursor = @"ZoomOutCursor";
+
+NSString *CPDFListViewImageNameCursorsUnderline = @"CPDFListViewImageNameCursorsUnderline";
+NSString *CPDFListViewImageNameCursorsHighlight = @"CPDFListViewImageNameCursorsHighlight";
+NSString *CPDFListViewImageNameCursorsStrikeout = @"CPDFListViewImageNameCursorsStrikeout";
+NSString *CPDFListViewImageNameCursorsFreehand = @"CPDFListViewImageNameCursorsFreehand";
+NSString *CPDFListViewImageNameCursorsText = @"CPDFListViewImageNameCursorsText";
+NSString *CPDFListViewImageNameCursorsNote = @"CPDFListViewImageNameCursorsNote";
+NSString *CPDFListViewImageNameCursorsRec = @"CPDFListViewImageNameCursorsRec";
+NSString *CPDFListViewImageNameCursorsOval = @"CPDFListViewImageNameCursorsOval";
+NSString *CPDFListViewImageNameCursorsArrow = @"CPDFListViewImageNameCursorsArrow";
+NSString *CPDFListViewImageNameCursorsTable = @"CPDFListViewImageNameCursorsTable";
+NSString *CPDFListViewImageNameCursorsLink = @"CPDFListViewImageNameCursorsLink";
+NSString *CPDFListViewImageNameCursorsLine = @"CPDFListViewImageNameCursorsLine";
+
+NSString *CPDFListViewImageNameCursorsButton = @"CPDFListViewImageNameCursorsButton";
+NSString *CPDFListViewImageNameCursorsCheckbox = @"CPDFListViewImageNameCursorsCheckbox";
+NSString *CPDFListViewImageNameCursorsDate = @"CPDFListViewImageNameCursorsDate";
+NSString *CPDFListViewImageNameCursorsFork = @"CPDFListViewImageNameCursorsFork";
+NSString *CPDFListViewImageNameCursorsFormLine = @"CPDFListViewImageNameCursorsFormLine";
+NSString *CPDFListViewImageNameCursorsListbox = @"CPDFListViewImageNameCursorsListbox";
+NSString *CPDFListViewImageNameCursorsPoint = @"CPDFListViewImageNameCursorsPoint";
+NSString *CPDFListViewImageNameCursorsPulldownmenu = @"CPDFListViewImageNameCursorsPulldownmenu";
+NSString *CPDFListViewImageNameCursorsRadiobutton = @"CPDFListViewImageNameCursorsRadiobutton";
+NSString *CPDFListViewImageNameCursorsRoundedrec = @"CPDFListViewImageNameCursorsRoundedrec";
+NSString *CPDFListViewImageNameCursorsSign = @"CPDFListViewImageNameCursorsSign";
+NSString *CPDFListViewImageNameCursorsTextfield = @"CPDFListViewImageNameCursorsTextfield";
+NSString *CPDFListViewImageNameCursorsTick = @"CPDFListViewImageNameCursorsTick";
 
 #define MAKE_CURSOR_IMAGE(name, width, height, instructions) \
 do { \
@@ -50,8 +76,8 @@ instructions \
     return image;
 }
 
-+ (void)makeCursorCImages {
-    MAKE_CURSOR_IMAGE(CImageNameResizeDiagonal45Cursor, 16.0, 16.0,
++ (void)makePDFListViewCursorCImages {
+    MAKE_CURSOR_IMAGE(CPDFListViewImageNameResizeDiagonal45Cursor, 16.0, 16.0,
                       [[NSGraphicsContext currentContext] setImageInterpolation:NSImageInterpolationNone];
                       [[NSGraphicsContext currentContext] setShouldAntialias:NO];
                       [[NSColor whiteColor] setFill];
@@ -105,7 +131,7 @@ instructions \
                       [[NSGraphicsContext currentContext] setImageInterpolation:NSImageInterpolationDefault];
                       );
     
-    MAKE_CURSOR_IMAGE(CImageNameResizeDiagonal135Cursor, 16.0, 16.0,
+    MAKE_CURSOR_IMAGE(CPDFListViewImageNameResizeDiagonal135Cursor, 16.0, 16.0,
                       [[NSGraphicsContext currentContext] setImageInterpolation:NSImageInterpolationNone];
                       [[NSGraphicsContext currentContext] setShouldAntialias:NO];
                       [[NSColor whiteColor] setFill];
@@ -159,7 +185,7 @@ instructions \
                       [[NSGraphicsContext currentContext] setImageInterpolation:NSImageInterpolationDefault];
                       );
     
-    MAKE_CURSOR_IMAGE(CImageNameZoomInCursor, 18.0, 18.0,
+    MAKE_CURSOR_IMAGE(CPDFListViewImageNameZoomInCursor, 18.0, 18.0,
                       [[NSColor whiteColor] set];
                       NSBezierPath *path = [NSBezierPath bezierPathWithOvalInRect:NSMakeRect(1.0, 5.0, 13.0, 13.0)];
                       [path moveToPoint:NSMakePoint(14.5, 1.5)];
@@ -189,7 +215,7 @@ instructions \
                       [path stroke];
                       );
     
-    MAKE_CURSOR_IMAGE(CImageNameZoomOutCursor, 18.0, 18.0,
+    MAKE_CURSOR_IMAGE(CPDFListViewImageNameZoomOutCursor, 18.0, 18.0,
                       [[NSColor whiteColor] set];
                       NSBezierPath *path = [NSBezierPath bezierPathWithOvalInRect:NSMakeRect(1.0, 5.0, 13.0, 13.0)];
                       [path moveToPoint:NSMakePoint(14.5, 1.5)];
@@ -216,29 +242,6 @@ instructions \
                       [path setLineWidth:1.0];
                       [path stroke];
                       );
-    
-    MAKE_CURSOR_IMAGE(CImageNameCameraCursor, 18.0, 16.0,
-                      [[NSGraphicsContext currentContext] setImageInterpolation:NSImageInterpolationNone];
-                      [[NSColor whiteColor] set];
-                      NSBezierPath *path = [NSBezierPath bezierPathWithRect:NSMakeRect(1.0, 2.0, 16.0, 11.0)];
-                      [path appendBezierPathWithOvalInRect:NSMakeRect(4.7, 6.7, 8.6, 8.6)];
-                      [NSGraphicsContext saveGraphicsState];
-                      [NSShadow setCShadowWithColor:[NSColor colorWithCalibratedWhite:0.0 alpha:0.33333] blurRadius:1.0 yOffset:-1.0];
-                      [path fill];
-                      [NSGraphicsContext restoreGraphicsState];
-                      [[NSColor blackColor] set];
-                      path = [NSBezierPath bezierPathWithRect:NSMakeRect(2.0, 3.0, 14.0, 9.0)];
-                      [path appendBezierPathWithOvalInRect:NSMakeRect(6.0, 8.0, 6.0, 6.0)];
-                      [path fill];
-                      [[NSColor whiteColor] set];
-                      [[NSBezierPath bezierPathWithOvalInRect:NSMakeRect(5.3, 4.3, 7.4, 7.4)] stroke];
-                      path = [NSBezierPath bezierPath];
-                      [path appendBezierPathWithArcWithCenter:NSMakePoint(9.0, 8.0) radius:1.8 startAngle:45.0 endAngle:225.0];
-                      [path closePath];
-                      [path fill];
-                      [[NSGraphicsContext currentContext] setImageInterpolation:NSImageInterpolationDefault];
-                      );
-    
 }
 
 @end

+ 5 - 0
PDF Office/PDF Office/Class/PDFWindowController/PDFListView/CPDFKitExtensions/CPDFAnnotationExtensions/CPDFAnnotation+Extensions.h

@@ -53,4 +53,9 @@
 
 - (void)setDashPattern:(NSArray *)pattern;
 
+- (BOOL)isEditing;
+
+- (void)setIsEditing:(BOOL)isEditing;
+
+
 @end

+ 12 - 1
PDF Office/PDF Office/Class/PDFWindowController/PDFListView/CPDFKitExtensions/CPDFAnnotationExtensions/CPDFAnnotation+Extensions.m

@@ -15,6 +15,7 @@
 #import "CPDFListView+Tool.h"
 #import "CPDFListViewConfig.h"
 #import "CPDFListView+Private.h"
+#import <objc/runtime.h>
 
 @implementation CPDFAnnotation (Extensions)
 
@@ -73,7 +74,8 @@
 }
 
 - (CRectEdges)resizeHandleForPoint:(NSPoint)point scaleFactor:(CGFloat)scaleFactor {
-    NSRect rect = NSRectFromCGRect(CGRectInset(NSRectToCGRect([self bounds]), -5, -5));
+    NSNumber *offsetNum = [CPDFListViewConfig defaultManager].annotationBorderOffset;
+    NSRect rect = NSRectFromCGRect(CGRectInset(NSRectToCGRect([self bounds]), -(offsetNum.floatValue), -(offsetNum.floatValue)));
     return [self isResizable] ? CResizeHandleForPointFromRect(point, rect, 4.0 / scaleFactor) : 0;
 }
 
@@ -137,4 +139,13 @@
     [self setBorder:border];
 }
 
+- (BOOL)isEditing {
+    return [objc_getAssociatedObject(self , @"CPDFAnnotationIsEditingKey") boolValue];
+}
+
+- (void)setIsEditing:(BOOL)isEditing {
+    objc_setAssociatedObject(self, @"CPDFAnnotationIsEditingKey",@(isEditing), OBJC_ASSOCIATION_RETAIN);
+
+}
+
 @end

+ 4 - 0
PDF Office/PDF Office/Class/PDFWindowController/PDFListView/CPDFListView+Private.h

@@ -68,6 +68,10 @@ enum {
 
 @property (nonatomic,retain) NSPopover *popOver;
 
+@property (nonatomic,retain) NSPopover *hoverPopOver;
+
+@property (nonatomic, assign) BOOL selectZoomToolModeZoomOut;
+
 - (void)addAnnotation:(CPDFAnnotation *)annotation toPage:(CPDFPage *)page;
 
 - (void)addActiveAnnotations:(NSArray<CPDFAnnotation *> *)activeAnnotations;

+ 12 - 3
PDF Office/PDF Office/Class/PDFWindowController/PDFListView/CPDFListView.m

@@ -27,6 +27,7 @@
 #import "CPDFPage+Extensions.h"
 #import "CPDFListView+CExtension.h"
 #import "NSString_CExtensions.h"
+#import "NSImage_CExtensions.h"
 
 #import "CPDFListStampAnnotation+Private.h"
 #import "CPDFListSignatureAnnotation+Private.h"
@@ -114,6 +115,10 @@ NSNotificationName const CPDFListViewActiveAnnotationsChangeNotification = @"CPD
     
     // set them in the standard user defaults
     [[NSUserDefaults standardUserDefaults] registerDefaults:initialValuesDict];
+    
+    [self.window makeFirstResponder:self];
+    
+    [NSImage makePDFListViewCursorCImages];
 }
 
 -(void)setToolMode:(CToolMode)newToolMode {
@@ -131,13 +136,14 @@ NSNotificationName const CPDFListViewActiveAnnotationsChangeNotification = @"CPD
             if([self.pdfListViewDelegate respondsToSelector:@selector(PDFListViewChangedSelectionOrMagnification:)])
                 [self.pdfListViewDelegate PDFListViewChangedSelectionOrMagnification:self];
         }
-
         
         if(CFormToolMode == newToolMode || CFormToolMode == _toolMode)
             [self setNeedsDisplayAnnotationViewForVisiblePages];
         
         _toolMode = newToolMode;
         
+        self.selectZoomToolModeZoomOut = NO;
+
         if([self.pdfListViewDelegate respondsToSelector:@selector(PDFListViewChangedToolMode:forToolMode:)])
             [self.pdfListViewDelegate PDFListViewChangedToolMode:self forToolMode:newToolMode];
         
@@ -517,14 +523,15 @@ NSNotificationName const CPDFListViewActiveAnnotationsChangeNotification = @"CPD
             if (!self.popOver) {
                 _popOver = [[NSPopover alloc] init];
             }
+            __block typeof(self) blockSelf = self;
             _popOver.delegate = self;
             CPDFListEditAnnotationViewController *vc = [[CPDFListEditAnnotationViewController alloc] initWithNibName:@"CPDFListEditAnnotationViewController" bundle:[NSBundle mainBundle] annotation:annotation];
             _popOver.contentViewController = vc;
             vc.closeCallBack = ^{
-                [_popOver close];
+                [blockSelf.popOver close];
             };
             _popOver.animates = YES;
-
+            annotation.isEditing = YES;
             _popOver.behavior = NSPopoverBehaviorTransient;
             [_popOver showRelativeToRect:[self convertRect:annotation.bounds fromPage:annotation.page] ofView:self preferredEdge:NSMaxXEdge];
         }
@@ -741,6 +748,8 @@ NSNotificationName const CPDFListViewActiveAnnotationsChangeNotification = @"CPD
         CPDFAnnotation *annotation = listEditAnnotationViewController.annotation;
         annotation.contents = listEditAnnotationViewController.contentString;
         [self setNeedsDisplayAnnotation:annotation];
+        annotation.isEditing = NO;
+
     }
     self.popOver = nil;
 }

+ 93 - 6
PDF Office/PDF Office/Class/PDFWindowController/PDFListView/CPDFListViewExtension/CPDFListView+Event.m

@@ -21,6 +21,7 @@
 #import "NSShadow_CExtensions.h"
 #import "NSCursor_CExtensions.h"
 #import "NSBezierPath_Extensions.h"
+#import "CPDFListHoverAnnotationViewController.h"
 
 #import "CPDFListView+CExtension.h"
 #import "CPDFAnnotation+Extensions.h"
@@ -71,12 +72,24 @@ static inline CPDFAreaOfInterest CAreaOfInterestForResizeHandle(CRectEdges mask,
         else
             [self doDragWithEvent:theEvent];
     } else if (CMagnifyToolMode == self.toolMode) {
+        if(self.activeAnnotations.count >0) {
+           [self updateActiveAnnotations:@[]];
+           [self setNeedsDisplayAnnotationViewForPage:page];
+       }
         [self setCurrentSelection:nil];
         [self doMagnifyWithEvent:theEvent];
     } else if (CSelectToolMode == self.toolMode) {
+        if(self.activeAnnotations.count >0) {
+           [self updateActiveAnnotations:@[]];
+           [self setNeedsDisplayAnnotationViewForPage:page];
+       }
         [self setCurrentSelection:nil];
         [self doSelectWithEvent:theEvent];
     } else if (CSelectZoomToolMode == self.toolMode) {
+        if(self.activeAnnotations.count >0) {
+           [self updateActiveAnnotations:@[]];
+           [self setNeedsDisplayAnnotationViewForPage:page];
+       }
         [self setCurrentSelection:nil];
         if (modifiers & NSEventModifierFlagOption) {
             [self doZoomOutSelectWithEvent:theEvent];
@@ -108,8 +121,10 @@ static inline CPDFAreaOfInterest CAreaOfInterestForResizeHandle(CRectEdges mask,
     }  else if (CFormToolMode == self.toolMode) {
         
     } else if ([self doDragTextWithEvent:theEvent] == NO) {
-        [self updateActiveAnnotations:@[]];
-        [self setNeedsDisplayAnnotationViewForPage:page];
+        if(self.activeAnnotations.count >0) {
+           [self updateActiveAnnotations:@[]];
+           [self setNeedsDisplayAnnotationViewForPage:page];
+       }
         [super mouseDown:theEvent];
         if ((CNoteToolMode == self.toolMode && [CPDFListView isMarkupAnnotationType:self.annotationType])) {
             [self doMarkUpWithEvent:theEvent];
@@ -121,7 +136,6 @@ static inline CPDFAreaOfInterest CAreaOfInterestForResizeHandle(CRectEdges mask,
 }
 
 - (void)mouseMoved:(NSEvent *)event {
-    
     NSPoint point = NSZeroPoint;
     CPDFPage *page = [self pageAndPoint:&point forEvent:event nearest:YES];
     id annotations = [page annotations];
@@ -132,6 +146,20 @@ static inline CPDFAreaOfInterest CAreaOfInterestForResizeHandle(CRectEdges mask,
             break;
         }
     }
+    
+    [CPDFListView cancelPreviousPerformRequestsWithTarget:self selector:@selector(showHUDHint:) object:self.hoverAnnotation];
+    
+    if ([self isSupportSelectAnnotation] && newActiveAnnotation && ([newActiveAnnotation isKindOfClass:[CPDFTextAnnotation class]]|| [newActiveAnnotation isKindOfClass:[CPDFLinkAnnotation class]]) && (self.hoverAnnotation == newActiveAnnotation) && !self.popOver) {
+        [self performSelector:@selector(showHUDHint:) withObject:newActiveAnnotation afterDelay:1.0];
+    } else if ([self isSupportSelectAnnotation] && newActiveAnnotation && [newActiveAnnotation isKindOfClass:[CPDFRedactAnnotation class]] && (self.hoverAnnotation == newActiveAnnotation)) {
+        [(CPDFRedactAnnotation *)newActiveAnnotation setDrawRedactionsAsRedacted:YES];
+        [self setNeedsDisplayAnnotationViewForPage:page];
+    } else if([self isSupportSelectAnnotation] && self.hoverAnnotation && [self.hoverAnnotation isKindOfClass:[CPDFRedactAnnotation class]]){
+        [(CPDFRedactAnnotation *)self.hoverAnnotation setDrawRedactionsAsRedacted:NO];
+        [self setNeedsDisplayAnnotationViewForPage:page];
+    } else {
+        [self hidenHUDHint];
+    }
 
     if(self.clickLineAnnotation && self.isClickDoubleCreatLine) {
         NSPoint pagePoint = NSZeroPoint;
@@ -140,15 +168,34 @@ static inline CPDFAreaOfInterest CAreaOfInterestForResizeHandle(CRectEdges mask,
             [self.clickLineAnnotation setObservedEndPoint:pagePoint];
             [self setNeedsDisplayAnnotation:self.clickLineAnnotation];
         }
-    } else if((newActiveAnnotation && ![newActiveAnnotation isKindOfClass:[CPDFMarkupAnnotation class]] && ![self.activeAnnotations containsObject:newActiveAnnotation])) {
+    } else if([self isSupportSelectAnnotation] && (newActiveAnnotation && ![newActiveAnnotation isKindOfClass:[CPDFMarkupAnnotation class]] && ![self.activeAnnotations containsObject:newActiveAnnotation])) {
         self.hoverAnnotation = newActiveAnnotation;
         [self setNeedsDisplayAnnotationViewForPage:page];
     } else if (!newActiveAnnotation && self.hoverAnnotation) {
         self.hoverAnnotation = nil;
         [self setNeedsDisplayAnnotationViewForPage:page];
     }
+
+    [super mouseEntered:event];
     
-    [super mouseMoved:event];
+    if(!self.isEditing) {
+        
+        if([self isSupportSelectAnnotation]) {
+            if([self.activeAnnotation page] == page &&
+               [self.activeAnnotation isResizable] &&
+               [self.activeAnnotation resizeHandleForPoint:point scaleFactor:[self scaleFactor]] != 0) {
+                CRectEdges resizeHandle = [self.activeAnnotation resizeHandleForPoint:point scaleFactor:[self scaleFactor]];
+                [self setCursorForAreaOfInterest:CAreaOfInterestForResizeHandle(resizeHandle, page)];
+            } else {
+                CPDFAreaOfInterest area = [self areaOfInterestForPoint:point];
+                [self setCursorForAreaOfInterest:area];
+
+            }
+        } else {
+            [self setCursorForMouse:event];
+        }
+    }
+
 }
 
 - (void)mouseExited:(NSEvent *)event {
@@ -156,6 +203,21 @@ static inline CPDFAreaOfInterest CAreaOfInterestForResizeHandle(CRectEdges mask,
     [[NSCursor arrowCursor] set];
 }
 
+- (void)flagsChanged:(NSEvent *)theEvent {
+    [super flagsChanged:theEvent];
+    if (self.toolMode == CSelectZoomToolMode) {
+        if ([theEvent modifierFlags] & NSEventModifierFlagOption) {
+            [[NSCursor zoomOutCursor] set];
+            self.selectZoomToolModeZoomOut = YES;
+        } else {
+            [[NSCursor zoomInCursor] set];
+            self.selectZoomToolModeZoomOut = NO;
+        }
+    } else {
+     [self setCursorForMouse:nil];
+    }
+}
+
 #pragma mark - NSMenu
 
 - (NSMenu *)menuForEvent:(NSEvent *)event {
@@ -1371,6 +1433,9 @@ static inline CPDFAreaOfInterest CAreaOfInterestForResizeHandle(CRectEdges mask,
             if(![self.activeAnnotations containsObject:annotation])
                 [self updateActiveAnnotations:@[annotation]];
             [ self setNeedsDisplayAnnotation:annotation];
+        } else if(self.activeAnnotations.count >0) {
+            [self updateActiveAnnotations:@[]];
+            [self setNeedsDisplayAnnotationViewForPage:page];
         }
     }
 }
@@ -1423,6 +1488,9 @@ static inline CPDFAreaOfInterest CAreaOfInterestForResizeHandle(CRectEdges mask,
                         [self updateActiveAnnotations:@[annotation]];
                     }
                     [self setNeedsDisplayAnnotation:annotation];
+                } else if(self.activeAnnotations.count >0) {
+                    [self updateActiveAnnotations:@[]];
+                    [self setNeedsDisplayAnnotationViewForPage:page];
                 }
             } else {
                 if(self.activeAnnotations.count > 0){
@@ -1457,13 +1525,17 @@ static inline CPDFAreaOfInterest CAreaOfInterestForResizeHandle(CRectEdges mask,
     NSPoint originalEndPoint = NSZeroPoint;
     NSRect originalBounds = CGRectZero;
     CGFloat mouseOffset = [self unitWidthOnPage:page];
-    
+    [self setCursorForAreaOfInterest:CAreaOfInterestForResizeHandle(CMaxXEdgeMask | CMinYEdgeMask, page)];
+
     CPDFAnnotation *annotation = nil;
     if (CAnnotationTypeAnchored == self.annotationType) {
         annotation = [self addAnnotationWithType:CAnnotationTypeAnchored selection:nil page:page bounds:CRectFromCenterAndSquareSize(CIntegralPoint(pagePoint), 0.0)];
         if (annotation) {
             [self updateActiveAnnotations:@[annotation]];
             [self setNeedsDisplayAnnotation:annotation];
+        } else if(self.activeAnnotations.count >0) {
+            [self updateActiveAnnotations:@[]];
+            [self setNeedsDisplayAnnotationViewForPage:page];
         }
     } else if((CAnnotationTypeStamp == self.annotationType ||
                CAnnotationTypeSignSignature == self.annotationType) && self.stampObject) {
@@ -1474,6 +1546,9 @@ static inline CPDFAreaOfInterest CAreaOfInterestForResizeHandle(CRectEdges mask,
             [self addAnnotation:annotation toPage:page];
             [self updateActiveAnnotations:@[annotation]];
             [self setNeedsDisplayAnnotation:annotation];
+        } else if(self.activeAnnotations.count >0) {
+            [self updateActiveAnnotations:@[]];
+            [self setNeedsDisplayAnnotationViewForPage:page];
         }
         if (!self.isStampModel) {
             self.stampObject = nil;
@@ -1530,6 +1605,9 @@ static inline CPDFAreaOfInterest CAreaOfInterestForResizeHandle(CRectEdges mask,
                         if(annotation) {
                             [self updateActiveAnnotations:@[annotation]];
                             [self setNeedsDisplayAnnotation:annotation];
+                        } else if(self.activeAnnotations.count >0) {
+                            [self updateActiveAnnotations:@[]];
+                            [self setNeedsDisplayAnnotationViewForPage:page];
                         }
                     }
                 }
@@ -1546,6 +1624,9 @@ static inline CPDFAreaOfInterest CAreaOfInterestForResizeHandle(CRectEdges mask,
                 
                 if(annotation) {
                     [self updateActiveAnnotations:@[annotation]];
+                } else if(self.activeAnnotations.count >0) {
+                    [self updateActiveAnnotations:@[]];
+                    [self setNeedsDisplayAnnotationViewForPage:page];
                 }
                 lastMouseEvent = theEvent;
                 draggedAnnotation = YES;
@@ -2082,6 +2163,8 @@ static inline CPDFAreaOfInterest CAreaOfInterestForResizeHandle(CRectEdges mask,
     if (rect.size.width != 0) {
         scale = rect.size.height/rect.size.width;
     }
+    
+    [self setCursorForAreaOfInterest:CAreaOfInterestForResizeHandle(resizeHandle, page)];
     while (YES) {
         theEvent = [[self window] nextEventMatchingMask:eventMask];
         if ([theEvent type] == NSEventTypeLeftMouseUp) {
@@ -2183,6 +2266,8 @@ static inline CPDFAreaOfInterest CAreaOfInterestForResizeHandle(CRectEdges mask,
         if(![newActiveAnnotation isMovable]) {
             [super mouseDown:theEvent];
         } else {
+            [self setCursorForAreaOfInterest:CAreaOfInterestForResizeHandle(resizeHandle, page)];
+
             while (YES) {
                 theEvent = [[self window] nextEventMatchingMask:eventMask];
                 if ([theEvent type] == NSEventTypeLeftMouseUp) {
@@ -2839,6 +2924,8 @@ static inline CPDFAreaOfInterest CAreaOfInterestForResizeHandle(CRectEdges mask,
         return rotated ? CResizeLeftRightArea : CResizeUpDownArea;
     else if (mask == (CMaxXEdgeMask | CMinYEdgeMask) || mask == (CMinXEdgeMask | CMaxYEdgeMask))
         return rotated ? CResizeDiagonal45Area : CResizeDiagonal135Area;
+    else if (mask == CEditInEdgeMask)
+        return CDragArea;
     else
         return CPDFNoArea;
 }

+ 4 - 0
PDF Office/PDF Office/Class/PDFWindowController/PDFListView/CPDFListViewExtension/CPDFListView+Tool.h

@@ -57,5 +57,9 @@
                   annotation:(CPDFAnnotation *)anAnnotation
                     newIndex:(NSInteger)newIndex;
 
+- (void)showHUDHint:(CPDFAnnotation *)newActiveAnnotation;
+
+-(void)hidenHUDHint;
+
 @end
 

+ 101 - 0
PDF Office/PDF Office/Class/PDFWindowController/PDFListView/CPDFListViewExtension/CPDFListView+Tool.m

@@ -14,6 +14,8 @@
 
 #import "CPDFListView+Private.h"
 #import "CPDFPage+Extensions.h"
+#import "CPDFListHoverAnnotationViewController.h"
+#import "NSCursor_CExtensions.h"
 
 #import "NSEvent_CExtensions.h"
 
@@ -33,6 +35,89 @@
     return NSEventTypeLeftMouseDragged == [[NSApp nextEventMatchingMask:(NSEventMaskLeftMouseUp | NSEventMaskLeftMouseDragged) untilDate:[NSDate distantFuture] inMode:NSEventTrackingRunLoopMode dequeue:NO] type];
 }
 
+- (void)setCursorForAreaOfInterest:(CPDFAreaOfInterest)area {
+    if ((area & CPDFLinkArea))
+        [[NSCursor pointingHandCursor] set];
+    else if ((area & CDragArea))
+        [[NSCursor openHandCursor] set];
+    else if ((area & CResizeUpDownArea))
+        [[NSCursor resizeUpDownCursor] set];
+    else if ((area & CResizeLeftRightArea))
+        [[NSCursor resizeLeftRightCursor] set];
+    else if ((area & CResizeDiagonal45Area))
+        [[NSCursor resizeDiagonal45Cursor] set];
+    else if ((area & CResizeDiagonal135Area))
+        [[NSCursor resizeDiagonal135Cursor] set];
+    else if (area == CPDFTextFieldArea)
+        [[NSCursor IBeamCursor] set];
+    else if (CNoteToolMode == self.toolMode && (area & CPDFPageArea))
+        [[self cursorForNoteToolMode] set];
+    else if (CSelectToolMode == self.toolMode && (area & CPDFPageArea))
+        [[NSCursor crosshairCursor] set];
+    else if (CMagnifyToolMode == self.toolMode && (area & CPDFPageArea))
+        [(([NSEvent standardCModifierFlags] & NSEventModifierFlagShift) ? [NSCursor zoomOutCursor] : [NSCursor zoomInCursor]) set];
+    else if (CSelectZoomToolMode == self.toolMode && (area & CPDFPageArea)){
+        if (self.selectZoomToolModeZoomOut) {
+            [[NSCursor zoomOutCursor] set];
+        } else {
+            [[NSCursor zoomInCursor] set];
+        }
+    } else if (CFormToolMode == self.toolMode && (area & CPDFPageArea)){
+        [[self cursorForFormToolMode] set];
+    } else if(CSelfSignMode == self.toolMode && (area & CPDFPageArea)){
+        [[self cursorForSelfSignToolMode] set];
+    } else
+        [super setCursorForAreaOfInterest:area];
+}
+
+- (NSCursor *)cursorForNoteToolMode {
+    switch (self.annotationType) {
+        case CAnnotationTypeFreeText:  return [NSCursor textNoteCursor];
+        case CAnnotationTypeAnchored:  return [NSCursor anchoredNoteCursor];
+        case CAnnotationTypeCircle:    return [NSCursor circleNoteCursor];
+        case CAnnotationTypeSquare:    return [NSCursor squareNoteCursor];
+        case CAnnotationTypeHighlight: return [NSCursor highlightNoteCursor];
+        case CAnnotationTypeUnderline: return [NSCursor underlineNoteCursor];
+        case CAnnotationTypeStrikeOut: return [NSCursor strikeOutNoteCursor];
+        case CAnnotationTypeArrow:     return [NSCursor arrowNoteCursor];
+        case CAnnotationTypeLine:      return [NSCursor lineNoteCursor];
+        case CAnnotationTypeInk:       return [NSCursor inkNoteCursor];
+        case CAnnotationTypeLink:      return [NSCursor linkNoteCursor];
+        default:              return [NSCursor arrowCursor];
+    }
+    return [NSCursor arrowCursor];
+}
+
+- (NSCursor *)cursorForFormToolMode {
+    switch (self.annotationType) {
+        case CAnnotationTypeRadioButton:   return [NSCursor radioFormCursor:self.scaleFactor];
+        case CAnnotationTypeCheckBox:      return [NSCursor checkFormCursor:self.scaleFactor];
+        case CAnnotationTypeTextField:     return [NSCursor textFieldFormCursor:self.scaleFactor];
+        case CAnnotationTypeComboBox:      return [NSCursor comboBoxFormCursor:self.scaleFactor];
+        case CAnnotationTypeListMenu:      return [NSCursor listBoxFormCursor:self.scaleFactor];
+        case CAnnotationTypeActionButton:  return [NSCursor actionButtonFormCursor:self.scaleFactor];
+        case CAnnotationTypeSignature:     return [NSCursor signatureFormCursor:self.scaleFactor];
+            
+        default: return [NSCursor arrowCursor];
+            
+    }
+    return [NSCursor arrowCursor];
+}
+
+- (NSCursor *)cursorForSelfSignToolMode {
+    switch (self.annotationType) {
+        case CAnnotationTypeSignFalse:      return [NSCursor falseSelfSignCursor:self.scaleFactor];
+        case CAnnotationTypeSignTure:       return [NSCursor tureSelfSignCursor:self.scaleFactor];
+        case CAnnotationTypeSignCircle:     return [NSCursor circelSelfSignCursor:self.scaleFactor];
+        case CAnnotationTypeSignLine:       return [NSCursor lineSelfSignCursor:self.scaleFactor];
+        case CAnnotationTypeSignDot:        return [NSCursor dotSelfSignCursor:self.scaleFactor];
+        case CAnnotationTypeSignText:       return [NSCursor textSelfSignCursor:self.scaleFactor];
+        case CAnnotationTypeSignDate:       return [NSCursor dateSelfSignCursor:self.scaleFactor];
+        default: return [NSCursor arrowCursor];
+    }
+    return [NSCursor arrowCursor];
+}
+
 - (void)resetPDFViewAnnotation  {
     self.clickLineAnnotation = nil;
     self.isClickDoubleCreatLine = NO;
@@ -251,4 +336,20 @@
     [self setNeedsDisplayAnnotationViewForVisiblePages];
 }
 
+- (void)showHUDHint:(CPDFAnnotation *)newActiveAnnotation {
+    CPDFListHoverAnnotationViewController *popViewController = [[CPDFListHoverAnnotationViewController alloc] initWithNibName:@"CPDFListHoverAnnotationViewController" bundle:[NSBundle mainBundle] annotation:newActiveAnnotation];
+    self.hoverPopOver = [[NSPopover alloc] init];
+    self.hoverPopOver.contentViewController = popViewController;
+    self.hoverPopOver.animates = NO;
+    self.hoverPopOver.behavior = NSPopoverBehaviorSemitransient;
+    
+    self.hoverPopOver.contentSize = popViewController.view.frame.size;
+     CGRect rect = [self convertRect:newActiveAnnotation.bounds fromPage:newActiveAnnotation.page];
+    [self.hoverPopOver showRelativeToRect:CGRectMake(rect.origin.x + 10, rect.origin.y, rect.size.width, rect.size.height) ofView:self preferredEdge:NSRectEdgeMaxX];
+}
+
+-(void)hidenHUDHint {
+    [self.hoverPopOver close];
+}
+
 @end

+ 6 - 0
PDF Office/PDF Office/Class/PDFWindowController/PDFListView/NSImage/CPDFListView.xcassets/Contents.json

@@ -0,0 +1,6 @@
+{
+  "info" : {
+    "author" : "xcode",
+    "version" : 1
+  }
+}

+ 12 - 0
PDF Office/PDF Office/Class/PDFWindowController/PDFListView/NSImage/CPDFListView.xcassets/NSCursors/CPDFListViewImageNameCursorsButton.imageset/Contents.json

@@ -0,0 +1,12 @@
+{
+  "images" : [
+    {
+      "filename" : "矩形.pdf",
+      "idiom" : "mac"
+    }
+  ],
+  "info" : {
+    "author" : "xcode",
+    "version" : 1
+  }
+}

BIN
PDF Office/PDF Office/Class/PDFWindowController/PDFListView/NSImage/CPDFListView.xcassets/NSCursors/CPDFListViewImageNameCursorsButton.imageset/矩形.pdf


+ 12 - 0
PDF Office/PDF Office/Class/PDFWindowController/PDFListView/NSImage/CPDFListView.xcassets/NSCursors/CPDFListViewImageNameCursorsCheckbox.imageset/Contents.json

@@ -0,0 +1,12 @@
+{
+  "images" : [
+    {
+      "filename" : "矩形.pdf",
+      "idiom" : "mac"
+    }
+  ],
+  "info" : {
+    "author" : "xcode",
+    "version" : 1
+  }
+}

BIN
PDF Office/PDF Office/Class/PDFWindowController/PDFListView/NSImage/CPDFListView.xcassets/NSCursors/CPDFListViewImageNameCursorsCheckbox.imageset/矩形.pdf


+ 12 - 0
PDF Office/PDF Office/Class/PDFWindowController/PDFListView/NSImage/CPDFListView.xcassets/NSCursors/CPDFListViewImageNameCursorsDate.imageset/Contents.json

@@ -0,0 +1,12 @@
+{
+  "images" : [
+    {
+      "filename" : "ic_cursors_date-1.pdf",
+      "idiom" : "mac"
+    }
+  ],
+  "info" : {
+    "author" : "xcode",
+    "version" : 1
+  }
+}

BIN
PDF Office/PDF Office/Class/PDFWindowController/PDFListView/NSImage/CPDFListView.xcassets/NSCursors/CPDFListViewImageNameCursorsDate.imageset/ic_cursors_date-1.pdf


+ 12 - 0
PDF Office/PDF Office/Class/PDFWindowController/PDFListView/NSImage/CPDFListView.xcassets/NSCursors/CPDFListViewImageNameCursorsFork.imageset/Contents.json

@@ -0,0 +1,12 @@
+{
+  "images" : [
+    {
+      "filename" : "ic_cursors_fork-1.pdf",
+      "idiom" : "mac"
+    }
+  ],
+  "info" : {
+    "author" : "xcode",
+    "version" : 1
+  }
+}

+ 87 - 0
PDF Office/PDF Office/Class/PDFWindowController/PDFListView/NSImage/CPDFListView.xcassets/NSCursors/CPDFListViewImageNameCursorsFork.imageset/ic_cursors_fork-1.pdf

@@ -0,0 +1,87 @@
+%PDF-1.3
+%ÿÿÿÿ
+7 0 obj
+<<
+/Type /ExtGState
+/CA 1
+>>
+endobj
+8 0 obj
+<<
+/Type /ExtGState
+/ca 1
+>>
+endobj
+6 0 obj
+<<
+/Type /Page
+/Parent 1 0 R
+/MediaBox [0 0 12 12]
+/Contents 4 0 R
+/Resources 5 0 R
+>>
+endobj
+5 0 obj
+<<
+/ProcSet [/PDF /Text /ImageB /ImageC /ImageI]
+/ExtGState <<
+/Gs1 7 0 R
+/Gs2 8 0 R
+>>
+>>
+endobj
+9 0 obj
+<<
+/Producer (PDFKit)
+/Creator (PDFKit)
+/CreationDate (D:20201228103304Z)
+>>
+endobj
+3 0 obj
+<<
+>>
+endobj
+2 0 obj
+<<
+/Type /Catalog
+/Pages 1 0 R
+>>
+endobj
+1 0 obj
+<<
+/Type /Pages
+/Count 1
+/Kids [6 0 R]
+>>
+endobj
+4 0 obj
+<<
+/Length 414
+/Filter /FlateDecode
+>>
+stream
+xœÍSKOÃ0¾çWøŒÔ,vÞW†4		$Ø�â4ÆKݤiü}ìµMÓmÀ•¦k2?¾ï³Ý"^
ò	VµSx0uO6ýÝ)9°™xkeã»U¦ÛÞÔlOS~44DÎC“}žÚ‰ÈB¶ñØ*÷9Ä;65FGÑD(‡æÌ	�vÉSB’9»Z¾¯Ö÷‹K˜/•Ñdl&ô!ŠÎ›œ�cpÑø”ÈzÊŽm®ô	°œßªÙb�ðºgy_ÊÁ
·åƒ×êñ‰u>+Dí˜vÃ<�÷V-�”ÿZC¨´ÿåGc¨$­öŠnÂo™'rØ-*a¿ÚŠY»àب%®›_6΋˜-�öÖcŒ, H[¤+Úð%–UÚ
+lpJf—1 ´ªÀVQ{æ5e;¥ìƒ*]#Vï	‡üö´Fùt^.þè)�AV=0£ýù‘u(BÏ»>zò.•FÊ$£6Áò}Y!t­<†¡|E#ŒÞ¡6N*0¥F>iU§¢Èj•ÓÙfoÒ„¹s½ÂTàWÅZ ÚÓz¥§òšÖëªþ(
+endstream
+endobj
+xref
+0 10
+0000000000 65535 f 
+0000000473 00000 n 
+0000000424 00000 n 
+0000000403 00000 n 
+0000000530 00000 n 
+0000000205 00000 n 
+0000000103 00000 n 
+0000000015 00000 n 
+0000000059 00000 n 
+0000000311 00000 n 
+trailer
+<<
+/Size 10
+/Root 2 0 R
+/Info 9 0 R
+>>
+startxref
+1016
+%%EOF

+ 12 - 0
PDF Office/PDF Office/Class/PDFWindowController/PDFListView/NSImage/CPDFListView.xcassets/NSCursors/CPDFListViewImageNameCursorsFormLine.imageset/Contents.json

@@ -0,0 +1,12 @@
+{
+  "images" : [
+    {
+      "filename" : "ic_cursors_line-1.pdf",
+      "idiom" : "mac"
+    }
+  ],
+  "info" : {
+    "author" : "xcode",
+    "version" : 1
+  }
+}

BIN
PDF Office/PDF Office/Class/PDFWindowController/PDFListView/NSImage/CPDFListView.xcassets/NSCursors/CPDFListViewImageNameCursorsFormLine.imageset/ic_cursors_line-1.pdf


+ 22 - 0
PDF Office/PDF Office/Class/PDFWindowController/PDFListView/NSImage/CPDFListView.xcassets/NSCursors/CPDFListViewImageNameCursorsFreehand.imageset/Contents.json

@@ -0,0 +1,22 @@
+{
+  "images" : [
+    {
+      "filename" : "light_ic_cursors_freehand.pdf",
+      "idiom" : "mac"
+    },
+    {
+      "appearances" : [
+        {
+          "appearance" : "luminosity",
+          "value" : "dark"
+        }
+      ],
+      "filename" : "light_ic_cursors_freehand-1.pdf",
+      "idiom" : "mac"
+    }
+  ],
+  "info" : {
+    "author" : "xcode",
+    "version" : 1
+  }
+}

BIN
PDF Office/PDF Office/Class/PDFWindowController/PDFListView/NSImage/CPDFListView.xcassets/NSCursors/CPDFListViewImageNameCursorsFreehand.imageset/light_ic_cursors_freehand-1.pdf


BIN
PDF Office/PDF Office/Class/PDFWindowController/PDFListView/NSImage/CPDFListView.xcassets/NSCursors/CPDFListViewImageNameCursorsFreehand.imageset/light_ic_cursors_freehand.pdf


+ 22 - 0
PDF Office/PDF Office/Class/PDFWindowController/PDFListView/NSImage/CPDFListView.xcassets/NSCursors/CPDFListViewImageNameCursorsHighlight.imageset/Contents.json

@@ -0,0 +1,22 @@
+{
+  "images" : [
+    {
+      "filename" : "light_ic_cursors_highlight.pdf",
+      "idiom" : "mac"
+    },
+    {
+      "appearances" : [
+        {
+          "appearance" : "luminosity",
+          "value" : "dark"
+        }
+      ],
+      "filename" : "light_ic_cursors_highlight-1.pdf",
+      "idiom" : "mac"
+    }
+  ],
+  "info" : {
+    "author" : "xcode",
+    "version" : 1
+  }
+}

+ 80 - 0
PDF Office/PDF Office/Class/PDFWindowController/PDFListView/NSImage/CPDFListView.xcassets/NSCursors/CPDFListViewImageNameCursorsHighlight.imageset/light_ic_cursors_highlight-1.pdf

@@ -0,0 +1,80 @@
+%PDF-1.3
+%ÿÿÿÿ
+7 0 obj
+<<
+/Type /ExtGState
+/ca 1
+>>
+endobj
+6 0 obj
+<<
+/Type /Page
+/Parent 1 0 R
+/MediaBox [0 0 12 12]
+/Contents 4 0 R
+/Resources 5 0 R
+>>
+endobj
+5 0 obj
+<<
+/ProcSet [/PDF /Text /ImageB /ImageC /ImageI]
+/ExtGState <<
+/Gs1 7 0 R
+>>
+>>
+endobj
+8 0 obj
+<<
+/Producer (PDFKit)
+/Creator (PDFKit)
+/CreationDate (D:20201223070032Z)
+>>
+endobj
+3 0 obj
+<<
+>>
+endobj
+2 0 obj
+<<
+/Type /Catalog
+/Pages 1 0 R
+>>
+endobj
+1 0 obj
+<<
+/Type /Pages
+/Count 1
+/Kids [6 0 R]
+>>
+endobj
+4 0 obj
+<<
+/Length 258
+/Filter /FlateDecode
+>>
+stream
+xœu‘Ínà Çï<…Ï“ââ0\§I=o—=@Ô}HY¥*Òž¦™Òf€lóc‚ès 7Ä0~…K +Z¬ƒ›í%´À1»›šó5…¸¸�ð
+ç{É¿``Ò
+CIi˙ؠˆÜPnk/ãáéôý9ž^Ž�0Î!")‘eµ˜JaIŽÖ-×öÙÃ<žÃá8¼Ï!#UKæ— �JLþÌ‚%p«ÔÀ*jöakAÇ<¨¿ÌP®c—uZCê/0¯‚ÀšjŠlÚq‰öEºËûǺûy»éN3æ´yfBÎ5Ö´öbÚéOûáÉ«—¶~)&¯-¯‰2V_î3¯ç›þí!<oæqR‚�
+endstream
+endobj
+xref
+0 9
+0000000000 65535 f 
+0000000418 00000 n 
+0000000369 00000 n 
+0000000348 00000 n 
+0000000475 00000 n 
+0000000161 00000 n 
+0000000059 00000 n 
+0000000015 00000 n 
+0000000256 00000 n 
+trailer
+<<
+/Size 9
+/Root 2 0 R
+/Info 8 0 R
+>>
+startxref
+805
+%%EOF

+ 80 - 0
PDF Office/PDF Office/Class/PDFWindowController/PDFListView/NSImage/CPDFListView.xcassets/NSCursors/CPDFListViewImageNameCursorsHighlight.imageset/light_ic_cursors_highlight.pdf

@@ -0,0 +1,80 @@
+%PDF-1.3
+%ÿÿÿÿ
+7 0 obj
+<<
+/Type /ExtGState
+/ca 1
+>>
+endobj
+6 0 obj
+<<
+/Type /Page
+/Parent 1 0 R
+/MediaBox [0 0 12 12]
+/Contents 4 0 R
+/Resources 5 0 R
+>>
+endobj
+5 0 obj
+<<
+/ProcSet [/PDF /Text /ImageB /ImageC /ImageI]
+/ExtGState <<
+/Gs1 7 0 R
+>>
+>>
+endobj
+8 0 obj
+<<
+/Producer (PDFKit)
+/Creator (PDFKit)
+/CreationDate (D:20201223070032Z)
+>>
+endobj
+3 0 obj
+<<
+>>
+endobj
+2 0 obj
+<<
+/Type /Catalog
+/Pages 1 0 R
+>>
+endobj
+1 0 obj
+<<
+/Type /Pages
+/Count 1
+/Kids [6 0 R]
+>>
+endobj
+4 0 obj
+<<
+/Length 258
+/Filter /FlateDecode
+>>
+stream
+xœu‘Ínà Çï<…Ï“ââ0\§I=o—=@Ô}HY¥*Òž¦™Òf€lóc‚ès 7Ä0~…K +Z¬ƒ›í%´À1»›šó5…¸¸�ð
+ç{É¿``Ò
+CIi˙ؠˆÜPnk/ãáéôý9ž^Ž�0Î!")‘eµ˜JaIŽÖ-×öÙÃ<žÃá8¼Ï!#UKæ— �JLþÌ‚%p«ÔÀ*jöakAÇ<¨¿ÌP®c—uZCê/0¯‚ÀšjŠlÚq‰öEºËûǺûy»éN3æ´yfBÎ5Ö´öbÚéOûáÉ«—¶~)&¯-¯‰2V_î3¯ç›þí!<oæqR‚�
+endstream
+endobj
+xref
+0 9
+0000000000 65535 f 
+0000000418 00000 n 
+0000000369 00000 n 
+0000000348 00000 n 
+0000000475 00000 n 
+0000000161 00000 n 
+0000000059 00000 n 
+0000000015 00000 n 
+0000000256 00000 n 
+trailer
+<<
+/Size 9
+/Root 2 0 R
+/Info 8 0 R
+>>
+startxref
+805
+%%EOF

+ 22 - 0
PDF Office/PDF Office/Class/PDFWindowController/PDFListView/NSImage/CPDFListView.xcassets/NSCursors/CPDFListViewImageNameCursorsLine.imageset/Contents.json

@@ -0,0 +1,22 @@
+{
+  "images" : [
+    {
+      "filename" : "light_ic_cursors_line.pdf",
+      "idiom" : "mac"
+    },
+    {
+      "appearances" : [
+        {
+          "appearance" : "luminosity",
+          "value" : "dark"
+        }
+      ],
+      "filename" : "light_ic_cursors_line (1).pdf",
+      "idiom" : "mac"
+    }
+  ],
+  "info" : {
+    "author" : "xcode",
+    "version" : 1
+  }
+}

+ 89 - 0
PDF Office/PDF Office/Class/PDFWindowController/PDFListView/NSImage/CPDFListView.xcassets/NSCursors/CPDFListViewImageNameCursorsLine.imageset/light_ic_cursors_line (1).pdf

@@ -0,0 +1,89 @@
+%PDF-1.3
+%ÿÿÿÿ
+7 0 obj
+<<
+/Type /ExtGState
+/ca 1
+>>
+endobj
+8 0 obj
+<<
+/Type /ExtGState
+/CA 1
+>>
+endobj
+6 0 obj
+<<
+/Type /Page
+/Parent 1 0 R
+/MediaBox [0 0 12 12]
+/Contents 4 0 R
+/Resources 5 0 R
+>>
+endobj
+5 0 obj
+<<
+/ProcSet [/PDF /Text /ImageB /ImageC /ImageI]
+/ExtGState <<
+/Gs1 7 0 R
+/Gs2 8 0 R
+>>
+>>
+endobj
+9 0 obj
+<<
+/Producer (PDFKit)
+/Creator (PDFKit)
+/CreationDate (D:20201223071030Z)
+>>
+endobj
+3 0 obj
+<<
+>>
+endobj
+2 0 obj
+<<
+/Type /Catalog
+/Pages 1 0 R
+>>
+endobj
+1 0 obj
+<<
+/Type /Pages
+/Count 1
+/Kids [6 0 R]
+>>
+endobj
+4 0 obj
+<<
+/Length 238
+/Filter /FlateDecode
+>>
+stream
+xœ}QMKA½çWä,ìv’Í|]­PtÄÓZµ¥Ê‚þ}ßì¸`«•Ì$™—dò2#ì �@‰òðN’	ªÀÉñ@Ŭ0»b°väªy£Þÿ.94*–¹É.ã*9%‚jYݸ¸Zl†õýê’‡±[¯ÙDb°è|Jj€\
+Í»œ\—U|äqØÓb5
+¿Ž”[c-ƒ!±]¬m¨Æœ]‘9
+�‘kÓÔ/t÷/«e_Ò!ýò¶´ÔÒ,ù“Œoð|[ìkz|BåóÄ--˜ÅJ©K9ûsŒjŸ0—|ó:º¦ÐìÁò§|‘ÍfÑ
+endstream
+endobj
+xref
+0 10
+0000000000 65535 f 
+0000000473 00000 n 
+0000000424 00000 n 
+0000000403 00000 n 
+0000000530 00000 n 
+0000000205 00000 n 
+0000000103 00000 n 
+0000000015 00000 n 
+0000000059 00000 n 
+0000000311 00000 n 
+trailer
+<<
+/Size 10
+/Root 2 0 R
+/Info 9 0 R
+>>
+startxref
+840
+%%EOF

+ 89 - 0
PDF Office/PDF Office/Class/PDFWindowController/PDFListView/NSImage/CPDFListView.xcassets/NSCursors/CPDFListViewImageNameCursorsLine.imageset/light_ic_cursors_line.pdf

@@ -0,0 +1,89 @@
+%PDF-1.3
+%ÿÿÿÿ
+7 0 obj
+<<
+/Type /ExtGState
+/ca 1
+>>
+endobj
+8 0 obj
+<<
+/Type /ExtGState
+/CA 1
+>>
+endobj
+6 0 obj
+<<
+/Type /Page
+/Parent 1 0 R
+/MediaBox [0 0 12 12]
+/Contents 4 0 R
+/Resources 5 0 R
+>>
+endobj
+5 0 obj
+<<
+/ProcSet [/PDF /Text /ImageB /ImageC /ImageI]
+/ExtGState <<
+/Gs1 7 0 R
+/Gs2 8 0 R
+>>
+>>
+endobj
+9 0 obj
+<<
+/Producer (PDFKit)
+/Creator (PDFKit)
+/CreationDate (D:20201223071023Z)
+>>
+endobj
+3 0 obj
+<<
+>>
+endobj
+2 0 obj
+<<
+/Type /Catalog
+/Pages 1 0 R
+>>
+endobj
+1 0 obj
+<<
+/Type /Pages
+/Count 1
+/Kids [6 0 R]
+>>
+endobj
+4 0 obj
+<<
+/Length 238
+/Filter /FlateDecode
+>>
+stream
+xœ}QMKA½çWä,ìv’Í|]­PtÄÓZµ¥Ê‚þ}ßì¸`«•Ì$™—dò2#ì �@‰òðN’	ªÀÉñ@Ŭ0»b°väªy£Þÿ.94*–¹É.ã*9%‚jYݸ¸Zl†õýê’‡±[¯ÙDb°è|Jj€\
+Í»œ\—U|äqØÓb5
+¿Ž”[c-ƒ!±]¬m¨Æœ]‘9
+�‘kÓÔ/t÷/«e_Ò!ýò¶´ÔÒ,ù“Œoð|[ìkz|BåóÄ--˜ÅJ©K9ûsŒjŸ0—|ó:º¦ÐìÁò§|‘ÍfÑ
+endstream
+endobj
+xref
+0 10
+0000000000 65535 f 
+0000000473 00000 n 
+0000000424 00000 n 
+0000000403 00000 n 
+0000000530 00000 n 
+0000000205 00000 n 
+0000000103 00000 n 
+0000000015 00000 n 
+0000000059 00000 n 
+0000000311 00000 n 
+trailer
+<<
+/Size 10
+/Root 2 0 R
+/Info 9 0 R
+>>
+startxref
+840
+%%EOF

+ 22 - 0
PDF Office/PDF Office/Class/PDFWindowController/PDFListView/NSImage/CPDFListView.xcassets/NSCursors/CPDFListViewImageNameCursorsLink.imageset/Contents.json

@@ -0,0 +1,22 @@
+{
+  "images" : [
+    {
+      "filename" : "light_ic_cursors_link.pdf",
+      "idiom" : "mac"
+    },
+    {
+      "appearances" : [
+        {
+          "appearance" : "luminosity",
+          "value" : "dark"
+        }
+      ],
+      "filename" : "light_ic_cursors_link (1).pdf",
+      "idiom" : "mac"
+    }
+  ],
+  "info" : {
+    "author" : "xcode",
+    "version" : 1
+  }
+}

BIN
PDF Office/PDF Office/Class/PDFWindowController/PDFListView/NSImage/CPDFListView.xcassets/NSCursors/CPDFListViewImageNameCursorsLink.imageset/light_ic_cursors_link (1).pdf


BIN
PDF Office/PDF Office/Class/PDFWindowController/PDFListView/NSImage/CPDFListView.xcassets/NSCursors/CPDFListViewImageNameCursorsLink.imageset/light_ic_cursors_link.pdf


+ 12 - 0
PDF Office/PDF Office/Class/PDFWindowController/PDFListView/NSImage/CPDFListView.xcassets/NSCursors/CPDFListViewImageNameCursorsListbox.imageset/Contents.json

@@ -0,0 +1,12 @@
+{
+  "images" : [
+    {
+      "filename" : "矩形 (1).pdf",
+      "idiom" : "mac"
+    }
+  ],
+  "info" : {
+    "author" : "xcode",
+    "version" : 1
+  }
+}

BIN
PDF Office/PDF Office/Class/PDFWindowController/PDFListView/NSImage/CPDFListView.xcassets/NSCursors/CPDFListViewImageNameCursorsListbox.imageset/矩形 (1).pdf


+ 22 - 0
PDF Office/PDF Office/Class/PDFWindowController/PDFListView/NSImage/CPDFListView.xcassets/NSCursors/CPDFListViewImageNameCursorsNote.imageset/Contents.json

@@ -0,0 +1,22 @@
+{
+  "images" : [
+    {
+      "filename" : "light_ic_cursors_note-1.pdf",
+      "idiom" : "mac"
+    },
+    {
+      "appearances" : [
+        {
+          "appearance" : "luminosity",
+          "value" : "dark"
+        }
+      ],
+      "filename" : "light_ic_cursors_note.pdf",
+      "idiom" : "mac"
+    }
+  ],
+  "info" : {
+    "author" : "xcode",
+    "version" : 1
+  }
+}

BIN
PDF Office/PDF Office/Class/PDFWindowController/PDFListView/NSImage/CPDFListView.xcassets/NSCursors/CPDFListViewImageNameCursorsNote.imageset/light_ic_cursors_note-1.pdf


BIN
PDF Office/PDF Office/Class/PDFWindowController/PDFListView/NSImage/CPDFListView.xcassets/NSCursors/CPDFListViewImageNameCursorsNote.imageset/light_ic_cursors_note.pdf


+ 22 - 0
PDF Office/PDF Office/Class/PDFWindowController/PDFListView/NSImage/CPDFListView.xcassets/NSCursors/CPDFListViewImageNameCursorsOval.imageset/Contents.json

@@ -0,0 +1,22 @@
+{
+  "images" : [
+    {
+      "filename" : "light_ic_cursors_oval.pdf",
+      "idiom" : "mac"
+    },
+    {
+      "appearances" : [
+        {
+          "appearance" : "luminosity",
+          "value" : "dark"
+        }
+      ],
+      "filename" : "light_ic_cursors_oval (1).pdf",
+      "idiom" : "mac"
+    }
+  ],
+  "info" : {
+    "author" : "xcode",
+    "version" : 1
+  }
+}

BIN
PDF Office/PDF Office/Class/PDFWindowController/PDFListView/NSImage/CPDFListView.xcassets/NSCursors/CPDFListViewImageNameCursorsOval.imageset/light_ic_cursors_oval (1).pdf


BIN
PDF Office/PDF Office/Class/PDFWindowController/PDFListView/NSImage/CPDFListView.xcassets/NSCursors/CPDFListViewImageNameCursorsOval.imageset/light_ic_cursors_oval.pdf


+ 12 - 0
PDF Office/PDF Office/Class/PDFWindowController/PDFListView/NSImage/CPDFListView.xcassets/NSCursors/CPDFListViewImageNameCursorsPoint.imageset/Contents.json

@@ -0,0 +1,12 @@
+{
+  "images" : [
+    {
+      "filename" : "ic_cursors_point-1.pdf",
+      "idiom" : "mac"
+    }
+  ],
+  "info" : {
+    "author" : "xcode",
+    "version" : 1
+  }
+}

BIN
PDF Office/PDF Office/Class/PDFWindowController/PDFListView/NSImage/CPDFListView.xcassets/NSCursors/CPDFListViewImageNameCursorsPoint.imageset/ic_cursors_point-1.pdf


+ 12 - 0
PDF Office/PDF Office/Class/PDFWindowController/PDFListView/NSImage/CPDFListView.xcassets/NSCursors/CPDFListViewImageNameCursorsPulldownmenu.imageset/Contents.json

@@ -0,0 +1,12 @@
+{
+  "images" : [
+    {
+      "filename" : "矩形 (1).pdf",
+      "idiom" : "mac"
+    }
+  ],
+  "info" : {
+    "author" : "xcode",
+    "version" : 1
+  }
+}

BIN
PDF Office/PDF Office/Class/PDFWindowController/PDFListView/NSImage/CPDFListView.xcassets/NSCursors/CPDFListViewImageNameCursorsPulldownmenu.imageset/矩形 (1).pdf


+ 12 - 0
PDF Office/PDF Office/Class/PDFWindowController/PDFListView/NSImage/CPDFListView.xcassets/NSCursors/CPDFListViewImageNameCursorsRadiobutton.imageset/Contents.json

@@ -0,0 +1,12 @@
+{
+  "images" : [
+    {
+      "filename" : "矩形.pdf",
+      "idiom" : "mac"
+    }
+  ],
+  "info" : {
+    "author" : "xcode",
+    "version" : 1
+  }
+}

BIN
PDF Office/PDF Office/Class/PDFWindowController/PDFListView/NSImage/CPDFListView.xcassets/NSCursors/CPDFListViewImageNameCursorsRadiobutton.imageset/矩形.pdf


+ 22 - 0
PDF Office/PDF Office/Class/PDFWindowController/PDFListView/NSImage/CPDFListView.xcassets/NSCursors/CPDFListViewImageNameCursorsRec.imageset/Contents.json

@@ -0,0 +1,22 @@
+{
+  "images" : [
+    {
+      "filename" : "light_ic_cursors_rec-1.pdf",
+      "idiom" : "mac"
+    },
+    {
+      "appearances" : [
+        {
+          "appearance" : "luminosity",
+          "value" : "dark"
+        }
+      ],
+      "filename" : "light_ic_cursors_rec.pdf",
+      "idiom" : "mac"
+    }
+  ],
+  "info" : {
+    "author" : "xcode",
+    "version" : 1
+  }
+}

+ 87 - 0
PDF Office/PDF Office/Class/PDFWindowController/PDFListView/NSImage/CPDFListView.xcassets/NSCursors/CPDFListViewImageNameCursorsRec.imageset/light_ic_cursors_rec-1.pdf

@@ -0,0 +1,87 @@
+%PDF-1.3
+%ÿÿÿÿ
+7 0 obj
+<<
+/Type /ExtGState
+/ca 1
+>>
+endobj
+8 0 obj
+<<
+/Type /ExtGState
+/CA 1
+>>
+endobj
+6 0 obj
+<<
+/Type /Page
+/Parent 1 0 R
+/MediaBox [0 0 12 12]
+/Contents 4 0 R
+/Resources 5 0 R
+>>
+endobj
+5 0 obj
+<<
+/ProcSet [/PDF /Text /ImageB /ImageC /ImageI]
+/ExtGState <<
+/Gs1 7 0 R
+/Gs2 8 0 R
+>>
+>>
+endobj
+9 0 obj
+<<
+/Producer (PDFKit)
+/Creator (PDFKit)
+/CreationDate (D:20201223070635Z)
+>>
+endobj
+3 0 obj
+<<
+>>
+endobj
+2 0 obj
+<<
+/Type /Catalog
+/Pages 1 0 R
+>>
+endobj
+1 0 obj
+<<
+/Type /Pages
+/Count 1
+/Kids [6 0 R]
+>>
+endobj
+4 0 obj
+<<
+/Length 273
+/Filter /FlateDecode
+>>
+stream
+xœ}QMkÃ0½ëWè<ˆkÉvl_×Ba°Á–Ãc§¬[WÒB	lR<Ò$û@Žä÷¢ç<9„V¢"IÄØá4P%±€gÐ�Ð,¥Ó"«[ÊñôSò'Q±w«ÂœgO“s–uývâj³ûxowÛkl{°¦v™)Ô©æèƒÍ	­¡²ú6
+—smcòŽ\äà3öí	VÛžð­’ï霨sÒ0í¥–iÉ›5Ði6™aOsàLTzÊëÜÿ;ÓºQÍúN
²´&à'x¼•Ë?ÈsOÏ¢|w†’‰A=`5ËoRr4uS�:Ê&ùbPé#°¡PìéˆSQŒýKüÝ¿‡FFœÆ>~M
+endstream
+endobj
+xref
+0 10
+0000000000 65535 f 
+0000000473 00000 n 
+0000000424 00000 n 
+0000000403 00000 n 
+0000000530 00000 n 
+0000000205 00000 n 
+0000000103 00000 n 
+0000000015 00000 n 
+0000000059 00000 n 
+0000000311 00000 n 
+trailer
+<<
+/Size 10
+/Root 2 0 R
+/Info 9 0 R
+>>
+startxref
+875
+%%EOF

+ 87 - 0
PDF Office/PDF Office/Class/PDFWindowController/PDFListView/NSImage/CPDFListView.xcassets/NSCursors/CPDFListViewImageNameCursorsRec.imageset/light_ic_cursors_rec.pdf

@@ -0,0 +1,87 @@
+%PDF-1.3
+%ÿÿÿÿ
+7 0 obj
+<<
+/Type /ExtGState
+/ca 1
+>>
+endobj
+8 0 obj
+<<
+/Type /ExtGState
+/CA 1
+>>
+endobj
+6 0 obj
+<<
+/Type /Page
+/Parent 1 0 R
+/MediaBox [0 0 12 12]
+/Contents 4 0 R
+/Resources 5 0 R
+>>
+endobj
+5 0 obj
+<<
+/ProcSet [/PDF /Text /ImageB /ImageC /ImageI]
+/ExtGState <<
+/Gs1 7 0 R
+/Gs2 8 0 R
+>>
+>>
+endobj
+9 0 obj
+<<
+/Producer (PDFKit)
+/Creator (PDFKit)
+/CreationDate (D:20201223070635Z)
+>>
+endobj
+3 0 obj
+<<
+>>
+endobj
+2 0 obj
+<<
+/Type /Catalog
+/Pages 1 0 R
+>>
+endobj
+1 0 obj
+<<
+/Type /Pages
+/Count 1
+/Kids [6 0 R]
+>>
+endobj
+4 0 obj
+<<
+/Length 273
+/Filter /FlateDecode
+>>
+stream
+xœ}QMkÃ0½ëWè<ˆkÉvl_×Ba°Á–Ãc§¬[WÒB	lR<Ò$û@Žä÷¢ç<9„V¢"IÄØá4P%±€gÐ�Ð,¥Ó"«[ÊñôSò'Q±w«ÂœgO“s–uývâj³ûxowÛkl{°¦v™)Ô©æèƒÍ	­¡²ú6
+—smcòŽ\äà3öí	VÛžð­’ï霨sÒ0í¥–iÉ›5Ði6™aOsàLTzÊëÜÿ;ÓºQÍúN
²´&à'x¼•Ë?ÈsOÏ¢|w†’‰A=`5ËoRr4uS�:Ê&ùbPé#°¡PìéˆSQŒýKüÝ¿‡FFœÆ>~M
+endstream
+endobj
+xref
+0 10
+0000000000 65535 f 
+0000000473 00000 n 
+0000000424 00000 n 
+0000000403 00000 n 
+0000000530 00000 n 
+0000000205 00000 n 
+0000000103 00000 n 
+0000000015 00000 n 
+0000000059 00000 n 
+0000000311 00000 n 
+trailer
+<<
+/Size 10
+/Root 2 0 R
+/Info 9 0 R
+>>
+startxref
+875
+%%EOF

+ 12 - 0
PDF Office/PDF Office/Class/PDFWindowController/PDFListView/NSImage/CPDFListView.xcassets/NSCursors/CPDFListViewImageNameCursorsRoundedrec.imageset/Contents.json

@@ -0,0 +1,12 @@
+{
+  "images" : [
+    {
+      "filename" : "ic_cursors_roundedrec-1.pdf",
+      "idiom" : "mac"
+    }
+  ],
+  "info" : {
+    "author" : "xcode",
+    "version" : 1
+  }
+}

BIN
PDF Office/PDF Office/Class/PDFWindowController/PDFListView/NSImage/CPDFListView.xcassets/NSCursors/CPDFListViewImageNameCursorsRoundedrec.imageset/ic_cursors_roundedrec-1.pdf


+ 12 - 0
PDF Office/PDF Office/Class/PDFWindowController/PDFListView/NSImage/CPDFListView.xcassets/NSCursors/CPDFListViewImageNameCursorsSign.imageset/Contents.json

@@ -0,0 +1,12 @@
+{
+  "images" : [
+    {
+      "filename" : "矩形.pdf",
+      "idiom" : "mac"
+    }
+  ],
+  "info" : {
+    "author" : "xcode",
+    "version" : 1
+  }
+}

BIN
PDF Office/PDF Office/Class/PDFWindowController/PDFListView/NSImage/CPDFListView.xcassets/NSCursors/CPDFListViewImageNameCursorsSign.imageset/矩形.pdf


+ 22 - 0
PDF Office/PDF Office/Class/PDFWindowController/PDFListView/NSImage/CPDFListView.xcassets/NSCursors/CPDFListViewImageNameCursorsStrikeout.imageset/Contents.json

@@ -0,0 +1,22 @@
+{
+  "images" : [
+    {
+      "filename" : "light_ic_cursors_strikeout.pdf",
+      "idiom" : "mac"
+    },
+    {
+      "appearances" : [
+        {
+          "appearance" : "luminosity",
+          "value" : "dark"
+        }
+      ],
+      "filename" : "light_ic_cursors_strikeout-1.pdf",
+      "idiom" : "mac"
+    }
+  ],
+  "info" : {
+    "author" : "xcode",
+    "version" : 1
+  }
+}

+ 89 - 0
PDF Office/PDF Office/Class/PDFWindowController/PDFListView/NSImage/CPDFListView.xcassets/NSCursors/CPDFListViewImageNameCursorsStrikeout.imageset/light_ic_cursors_strikeout-1.pdf

@@ -0,0 +1,89 @@
+%PDF-1.3
+%ÿÿÿÿ
+7 0 obj
+<<
+/Type /ExtGState
+/ca 1
+>>
+endobj
+8 0 obj
+<<
+/Type /ExtGState
+/CA 1
+>>
+endobj
+6 0 obj
+<<
+/Type /Page
+/Parent 1 0 R
+/MediaBox [0 0 12 12]
+/Contents 4 0 R
+/Resources 5 0 R
+>>
+endobj
+5 0 obj
+<<
+/ProcSet [/PDF /Text /ImageB /ImageC /ImageI]
+/ExtGState <<
+/Gs1 7 0 R
+/Gs2 8 0 R
+>>
+>>
+endobj
+9 0 obj
+<<
+/Producer (PDFKit)
+/Creator (PDFKit)
+/CreationDate (D:20201223070257Z)
+>>
+endobj
+3 0 obj
+<<
+>>
+endobj
+2 0 obj
+<<
+/Type /Catalog
+/Pages 1 0 R
+>>
+endobj
+1 0 obj
+<<
+/Type /Pages
+/Count 1
+/Kids [6 0 R]
+>>
+endobj
+4 0 obj
+<<
+/Length 419
+/Filter /FlateDecode
+>>
+stream
+xœ}“M�Ô0†ïù9#�7þŠ�+‹´H0ˆÓ°|iXi5ü}œ–iÓÝ‚Ò6õ“رý¶˜KŒÆ)Ÿ~¦Ç„šŸž˜�©¿¦˜Î}ŠëœÊ<}KòÃs—‚‘h>¸ê–gg~JûµñæÕý¯ï§û÷w/óé’
+  Z+êN¬œ­&µ¾Œòåô�nî.˜¿^RU+^3™a­QfÃܹt;ê- ³m(«Ýð¯mÐÈuòÙc‹Ÿƒ ��
j•lq²Ì@€¹Ž€A}“‹@FmŒ;°å|ܦˆÛ
+ÈÛVA"@¬-m8ï´¦k]3¢F›j$»H®åp”3€ëÞî÷åEz÷_
o�±ØÇñöm—‡º<½Ó¿“ä7ñ±ýˆûuúø)<?GrF•5r+´ÈæÖ1{¯›œg©LgàîÀ²ö"D°I©]=2Gm©»`K…Z”Š�ŒÁcOJ3õ„¦}ÌBÛ“£¯;`H–¢{ÍJ+Òƒ«­…ŸŸ÷⪓¹—"Ñ…i6
+q–O«Bkñwø†­N=Æ1$ÇÖ�
+endstream
+endobj
+xref
+0 10
+0000000000 65535 f 
+0000000473 00000 n 
+0000000424 00000 n 
+0000000403 00000 n 
+0000000530 00000 n 
+0000000205 00000 n 
+0000000103 00000 n 
+0000000015 00000 n 
+0000000059 00000 n 
+0000000311 00000 n 
+trailer
+<<
+/Size 10
+/Root 2 0 R
+/Info 9 0 R
+>>
+startxref
+1021
+%%EOF

+ 89 - 0
PDF Office/PDF Office/Class/PDFWindowController/PDFListView/NSImage/CPDFListView.xcassets/NSCursors/CPDFListViewImageNameCursorsStrikeout.imageset/light_ic_cursors_strikeout.pdf

@@ -0,0 +1,89 @@
+%PDF-1.3
+%ÿÿÿÿ
+7 0 obj
+<<
+/Type /ExtGState
+/ca 1
+>>
+endobj
+8 0 obj
+<<
+/Type /ExtGState
+/CA 1
+>>
+endobj
+6 0 obj
+<<
+/Type /Page
+/Parent 1 0 R
+/MediaBox [0 0 12 12]
+/Contents 4 0 R
+/Resources 5 0 R
+>>
+endobj
+5 0 obj
+<<
+/ProcSet [/PDF /Text /ImageB /ImageC /ImageI]
+/ExtGState <<
+/Gs1 7 0 R
+/Gs2 8 0 R
+>>
+>>
+endobj
+9 0 obj
+<<
+/Producer (PDFKit)
+/Creator (PDFKit)
+/CreationDate (D:20201223070257Z)
+>>
+endobj
+3 0 obj
+<<
+>>
+endobj
+2 0 obj
+<<
+/Type /Catalog
+/Pages 1 0 R
+>>
+endobj
+1 0 obj
+<<
+/Type /Pages
+/Count 1
+/Kids [6 0 R]
+>>
+endobj
+4 0 obj
+<<
+/Length 419
+/Filter /FlateDecode
+>>
+stream
+xœ}“M�Ô0†ïù9#�7þŠ�+‹´H0ˆÓ°|iXi5ü}œ–iÓÝ‚Ò6õ“رý¶˜KŒÆ)Ÿ~¦Ç„šŸž˜�©¿¦˜Î}ŠëœÊ<}KòÃs—‚‘h>¸ê–gg~JûµñæÕý¯ï§û÷w/óé’
+  Z+êN¬œ­&µ¾Œòåô�nî.˜¿^RU+^3™a­QfÃܹt;ê- ³m(«Ýð¯mÐÈuòÙc‹Ÿƒ ��
j•lq²Ì@€¹Ž€A}“‹@FmŒ;°å|ܦˆÛ
+ÈÛVA"@¬-m8ï´¦k]3¢F›j$»H®åp”3€ëÞî÷åEz÷_
o�±ØÇñöm—‡º<½Ó¿“ä7ñ±ýˆûuúø)<?GrF•5r+´ÈæÖ1{¯›œg©LgàîÀ²ö"D°I©]=2Gm©»`K…Z”Š�ŒÁcOJ3õ„¦}ÌBÛ“£¯;`H–¢{ÍJ+Òƒ«­…ŸŸ÷⪓¹—"Ñ…i6
+q–O«Bkñwø†­N=Æ1$ÇÖ�
+endstream
+endobj
+xref
+0 10
+0000000000 65535 f 
+0000000473 00000 n 
+0000000424 00000 n 
+0000000403 00000 n 
+0000000530 00000 n 
+0000000205 00000 n 
+0000000103 00000 n 
+0000000015 00000 n 
+0000000059 00000 n 
+0000000311 00000 n 
+trailer
+<<
+/Size 10
+/Root 2 0 R
+/Info 9 0 R
+>>
+startxref
+1021
+%%EOF

+ 22 - 0
PDF Office/PDF Office/Class/PDFWindowController/PDFListView/NSImage/CPDFListView.xcassets/NSCursors/CPDFListViewImageNameCursorsTAble.imageset/Contents.json

@@ -0,0 +1,22 @@
+{
+  "images" : [
+    {
+      "filename" : "light_ic_cursors_table.pdf",
+      "idiom" : "mac"
+    },
+    {
+      "appearances" : [
+        {
+          "appearance" : "luminosity",
+          "value" : "dark"
+        }
+      ],
+      "filename" : "light_ic_cursors_table (1).pdf",
+      "idiom" : "mac"
+    }
+  ],
+  "info" : {
+    "author" : "xcode",
+    "version" : 1
+  }
+}

BIN
PDF Office/PDF Office/Class/PDFWindowController/PDFListView/NSImage/CPDFListView.xcassets/NSCursors/CPDFListViewImageNameCursorsTAble.imageset/light_ic_cursors_table (1).pdf


BIN
PDF Office/PDF Office/Class/PDFWindowController/PDFListView/NSImage/CPDFListView.xcassets/NSCursors/CPDFListViewImageNameCursorsTAble.imageset/light_ic_cursors_table.pdf


+ 22 - 0
PDF Office/PDF Office/Class/PDFWindowController/PDFListView/NSImage/CPDFListView.xcassets/NSCursors/CPDFListViewImageNameCursorsText.imageset/Contents.json

@@ -0,0 +1,22 @@
+{
+  "images" : [
+    {
+      "filename" : "light_ic_cursors_text-1.pdf",
+      "idiom" : "mac"
+    },
+    {
+      "appearances" : [
+        {
+          "appearance" : "luminosity",
+          "value" : "dark"
+        }
+      ],
+      "filename" : "light_ic_cursors_text.pdf",
+      "idiom" : "mac"
+    }
+  ],
+  "info" : {
+    "author" : "xcode",
+    "version" : 1
+  }
+}

BIN
PDF Office/PDF Office/Class/PDFWindowController/PDFListView/NSImage/CPDFListView.xcassets/NSCursors/CPDFListViewImageNameCursorsText.imageset/light_ic_cursors_text-1.pdf


BIN
PDF Office/PDF Office/Class/PDFWindowController/PDFListView/NSImage/CPDFListView.xcassets/NSCursors/CPDFListViewImageNameCursorsText.imageset/light_ic_cursors_text.pdf


+ 12 - 0
PDF Office/PDF Office/Class/PDFWindowController/PDFListView/NSImage/CPDFListView.xcassets/NSCursors/CPDFListViewImageNameCursorsTextfield.imageset/Contents.json

@@ -0,0 +1,12 @@
+{
+  "images" : [
+    {
+      "filename" : "矩形 (1).pdf",
+      "idiom" : "mac"
+    }
+  ],
+  "info" : {
+    "author" : "xcode",
+    "version" : 1
+  }
+}

+ 87 - 0
PDF Office/PDF Office/Class/PDFWindowController/PDFListView/NSImage/CPDFListView.xcassets/NSCursors/CPDFListViewImageNameCursorsTextfield.imageset/矩形 (1).pdf

@@ -0,0 +1,87 @@
+%PDF-1.3
+%ÿÿÿÿ
+7 0 obj
+<<
+/Type /ExtGState
+/ca 1
+>>
+endobj
+8 0 obj
+<<
+/Type /ExtGState
+/CA 1
+>>
+endobj
+6 0 obj
+<<
+/Type /Page
+/Parent 1 0 R
+/MediaBox [0 0 230 34]
+/Contents 4 0 R
+/Resources 5 0 R
+>>
+endobj
+5 0 obj
+<<
+/ProcSet [/PDF /Text /ImageB /ImageC /ImageI]
+/ExtGState <<
+/Gs1 7 0 R
+/Gs2 8 0 R
+>>
+>>
+endobj
+9 0 obj
+<<
+/Producer (PDFKit)
+/Creator (PDFKit)
+/CreationDate (D:20210907091008Z)
+>>
+endobj
+3 0 obj
+<<
+>>
+endobj
+2 0 obj
+<<
+/Type /Catalog
+/Pages 1 0 R
+>>
+endobj
+1 0 obj
+<<
+/Type /Pages
+/Count 1
+/Kids [6 0 R]
+>>
+endobj
+4 0 obj
+<<
+/Length 212
+/Filter /FlateDecode
+>>
+stream
+xœu�M‹Â0†ïó+æ,T3ÍÇU„…]PÄSuiRп¿“*ØÝ"Cæ�<ä}IBè¬
+²&ŠUW =º�Û+ä¡–¬u¯æ¬á)gØb;6½Y@¡ÞÿÅ™ŽàÓ<û8Þ.Õq½œcÕ�›&¦ÒGÏAK—¢Ì()Qð\#kFÃ#‰»ª…Ù²#<uÃÈÅÆ"ÉLR¾B¼ðMŽ’w!ª�ÁÍâ;grÎd¼ƒâ—}Ì�­OØííú{åïãdZ÷*b=äó	¬õt„U
+endstream
+endobj
+xref
+0 10
+0000000000 65535 f 
+0000000474 00000 n 
+0000000425 00000 n 
+0000000404 00000 n 
+0000000531 00000 n 
+0000000206 00000 n 
+0000000103 00000 n 
+0000000015 00000 n 
+0000000059 00000 n 
+0000000312 00000 n 
+trailer
+<<
+/Size 10
+/Root 2 0 R
+/Info 9 0 R
+>>
+startxref
+815
+%%EOF

+ 12 - 0
PDF Office/PDF Office/Class/PDFWindowController/PDFListView/NSImage/CPDFListView.xcassets/NSCursors/CPDFListViewImageNameCursorsTick.imageset/Contents.json

@@ -0,0 +1,12 @@
+{
+  "images" : [
+    {
+      "filename" : "ic_cursors_tick-1.pdf",
+      "idiom" : "mac"
+    }
+  ],
+  "info" : {
+    "author" : "xcode",
+    "version" : 1
+  }
+}

+ 89 - 0
PDF Office/PDF Office/Class/PDFWindowController/PDFListView/NSImage/CPDFListView.xcassets/NSCursors/CPDFListViewImageNameCursorsTick.imageset/ic_cursors_tick-1.pdf

@@ -0,0 +1,89 @@
+%PDF-1.3
+%ÿÿÿÿ
+7 0 obj
+<<
+/Type /ExtGState
+/ca 1
+>>
+endobj
+8 0 obj
+<<
+/Type /ExtGState
+/CA 1
+>>
+endobj
+6 0 obj
+<<
+/Type /Page
+/Parent 1 0 R
+/MediaBox [0 0 12 12]
+/Contents 4 0 R
+/Resources 5 0 R
+>>
+endobj
+5 0 obj
+<<
+/ProcSet [/PDF /Text /ImageB /ImageC /ImageI]
+/ExtGState <<
+/Gs1 7 0 R
+/Gs2 8 0 R
+>>
+>>
+endobj
+9 0 obj
+<<
+/Producer (PDFKit)
+/Creator (PDFKit)
+/CreationDate (D:20201228103258Z)
+>>
+endobj
+3 0 obj
+<<
+>>
+endobj
+2 0 obj
+<<
+/Type /Catalog
+/Pages 1 0 R
+>>
+endobj
+1 0 obj
+<<
+/Type /Pages
+/Count 1
+/Kids [6 0 R]
+>>
+endobj
+4 0 obj
+<<
+/Length 303
+/Filter /FlateDecode
+>>
+stream
+xœ…‘MK1†ïùs6Í|e’«
+‚‚öàA<­­ÔBYпïdWP»™$“¼³™Ì3‹�Ü:ô	ú·p8JÓêÂÑñÚÆer·kÎÇ.¤É=‡;Øϯü)t„Õ «Z넦PÙŽTòÀÉŒ7siq±yé7·«sè‡�"
+¢e±¤¥+ƒKßGª-ìÁÐïÃb5 <
Säš�b©$µ�cÄ‚ˆ
+¥ªqvn�$Y<È‚ÅZ/0Šd‹*hV\£ˆÊê�çXXòø�¶Ò ÆBS·gÿà,×l¶^^·J©Uš¢ÂG¸ò_ñêó2Ü?øÍÇ�5%sbߌÊȘ„j™ Œl¢0ÂÌu¤H•Jå!Þ	ú‚@)ž»z>¢<6`þrã[;ÞOû€¤
+endstream
+endobj
+xref
+0 10
+0000000000 65535 f 
+0000000473 00000 n 
+0000000424 00000 n 
+0000000403 00000 n 
+0000000530 00000 n 
+0000000205 00000 n 
+0000000103 00000 n 
+0000000015 00000 n 
+0000000059 00000 n 
+0000000311 00000 n 
+trailer
+<<
+/Size 10
+/Root 2 0 R
+/Info 9 0 R
+>>
+startxref
+905
+%%EOF

+ 22 - 0
PDF Office/PDF Office/Class/PDFWindowController/PDFListView/NSImage/CPDFListView.xcassets/NSCursors/CPDFListViewImageNameCursorsUnderline.imageset/Contents.json

@@ -0,0 +1,22 @@
+{
+  "images" : [
+    {
+      "filename" : "light_ic_cursors_underline.pdf",
+      "idiom" : "mac"
+    },
+    {
+      "appearances" : [
+        {
+          "appearance" : "luminosity",
+          "value" : "dark"
+        }
+      ],
+      "filename" : "light_ic_cursors_underline-1.pdf",
+      "idiom" : "mac"
+    }
+  ],
+  "info" : {
+    "author" : "xcode",
+    "version" : 1
+  }
+}

BIN
PDF Office/PDF Office/Class/PDFWindowController/PDFListView/NSImage/CPDFListView.xcassets/NSCursors/CPDFListViewImageNameCursorsUnderline.imageset/light_ic_cursors_underline-1.pdf


BIN
PDF Office/PDF Office/Class/PDFWindowController/PDFListView/NSImage/CPDFListView.xcassets/NSCursors/CPDFListViewImageNameCursorsUnderline.imageset/light_ic_cursors_underline.pdf


+ 6 - 0
PDF Office/PDF Office/Class/PDFWindowController/PDFListView/NSImage/CPDFListView.xcassets/NSCursors/Contents.json

@@ -0,0 +1,6 @@
+{
+  "info" : {
+    "author" : "xcode",
+    "version" : 1
+  }
+}