示例#1
0
        private void LoadQFontFromQFontFile(FontLoadDescription loadDescription)
        {
            var loaderConfig     = loadDescription.LoaderConfig;
            var filePath         = loadDescription.Path;
            var downSampleFactor = loadDescription.DownSampleFactor;


            if (loaderConfig == null)
            {
                loaderConfig = new QFontLoaderConfiguration();
            }

            TransformViewport?transToVp = null;
            float             fontScale = 1f;

            if (loaderConfig.TransformToCurrentOrthogProjection)
            {
                transToVp = OrthogonalTransform(out fontScale);
            }

            fontData = Builder.LoadQFontDataFromFile(filePath, downSampleFactor * fontScale, loaderConfig);
            fontData.scaleDueToTransformToViewport = fontScale;

            if (loaderConfig.ShadowConfig != null)
            {
                Options.DropShadowActive = true;
            }
            if (transToVp != null)
            {
                Options.TransformToViewport = transToVp;
            }
        }
示例#2
0
        public static QFont FromQFontAndBitmap(List <Bitmap> pages, byte[] qfontdata, float downSampleFactor, QFontLoaderConfiguration loaderConfig)
        {
            if (loaderConfig == null)
            {
                loaderConfig = new QFontLoaderConfiguration();
            }

            TransformViewport?transToVp = null;
            float             fontScale = 1f;

            if (loaderConfig.TransformToCurrentOrthogProjection)
            {
                transToVp = OrthogonalTransform(out fontScale);
            }

            QFont qfont = new QFont();

            qfont.fontData = Builder.LoadQFontDataFromFile(pages, qfontdata, downSampleFactor * fontScale, loaderConfig);

            if (loaderConfig.ShadowConfig != null)
            {
                qfont.Options.DropShadowActive = true;
            }
            if (transToVp != null)
            {
                qfont.Options.TransformToViewport = transToVp;
            }

            qfont.InitVBOs();
            return(qfont);
        }
示例#3
0
        public static QFont FromQFontFile(string filePath, float downSampleFactor, QFontLoaderConfiguration loaderConfig)
        {
            if (loaderConfig == null)
            {
                loaderConfig = new QFontLoaderConfiguration();
            }

            TransformViewport?transToVp = null;
            float             fontScale = 1f;

            if (loaderConfig.TransformToCurrentOrthogProjection)
            {
                transToVp = OrthogonalTransform(out fontScale);
            }

            QFont qfont = new QFont();

            qfont.fontData = Builder.LoadQFontDataFromFile(filePath, downSampleFactor * fontScale, loaderConfig);

            if (loaderConfig.ShadowConfig != null)
            {
                qfont.Options.DropShadowActive = true;
            }
            if (transToVp != null)
            {
                qfont.Options.TransformToViewport = transToVp;
            }

            return(qfont);
        }
示例#4
0
        /// <summary>
        ///     Initialise QFont from a .qfont file
        /// </summary>
        /// <param name="qfontPath">The .qfont file to load</param>
        /// <param name="loaderConfig">The loader configuration</param>
        /// <param name="downSampleFactor">The downsampling factor</param>
        public QFont(string qfontPath, QFontConfiguration loaderConfig, float downSampleFactor = 1.0f)
        {
            float fontScale = 1f;

            InitialiseQFont(null, new QFontBuilderConfiguration(loaderConfig), Builder.LoadQFontDataFromFile(qfontPath, downSampleFactor * fontScale, loaderConfig));
            FontName = qfontPath;
        }
示例#5
0
        public static QFont FromQFontFile(string filePath, float downSampleFactor, QFontShadowConfiguration shadowConfig)
        {
            QFont qfont = new QFont();

            qfont.fontData = Builder.LoadQFontDataFromFile(filePath, downSampleFactor, shadowConfig);
            if (shadowConfig != null)
            {
                qfont.options.DropShadowActive = true;
            }

            return(qfont);
        }
示例#6
0
        /// <summary>
        ///     Initialise QFont from a .qfont file
        /// </summary>
        /// <param name="qfontPath">The .qfont file to load</param>
        /// <param name="loaderConfig"></param>
        /// <param name="downSampleFactor"></param>
        /// <param name="currentProjectionMatrix">The current projection matrix to create a font pixel perfect, for.</param>
        public QFont(string qfontPath, QFontConfiguration loaderConfig, float downSampleFactor = 1.0f, Matrix4 currentProjectionMatrix = default(Matrix4))
        {
            Viewport?transToVp = null;
            float    fontScale = 1f;

            if (loaderConfig.TransformToCurrentOrthogProjection)
            {
                transToVp = OrthogonalTransform(out fontScale, currentProjectionMatrix);
            }

            InitialiseGlFont(null, new QFontBuilderConfiguration(loaderConfig), Builder.LoadQFontDataFromFile(qfontPath, downSampleFactor * fontScale, loaderConfig));
            _fontName = qfontPath;
            ViewportHelper.CurrentViewport.ToString();
            // TODO: What to do with transToVp?  Property:Matrix4 and use in QFontDrawing?
//if (transToVp != null)
//    Options.TransformToViewport = transToVp;
        }