using Penumbra.Api.Enums;
namespace Penumbra.Api.Api;
/// API methods pertaining to the editing of mods or game files.
public interface IPenumbraApiEditing
{
///
/// Convert the given texture file into a different type or format and potentially add mip maps.
///
/// The path to the input file, which may be of .dds, .tex or .png format.
/// The desired output path. Can be the same as input.
/// The file type and format to convert the data to.
/// Whether to add mip maps or not. Ignored for .png.
/// A task for when the conversion is finished or has failed.
public Task ConvertTextureFile(string inputFile, string outputFile, TextureType textureType, bool mipMaps);
///
/// Convert the given RGBA32 texture data into a different type or format and potentially add mip maps.
///
/// The input byte data for a picture given in RGBA32 format.
/// The width of the input picture. The height is computed from the size of and this.
/// The desired output path. Can be the same as input.
/// The file type and format to convert the data to.
/// Whether to add mip maps or not. Ignored for .png.
/// A task for when the conversion is finished or has failed.
public Task ConvertTextureData(byte[] rgbaData, int width, string outputFile, TextureType textureType, bool mipMaps);
}