OSDN Git Service

不要となっていたプロパティを削除
[kcd/KCD.git] / KCD / ScreenshotRegister.swift
1 //
2 //  ScreenshotRegister.swift
3 //  KCD
4 //
5 //  Created by Hori,Masaki on 2017/11/05.
6 //  Copyright © 2017年 Hori,Masaki. All rights reserved.
7 //
8
9 import Cocoa
10
11
12 extension Notification.Name {
13     
14     static let didRegisterScreenshot = Notification.Name(rawValue: "ScreenshotRegister.didRegisterScreenshot")
15 }
16
17 class ScreenshotRegister {
18     
19     static let screenshotURLKey = "ScreenshotRegister.screenshotURLKey"
20     
21     let url: URL
22     
23     init(_ url: URL) {
24         
25         self.url = url
26     }
27     
28     func registerScreenshot(_ image: NSBitmapImageRep, name: String) {
29         
30         DispatchQueue(label: "Screenshot queue").async {
31             
32             guard let data = image.representation(using: .jpeg, properties: [:]) else {
33                 
34                 return
35             }
36             
37             let url = self.url
38                 .appendingPathComponent(name)
39                 .appendingPathExtension("jpg")
40             let pathURL = FileManager.default.uniqueFileURL(url)
41             
42             do {
43                 
44                 try data.write(to: pathURL)
45                 
46             } catch {
47                 
48                 Logger.shared.log("Can not write image")
49                 
50                 return
51             }
52             
53             self.notify(url: pathURL)
54         }
55     }
56     
57     func notify(url: URL) {
58         
59         DispatchQueue.main.async {
60             
61             NotificationCenter.default
62                 .post(name: .didRegisterScreenshot,
63                       object: self,
64                       userInfo: [ScreenshotRegister.screenshotURLKey: url])
65         }
66     }
67     
68 }