window.endSheet(panelWindow)
}
- @IBAction func screenShot(_ sender: AnyObject?) {
+ func screenshotOld() {
- let frame = view.visibleRect
-// let screenshotBorder = UserDefaults.standard[.screenShotBorderWidth]
-// let f = frame.insetBy(dx: -screenshotBorder, dy: -screenshotBorder)
+ let frame = webView.visibleRect
+ let screenshotBorder = UserDefaults.standard[.screenShotBorderWidth]
+ let f = frame.insetBy(dx: -screenshotBorder, dy: -screenshotBorder)
- guard let window = view.window else { return Logger.shared.log("Can not get window") }
+ guard let rep = webView.bitmapImageRepForCachingDisplay(in: f) else { return }
- let windowCoordinateFrame = view.convert(frame, to: nil)
+ webView.cacheDisplay(in: frame, to: rep)
+ AppDelegate.shared.registerScreenshot(rep, fromOnScreen: .zero)
+ }
+
+ @available(OSX 10.13, *)
+ func screenshot() {
+
+ let frame = view.visibleRect
+ let screenshotBorder = UserDefaults.standard[.screenShotBorderWidth]
+ let f = frame.insetBy(dx: -screenshotBorder, dy: -screenshotBorder)
+ let windowCoordinateFrame = view.convert(f, to: nil)
+ guard let window = view.window else { return Logger.shared.log("Can not get window") }
let screenCoordinsteFrame = window.convertToScreen(windowCoordinateFrame)
guard let screen = NSScreen.main else { return Logger.shared.log("Can not get Screen") }
AppDelegate.shared.registerScreenshot(rep, fromOnScreen: .zero)
}
+ @IBAction func screenShot(_ sender: AnyObject?) {
+
+ if #available(OSX 10.13, *) {
+
+ screenshot()
+
+ } else {
+
+ screenshotOld()
+ }
+ }
+
override func validateMenuItem(_ menuItem: NSMenuItem) -> Bool {
guard let action: Selector = menuItem.action else { return false }