Exemplo n.º 1
0
        private SlimDX.Direct3D9.Font CreateFont(Device dev, int slice)
        {
            var name    = FFontInput[slice].Name;
            var size    = FSizeInput[slice];
            var italic  = FItalicInput[slice];
            var weight  = FBoldInput[slice] ? FontWeight.Bold : FontWeight.Light;
            var quality = FQuality[slice];

            var id = GetFontKey(dev, name, size, italic, weight, quality);

            SlimDX.Direct3D9.Font font;
            if (!FFonts.TryGetValue(id, out font))
            {
                font = new SlimDX.Direct3D9.Font(
                    dev, size, 0, weight, 0, italic, CharacterSet.Default, Precision.Default,                     //id.Precision,
                    quality, PitchAndFamily.Default, name);

                font.PreloadCharacters(FPreloadMin[slice], FPreloadMax[slice]);

                FFonts.Add(id, font);
            }

            if (FFontCaching[slice])
            {
                font.Tag = dev;
            }
            else
            {
                font.Tag = null;                 // Will be removed by next Evaluate
            }
            return(font);
        }