Esempio n. 1
0
 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();
            }
        }
Esempio n. 4
0
        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));
            }
        }
Esempio n. 5
0
 public PdnLocalizedStringResourceManager(IDdsFileTypePlusStrings strings)
 {
     this.strings = strings;
 }