public DdsFileType(IServiceProvider services) : base(GetString(services.GetService <IDdsFileTypePlusStrings>(), DdsFileTypePlusStringName.FileType_Name), new FileTypeOptions() { LoadExtensions = new string[] { ".dds" }, SaveExtensions = new string[] { ".dds" } }) { this.services = services; this.strings = services.GetService <IDdsFileTypePlusStrings>(); }
private static string GetFileTypeName(IDdsFileTypePlusStrings strings) { string name = strings?.TryGetString(DdsFileTypePlusStringName.FileType_Name); if (name is null) { name = Properties.Resources.FileType_Name; } return(name); }
public DdsFileType(IServiceProvider services) : base(GetFileTypeName(services.GetService <IDdsFileTypePlusStrings>()), new FileTypeOptions() { LoadExtensions = new string[] { ".dds" }, SaveExtensions = new string[] { ".dds" } }) { this.services = services; IDdsFileTypePlusStrings ddsFileTypePlusStrings = services.GetService <IDdsFileTypePlusStrings>(); if (ddsFileTypePlusStrings != null) { this.strings = new PdnLocalizedStringResourceManager(ddsFileTypePlusStrings); } else { this.strings = new BuiltinStringResourceManager(); } }
private static string GetString(IDdsFileTypePlusStrings strings, DdsFileTypePlusStringName name) { string value = strings?.TryGetString(name); if (value != null) { return(value); } switch (name) { case DdsFileTypePlusStringName.FileType_Name: return("DirectDraw Surface (DDS)"); case DdsFileTypePlusStringName.DdsFileFormat_BC1: return("BC1 (Linear, DXT1)"); case DdsFileTypePlusStringName.DdsFileFormat_BC1Srgb: return("BC1 (sRGB, DX 10+)"); case DdsFileTypePlusStringName.DdsFileFormat_BC2: return("BC2 (Linear, DXT3)"); case DdsFileTypePlusStringName.DdsFileFormat_BC2Srgb: return("BC2 (sRGB, DX 10+)"); case DdsFileTypePlusStringName.DdsFileFormat_BC3: return("BC3 (Linear, DXT5)"); case DdsFileTypePlusStringName.DdsFileFormat_BC3Srgb: return("BC3 (sRGB, DX 10+)"); case DdsFileTypePlusStringName.DdsFileFormat_BC4Unsigned: return("BC4 (Linear, Unsigned)"); case DdsFileTypePlusStringName.DdsFileFormat_BC5Unsigned: return("BC5 (Linear, Unsigned)"); case DdsFileTypePlusStringName.DdsFileFormat_BC5Signed: return("BC5 (Linear, Signed)"); case DdsFileTypePlusStringName.DdsFileFormat_BC6HUnsigned: return("BC6H (Linear, Unsigned, DX 11+)"); case DdsFileTypePlusStringName.DdsFileFormat_BC7: return("BC7 (Linear, DX 11+)"); case DdsFileTypePlusStringName.DdsFileFormat_BC7Srgb: return("BC7 (sRGB, DX 11+)"); case DdsFileTypePlusStringName.DdsFileFormat_B8G8R8A8: return("B8G8R8A8 (Linear, A8R8G8B8)"); case DdsFileTypePlusStringName.DdsFileFormat_B8G8R8X8: return("B8G8R8X8 (Linear, X8R8G8B8)"); case DdsFileTypePlusStringName.DdsFileFormat_R8G8B8A8: return("R8G8B8A8 (Linear, A8B8G8R8)"); case DdsFileTypePlusStringName.DdsFileFormat_B5G5R5A1: return("B5G5R5A1 (Linear, A1R5G5B5)"); case DdsFileTypePlusStringName.DdsFileFormat_B4G4R4A4: return("B4G4R4A4 (Linear, A4R4G4B4)"); case DdsFileTypePlusStringName.DdsFileFormat_B5G6R5: return("B5G6R5 (Linear, R5G6B5)"); case DdsFileTypePlusStringName.BC7CompressionMode_DisplayName: return("BC6H / BC7 Compression Mode"); case DdsFileTypePlusStringName.BC7CompressionMode_Fast: return("Fast"); case DdsFileTypePlusStringName.BC7CompressionMode_Normal: return("Normal"); case DdsFileTypePlusStringName.BC7CompressionMode_Slow: return("Slow"); case DdsFileTypePlusStringName.ErrorMetric_DisplayName: return("Error Metric"); case DdsFileTypePlusStringName.ErrorMetric_Perceptual: return("Perceptual"); case DdsFileTypePlusStringName.ErrorMetric_Uniform: return("Uniform"); case DdsFileTypePlusStringName.CubeMap_Description: return("Cube Map from crossed image"); case DdsFileTypePlusStringName.GenerateMipMaps_Description: return("Generate Mip Maps"); case DdsFileTypePlusStringName.ResamplingAlgorithm_NearestNeighbor: return("Nearest Neighbor"); case DdsFileTypePlusStringName.ResamplingAlgorithm_Bicubic: return("Bicubic"); case DdsFileTypePlusStringName.ResamplingAlgorithm_Bilinear: return("Bilinear"); case DdsFileTypePlusStringName.ResamplingAlgorithm_Fant: return("Fant"); case DdsFileTypePlusStringName.ResamplingAlgorithm_SuperSampling: return("Super Sampling"); case DdsFileTypePlusStringName.ForumLink_DisplayName: return("More Info"); case DdsFileTypePlusStringName.ForumLink_Description: return("Forum Discussion"); default: throw ExceptionUtil.InvalidEnumArgumentException(name, nameof(name)); } }
public PdnLocalizedStringResourceManager(IDdsFileTypePlusStrings strings) { this.strings = strings; }