Browse Source

【综合】BOTA 缩略图-旋转后,要适应横页宽度的大小(已修复)

tangchao 11 months ago
parent
commit
65df4c5cbb

+ 11 - 12
PDF Office/PDF Master/Class/PDFWindowController/Side/LeftSide/View/KMThumbnailTableviewCell.swift

@@ -64,38 +64,37 @@ class KMThumbnailTableviewCell: NSTableCellView {
         let height = NSHeight(self.bounds)
         
         let border: CGFloat = 10
-        var bounds: NSRect = NSZeroRect
-        bounds = self.pageView.page?.bounds ?? .zero
-        if (bounds.size.width == 0) {
-            return
-        }
-        if (bounds.size.height == 0) {
+        var bounds = self.pageView.page?.bounds ?? .zero
+        let rotate = self.pageView.page?.rotation ?? 0 % 360
+        if (bounds.size.equalTo(.zero)) {
             return
         }
         
-        var pageSelectionSize = CGSize(width: self.frame.size.width-30, height: self.frame.size.height-40)
-//        pageSelectionSize.height -= 40
+        if rotate == 90 || rotate == 270 {
+            let tmp = bounds.size.width
+            bounds.size.width = bounds.size.height
+            bounds.size.height = tmp
+        }
+        var pageSelectionSize = CGSize(width: NSWidth(self.bounds)-30, height: NSHeight(self.bounds)-40)
         var size = NSMakeSize(pageSelectionSize.width - 2 * border, pageSelectionSize.height - 2 * border)
 //        let minScale = min(size.width/bounds.size.width, size.height/bounds.size.height)
         let minScale = size.height/bounds.size.height
         size.width = bounds.size.width * minScale
         size.height = bounds.size.height * minScale
         
-        let rotate = self.pageView.page?.rotation ?? 0 % 360
         if rotate == 90 || rotate == 270 {
             let max = max(size.height, size.width)
 //            let ws = size.width / max
             let hs = size.height / max
             
             let tmp = size.width
-            size.width = size.height * hs
+//            size.width = size.height * hs
 //            size.height = tmp
         }
         
         let pageViewX = (pageSelectionSize.width-size.width) * 0.5 + 15
         let pageViewY = (pageSelectionSize.height-size.height) * 0.5 + 20 + 20
-        pageView.frame = NSMakeRect(pageViewX, pageViewY, size.width, size.height)
-//        self.thumImage?.frame = NSMakeRect(pageViewX, pageViewY, size.width, size.height)
+        self.pageView.frame = NSMakeRect(pageViewX, pageViewY, size.width, size.height)
         self.pageBox.frame = NSInsetRect(self.pageView.frame, -5, -5)
     }
 }