]> git.r.bdr.sh - rbdr/captura/blobdiff - Captura/Data/GifRenderer.swift
Use tinted PDF for Icon
[rbdr/captura] / Captura / Data / GifRenderer.swift
index 208d7db6f0a683c7bc4904fcc7680aea852ca76f..2435cb464f48f4fb038f17243dbc26d704ec3c52 100644 (file)
@@ -1,14 +1,38 @@
-import UniformTypeIdentifiers
-import SwiftUI
 import CoreGraphics
 import CoreGraphics
+import SwiftUI
+/*
+ Copyright (C) 2024 Rubén Beltrán del Río
+
+ This program is free software: you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation, either version 3 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program. If not, see https://captura.tranquil.systems.
+ */
+import UniformTypeIdentifiers
 
 struct GifRenderer {
   static func render(_ images: [CGImage], at fps: Int, to url: URL) async {
     let framedelay = String(format: "%.3f", 1.0 / Double(fps))
 
 struct GifRenderer {
   static func render(_ images: [CGImage], at fps: Int, to url: URL) async {
     let framedelay = String(format: "%.3f", 1.0 / Double(fps))
-    let fileProperties = [kCGImagePropertyGIFDictionary as String: [kCGImagePropertyGIFLoopCount as String: 0]]
-    let gifProperties = [kCGImagePropertyGIFDictionary as String: [kCGImagePropertyGIFUnclampedDelayTime as String: framedelay]]
+    let fileProperties = [
+      kCGImagePropertyGIFDictionary as String: [kCGImagePropertyGIFLoopCount as String: 0]
+    ]
+    let gifProperties = [
+      kCGImagePropertyGIFDictionary as String: [
+        kCGImagePropertyGIFUnclampedDelayTime as String: framedelay
+      ]
+    ]
     let cfURL = url as CFURL
     let cfURL = url as CFURL
-    if let destination = CGImageDestinationCreateWithURL(cfURL, UTType.gif.identifier as CFString, images.count, nil) {
+    if let destination = CGImageDestinationCreateWithURL(
+      cfURL, UTType.gif.identifier as CFString, images.count, nil)
+    {
       CGImageDestinationSetProperties(destination, fileProperties as CFDictionary?)
       for image in images {
         CGImageDestinationAddImage(destination, image, gifProperties as CFDictionary?)
       CGImageDestinationSetProperties(destination, fileProperties as CFDictionary?)
       for image in images {
         CGImageDestinationAddImage(destination, image, gifProperties as CFDictionary?)