Path: blob/a-new-beginning/Folium-macOS/Extensions/CGImage.swift
2 views
//
// CGImage.swift
// Folium (macOS)
//
// Created by Jarrod Norwell on 13/12/2025.
//
import CoreGraphics
extension CGImage {
static func snes(_ pointer: UnsafeMutablePointer<UInt8>, _ width: Int, _ height: Int) -> CGImage? {
let bitsPerComponent = 8
let bytesPerPixel = 4
let bitsPerPixel = bytesPerPixel * bitsPerComponent
let bytesPerRow = bytesPerPixel * width
let size = height * bytesPerRow
guard let provider: CGDataProvider = .init(dataInfo: nil, data: pointer, size: size, releaseData: { info, data, size in
}) else {
return nil
}
// guard let provider: CGDataProvider = .init(dataInfo: nil, data: pointer, size: size, releaseData: { _, data, _ in
// data.deallocate()
// }) else {
// return nil
// }
return .init(width: width,
height: height,
bitsPerComponent: bitsPerComponent,
bitsPerPixel: bitsPerPixel,
bytesPerRow: bytesPerRow,
space: CGColorSpaceCreateDeviceRGB(),
bitmapInfo: CGBitmapInfo(rawValue: CGImageAlphaInfo.noneSkipLast.rawValue).union(.byteOrder32Little),
provider: provider,
decode: nil,
shouldInterpolate: false,
intent: .defaultIntent)
}
}