using Dalamud.Plugin; using Penumbra.Api.Api; using Penumbra.Api.Enums; using Penumbra.Api.Helpers; namespace Penumbra.Api.IpcSubscribers; /// public sealed class ConvertTextureFile(IDalamudPluginInterface pi) : FuncSubscriber(pi, Label) { /// The label. public const string Label = $"Penumbra.{nameof(ConvertTextureFile)}"; /// public Task Invoke(string inputFile, string outputFile, TextureType textureType, bool mipMaps = true) => Invoke(inputFile, outputFile, (int)textureType, mipMaps); /// Create a provider. public static FuncProvider Provider(IDalamudPluginInterface pi, IPenumbraApiEditing api) => new(pi, Label, (a, b, c, d) => api.ConvertTextureFile(a, b, (TextureType)c, d)); } /// public sealed class ConvertTextureData(IDalamudPluginInterface pi) : FuncSubscriber(pi, Label) { /// The label. public const string Label = $"Penumbra.{nameof(ConvertTextureData)}"; /// public Task Invoke(byte[] rgbaData, int width, string outputFile, TextureType textureType, bool mipMaps = true) => Invoke(rgbaData, width, outputFile, (int)textureType, mipMaps); /// Create a provider. public static FuncProvider Provider(IDalamudPluginInterface pi, IPenumbraApiEditing api) => new(pi, Label, (a, b, c, d, e) => api.ConvertTextureData(a, b, c, (TextureType)d, e)); }