1
Fork 0

Fix some documents being clipped when rendered

This commit is contained in:
Joshua Goins 2020-05-30 17:49:24 -04:00 committed by redstrate
parent c5562ca7d2
commit 51575e1e5a

View file

@ -105,7 +105,7 @@ class Document: NSDocument {
let y = Int(pathComponents[1]) let y = Int(pathComponents[1])
if x != nil && y != nil { if x != nil && y != nil {
return (x!, y!) return (x!, y! + 1)
} else { } else {
return nil return nil
} }
@ -137,14 +137,12 @@ class Document: NSDocument {
DispatchQueue.concurrentPerform(iterations: chunkPaths.count) { (i: Int) in DispatchQueue.concurrentPerform(iterations: chunkPaths.count) { (i: Int) in
dispatchGroup.enter() dispatchGroup.enter()
var threadArchive: Archive? guard let threadArchive = Archive(data: self.data!, accessMode: Archive.AccessMode.read) else {
var threadEntry: Entry? return
queue.sync {
threadArchive = Archive(data: self.data!, accessMode: Archive.AccessMode.read)
threadEntry = threadArchive?[chunkPaths[i]]
} }
let threadEntry = threadArchive[chunkPaths[i]]
guard let (x, y) = parseChunkFilename(filename: threadEntry!.path) else { guard let (x, y) = parseChunkFilename(filename: threadEntry!.path) else {
return return
} }
@ -154,7 +152,7 @@ class Document: NSDocument {
let uncompressedMemory = UnsafeMutablePointer<UInt8>.allocate(capacity: byteSize) let uncompressedMemory = UnsafeMutablePointer<UInt8>.allocate(capacity: byteSize)
guard let lzoData = readData(archive: threadArchive!, entry: threadEntry!) else { guard let lzoData = readData(archive: threadArchive, entry: threadEntry!) else {
return return
} }
@ -166,7 +164,7 @@ class Document: NSDocument {
let imageData = Data(bytes: uncompressedMemory, count: byteSize) let imageData = Data(bytes: uncompressedMemory, count: byteSize)
let render: CGColorRenderingIntent = CGColorRenderingIntent.defaultIntent let render: CGColorRenderingIntent = .defaultIntent
let rgbColorSpace = CGColorSpaceCreateDeviceRGB() let rgbColorSpace = CGColorSpaceCreateDeviceRGB()
let bitmapInfo = CGBitmapInfo(rawValue: CGImageAlphaInfo.last.rawValue).union(.byteOrder32Big) let bitmapInfo = CGBitmapInfo(rawValue: CGImageAlphaInfo.last.rawValue).union(.byteOrder32Big)
let providerRef: CGDataProvider? = CGDataProvider(data: imageData as CFData) let providerRef: CGDataProvider? = CGDataProvider(data: imageData as CFData)