luminate/Sources/LuminateCore/Models/JellyfinImageFormat.swift

39 lines
1.5 KiB
Swift

//
// JellyfinImageFormat.swift
//
// Copyright 2026 Brendan Szymanski <hello@bscubed.dev>
//
// 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://www.gnu.org/licenses/>.
//
// SPDX-License-Identifier: GPL-3.0-or-later
//
/// The encodings a Jellyfin server can transcode artwork into.
///
/// Raw values are the server's `ImageFormat` spellings. Leaving the format unset on a
/// ``JellyfinImageRequest`` lets the server pick, which is what Luminate normally wants.
package enum JellyfinImageFormat: String, CaseIterable, Hashable, Sendable {
/// Windows bitmap.
case bmp = "Bmp"
/// Graphics Interchange Format.
case gif = "Gif"
/// JPEG, the server's usual choice for photographic artwork.
case jpg = "Jpg"
/// PNG, preferred for logos and other artwork with transparency.
case png = "Png"
/// WebP.
case webp = "Webp"
/// Scalable Vector Graphics.
case svg = "Svg"
}