public static void AddText(this QFontDrawing renderer, string text, QFont font, Color color, RectangleF bounds, StringAlignment vAlign = StringAlignment.Near, StringAlignment hAlign = StringAlignment.Near) { var dp = new QFontDrawingPrimitive(font, new QFontRenderOptions() { Colour = color, LockToPixel = true }); AddText(dp, text, bounds, vAlign, hAlign); }
/// <summary> /// The default Constructor. /// </summary> public SceneManager(GameWindow gameWindow, Camera camera, FontLibrary fontLibrary, string fontPath, IDirectoryHandler directoryHandler, IGameSettings gameSettings, ValueWrapper<bool> debug) { GameWindow = gameWindow; SceneList = new List<Scene>(); _scenesToAdd = new List<Scene>(); _scenesToRemove = new List<Scene>(); Directories = directoryHandler; FontPath = fontPath; GameFontLibrary = fontLibrary; DefaultFont = GameFontLibrary.GetFirstOrDefault(GameFontType.Default); FontDrawing = new QFontDrawing(); FontDrawing.ProjectionMatrix = camera.ScreenProjectionMatrix; ScreenCamera = camera; ScreenCamera.Center = Vector2.Zero; ScreenCamera.MaximumScale = new Vector2(10000, 10000); GameSettings = gameSettings; Debug = debug; }
//public static void AddText(this QFontDrawing renderer, string text, QFont font, Color color, PointF position, QFontAlignment alignment = QFontAlignment.Left) //{ // AddText(renderer, text, font, color, new Vector2(position.X, position.Y), alignment); //} //public static void AddText(this QFontDrawing renderer, string text, QFont font, Color color, Vector2 position, QFontAlignment alignment = QFontAlignment.Left) //{ // var dp = new QFontDrawingPrimitive(font, new QFontRenderOptions() { Colour = color, LockToPixel = true }); // dp.Print(text, new Vector3(position), alignment); // renderer.DrawingPrimitives.Add(dp); //} public static void AddText(this QFontDrawing renderer, string text, QFont font, Color color, Vector4 bounds, StringAlignment vAlign = StringAlignment.Near, StringAlignment hAlign = StringAlignment.Near) { AddText(renderer, text, font, color, new RectangleF(bounds.X, bounds.Y, bounds.Z, bounds.W), vAlign, hAlign); }
/// <summary>Load resources here.</summary> /// <param name="e">Not used.</param> protected override void OnLoad(EventArgs e) { base.OnLoad(e); this.Keyboard.KeyDown += KeyDown; drawing = new QFontDrawing(); controlsDrawing = new QFontDrawing(); controlsTextOpts = new QFontRenderOptions() { Colour = Color.FromArgb(new Color4(0.8f, 0.1f, 0.1f, 1.0f).ToArgb()), DropShadowActive = true }; heading2 = new QFont("woodenFont.qfont", new QFontConfiguration(addDropShadow: true), 1.0f); heading2Options = new QFontRenderOptions() { Colour = Color.White, DropShadowActive = true}; var builderConfig = new QFontBuilderConfiguration(addDropShadow: true); builderConfig.ShadowConfig.blurRadius = 2; //reduce blur radius because font is very small builderConfig.ShadowConfig.blurPasses = 1; builderConfig.ShadowConfig.Type = ShadowType.Blurred; builderConfig.TextGenerationRenderHint = TextGenerationRenderHint.ClearTypeGridFit; //best render hint for this font mainText = new QFont("Fonts/times.ttf", 14, builderConfig); mainTextOptions = new QFontRenderOptions() { DropShadowActive = true, Colour = Color.White, WordSpacing = 0.5f}; _benchmarkResults = new QFont("Fonts/times.ttf", 14, builderConfig); heading1 = new QFont("Fonts/HappySans.ttf", 72, new QFontBuilderConfiguration(true)); controlsText = new QFont("Fonts/HappySans.ttf", 32, new QFontBuilderConfiguration(true)); codeText = new QFont("Fonts/Comfortaa-Regular.ttf", 12, new QFontBuilderConfiguration()); heading1Options = new QFontRenderOptions() { Colour = Color.FromArgb(new Color4(0.2f, 0.2f, 0.2f, 1.0f).ToArgb()), DropShadowActive = true}; _processedText = QFontDrawingPimitive.ProcessText(mainText, mainTextOptions, preProcessed, new SizeF(Width - 40, -1), QFontAlignment.Justify); codeTextOptions = new QFontRenderOptions() { Colour = Color.FromArgb(new Color4(0.0f, 0.0f, 0.4f, 1.0f).ToArgb()) }; monoSpaced = new QFont("Fonts/Anonymous.ttf", 10, new QFontBuilderConfiguration()); monoSpacedOptions = new QFontRenderOptions() { Colour = Color.FromArgb(new Color4(0.1f, 0.1f, 0.1f, 1.0f).ToArgb()), DropShadowActive = true}; GL.ClearColor(Color4.CornflowerBlue); }