public static void DrawAnnotationBox(IGdiBuffer buffer, SolidBrush brush, IFontFactory fontFactory, string annotationText, AnnotationBox annotationBox, float dpi = _nominalScreenDpi) { var fakeFactory = new LegacyGdiObjectFactory(fontFactory, brush); DrawAnnotationBox(buffer, fakeFactory, annotationText, annotationBox, dpi); }
public LoginScene(ITextBoxContainer textBoxContainer, EngineContext context, ITextureManager textureManager, IFontFactory fontFactory, IBus bus, IGoogleAnalytic analytic) : base(context, textureManager, bus) { _textBoxContainer = textBoxContainer; _fontFactory = fontFactory; _analytic = analytic; }
public static void Init(IFontFactory fontLoader) { const string path = "Fonts/Font Awesome 5 Free-Solid-900.otf"; Font = fontLoader.LoadFontFromPath(path, 14f, FontStyle.Regular); IconConfig = fontLoader.GetTextConfig(font: Font, autoFit: AutoFit.NoFitting, alignment: Alignment.MiddleCenter, paddingLeft: 0f, paddingTop: 0f, paddingBottom: 0f, paddingRight: 0f); ButtonConfig = fontLoader.GetTextConfig(font: Font, autoFit: AutoFit.TextShouldFitLabel, alignment: Alignment.MiddleCenter, paddingLeft: 0f, paddingTop: 0f, paddingBottom: 0f, paddingRight: 0f); var tinyFont = fontLoader.LoadFontFromPath(path, 8f, FontStyle.Regular); TinyButtonConfig = fontLoader.GetTextConfig(font: tinyFont, autoFit: AutoFit.TextShouldFitLabel, alignment: Alignment.MiddleCenter, paddingLeft: -1f, paddingTop: 0f, paddingBottom: 0f, paddingRight: 0f, outlineWidth: 1f); TinyButtonConfigHovered = AGSTextConfig.ChangeColor(TinyButtonConfig, Colors.Black, Colors.White, 0f); var largeFont = fontLoader.LoadFontFromPath(path, 56f, FontStyle.Regular); LargeIconConfig = fontLoader.GetTextConfig(font: largeFont, autoFit: AutoFit.TextShouldFitLabel, alignment: Alignment.MiddleCenter, paddingLeft: -1f, paddingTop: 0f, paddingBottom: 0f, paddingRight: 0f, outlineWidth: 1f); LargeIconConfigHovered = AGSTextConfig.ChangeColor(LargeIconConfig, GameViewColors.HoveredText, Colors.White, 0f); }
public AGSTextComponent(IRenderPipeline pipeline, IBoundingBoxBuilder boundingBoxBuilder, IGLTextureRenderer textureRenderer, BitmapPool bitmapPool, AGSBoundingBoxes labelBoundingBoxes, AGSBoundingBoxes textBoundingBoxes, IGLUtils glUtils, IGraphicsBackend graphics, IFontFactory fonts, IRuntimeSettings settings, IRenderMessagePump messagePump, IGameState state, IGameEvents events) { _pipeline = pipeline; _afterCropTextBoundingBoxes = new AGSBoundingBoxes(); _state = state; _events = events; Width = 1f; Height = 1f; _matricesPool = new GLMatrices[3]; _messagePump = messagePump; OnLabelSizeChanged = new AGSEvent(); _graphics = graphics; _fonts = fonts; _bitmapPool = bitmapPool; _labelBoundingBoxes = labelBoundingBoxes; _textBoundingBoxes = textBoundingBoxes; _boundingBoxBuilder = boundingBoxBuilder; _virtualResolution = settings.VirtualResolution; _settings = settings; _labelBoundingBoxFakeBuilder = new BoundingBoxesEmptyBuilder(); _instructionPool = new ObjectPool <Instruction>(pool => new Instruction(pool, glUtils, textureRenderer, _glTextHitTest), 0); TextVisible = true; subscribeTextConfigChanges(); PropertyChanged += onPropertyChanged; _shouldUpdateBoundingBoxes = true; }
public ContentLoader(ContentManager mgr, GraphicsDevice dev) { this.mgr = mgr; fontFactory = new FontFactory(mgr, dev); WhitePixel = new UITexture(new Texture2D(dev, 1, 1, false, SurfaceFormat.Color)); WhitePixel.Texture.SetData(new[] { Color.White }); }
public static Graphics.SpriteFont CreateSpriteFontData(IFontFactory fontFactory, SpriteFontAsset options, Glyph[] glyphs, float lineSpacing, float baseLine, Bitmap bitmap) { var fontGlyphs = ConvertGlyphs(glyphs); var images = new[] { GetImage(options, bitmap) }; var sizeInPixels = options.FontType.Size; return(fontFactory.NewScalable(sizeInPixels, fontGlyphs, images, baseLine, lineSpacing, null, options.Spacing, options.LineSpacing, options.DefaultCharacter)); }
public static Graphics.SpriteFont CreateSpriteFontData(IFontFactory fontFactory, SpriteFontAsset options, Glyph[] glyphs, float lineSpacing, float baseLine, Bitmap bitmap, bool srgb) { var fontGlyphs = ConvertGlyphs(glyphs); var images = new[] { GetImage(options, bitmap, srgb) }; var sizeInPixels = FontHelper.PointsToPixels(options.Size); return(fontFactory.NewStatic(sizeInPixels, fontGlyphs, images, baseLine, lineSpacing, null, options.Spacing, options.LineSpacing, options.DefaultCharacter)); }
public FontCache(IFontFactory Factory) { if (Factory == null) { throw new ArgumentNullException("Factory"); } this.m_Factory = Factory; this.m_Cached = new Hashtable(0x20, 0.5f); }
public AGSDialogFactory(Resolver resolver, IGameState gameState, IUIFactory ui, IObjectFactory obj, IBrushLoader brushloader, IFontFactory fontLoader) { _resolver = resolver; _brushLoader = brushloader; _fontLoader = fontLoader; _gameState = gameState; _ui = ui; _object = obj; }
public AGSUIFactory(Resolver resolver, IGameState gameState, IGraphicsFactory graphics, IObjectFactory obj, IFocusedUI focusedUI, IFontFactory fonts) { _fonts = fonts; _resolver = resolver; _gameState = gameState; _graphics = graphics; _borders = graphics.Borders; _object = obj; _focus = focusedUI; }
public GLText(IGraphicsBackend graphics, IRenderMessagePump messagePump, IFontFactory fonts, IFont defaultFont, BitmapPool pool, bool alwaysMeasureOnly, string text = "", int maxWidth = int.MaxValue) { _messagePump = messagePump; _fonts = fonts; _graphics = graphics; _alwaysMeasureOnly = alwaysMeasureOnly; _maxWidth = maxWidth; _text = text; _bitmapPool = pool; _config = fonts.GetTextConfig(font: defaultFont); prepareBitmapDraw(); }
/// <summary> /// Compiles the specified font description into a <see cref="SignedDistanceFieldSpriteFont" /> object. /// </summary> /// <param name="fontFactory">The font factory used to create the fonts</param> /// <param name="fontAsset">The font description.</param> /// <returns>A SpriteFontData object.</returns> public static Graphics.SpriteFont Compile(IFontFactory fontFactory, SpriteFontAsset fontAsset) { if (fontAsset.FontType != SpriteFontType.SDF) { throw new ArgumentException("Tried to compile an incompatible sprite font with compiler for scalable fonts"); } float lineSpacing; float baseLine; var glyphs = ImportFont(fontAsset, out lineSpacing, out baseLine); Bitmap bitmap = GlyphPacker.ArrangeGlyphs(glyphs); return(SignedDistanceFieldFontWriter.CreateSpriteFontData(fontFactory, fontAsset, glyphs, lineSpacing, baseLine, bitmap)); }
public Form1() { InitializeComponent(); fontFactory = new FontFactory(); fileSystemDao = new FileSystemDAO(); fileNameTranslator = new FilenameTranslator(); treeViewController = new TreeViewController(fileSystemDao.DefaultDirectoryInfo, treeView1, fileNameTranslator); InitializeFonts(); FolderTextBox.Text = fileSystemDao.DefaultDirectoryInfo.FullName; treeViewController.Editor = fastColoredTextBox1; EditorTab.TabPages.Remove(DesignerTab); }
/// <summary> /// Compiles the specified font description into a <see cref="OfflineRasterizedSpriteFont" /> object. /// </summary> /// <param name="fontFactory">The font factory used to create the fonts</param> /// <param name="fontAsset">The font description.</param> /// <param name="srgb"></param> /// <returns>A SpriteFontData object.</returns> public static Graphics.SpriteFont Compile(IFontFactory fontFactory, SpriteFontAsset fontAsset, bool srgb) { var fontTypeStatic = fontAsset.FontType as OfflineRasterizedSpriteFontType; if (fontTypeStatic == null) { throw new ArgumentException("Tried to compile a dynamic sprite font with compiler for static fonts"); } float lineSpacing; float baseLine; var glyphs = ImportFont(fontAsset, out lineSpacing, out baseLine); // Optimize. foreach (Glyph glyph in glyphs) { GlyphCropper.Crop(glyph); } Bitmap bitmap = GlyphPacker.ArrangeGlyphs(glyphs); // Automatically detect whether this is a monochromatic or color font? //if (fontAsset.Format == FontTextureFormat.Auto) //{ // bool isMono = BitmapUtils.IsRgbEntirely(Color.White, bitmap); // // fontAsset.Format = isMono ? FontTextureFormat.CompressedMono : // FontTextureFormat.Rgba32; //} // Convert to pre-multiplied alpha format. if (fontAsset.FontType.IsPremultiplied) { if (fontAsset.FontType.AntiAlias == FontAntiAliasMode.ClearType) { BitmapUtils.PremultiplyAlphaClearType(bitmap, srgb); } else { BitmapUtils.PremultiplyAlpha(bitmap, srgb); } } return(OfflineRasterizedSpriteFontWriter.CreateSpriteFontData(fontFactory, fontAsset, glyphs, lineSpacing, baseLine, bitmap, srgb)); }
/// <summary> /// Compiles the specified font description into a <see cref="SignedDistanceFieldSpriteFont" /> object. /// </summary> /// <param name="fontFactory">The font factory used to create the fonts</param> /// <param name="fontAsset">The font description.</param> /// <returns>A SpriteFontData object.</returns> public static Graphics.SpriteFont Compile(IFontFactory fontFactory, SpriteFontAsset fontAsset) { var fontTypeSDF = fontAsset.FontType as SignedDistanceFieldSpriteFontType; if (fontTypeSDF == null) { throw new ArgumentException("Tried to compile a dynamic sprite font with compiler for signed distance field fonts"); } float lineSpacing; float baseLine; var glyphs = ImportFont(fontAsset, out lineSpacing, out baseLine); Bitmap bitmap = GlyphPacker.ArrangeGlyphs(glyphs); return(SignedDistanceFieldFontWriter.CreateSpriteFontData(fontFactory, fontAsset, glyphs, lineSpacing, baseLine, bitmap)); }
public AGSGameFactory(IGraphicsFactory graphics, IInventoryFactory inventory, IUIFactory ui, IRoomFactory room, IOutfitFactory outfit, IObjectFactory obj, IDialogFactory dialog, IAudioFactory sound, IFontFactory fontFactory, IResourceLoader resources, IShaderFactory shaders, Resolver resolver) { Graphics = graphics; Inventory = inventory; UI = ui; Room = room; Outfit = outfit; Object = obj; Dialog = dialog; Sound = sound; Fonts = fontFactory; Resources = resources; TypedParameter gameFactoryParam = new TypedParameter(typeof(IGameFactory), this); Masks = resolver.Container.Resolve <IMaskLoader>(gameFactoryParam); Shaders = shaders; }
/// <summary> /// Creates a new object. /// </summary> public WebSiteGraphics() { _ImageFile = Factory.ResolveSingleton <IImageFile>(); _PenFactory = Factory.ResolveSingleton <IPenFactory>(); _BrushFactory = Factory.ResolveSingleton <IBrushFactory>(); _FontFactory = Factory.ResolveSingleton <IFontFactory>(); _SplashFillBrush = _BrushFactory.CreateBrush(255, 255, 255, 255, useCache: true); _SplashFontFamily = _FontFactory.GetFontFamilyOrFallback( _SplashFontStyle, "Tahoma", "Microsoft Sans Serif", "MS Reference Sans Serif", "Roboto", "Droid Sans", "MS Sans Serif", "Verdana", "Helvetica", "Sans Serif", "Sans" ); }
public LegacyGdiObjectFactory(IFontFactory fontFactory, SolidBrush brush) { _fontFactory = fontFactory; _brush = brush; }
public static void DrawTextPrimitive(IGdiBuffer buffer, SolidBrush brush, IFontFactory fontFactory, InvariantTextPrimitive text, float dpi = _nominalScreenDpi) { var fakeFactory = new LegacyGdiObjectFactory(fontFactory, brush); DrawTextPrimitive(buffer, fakeFactory, text, dpi); }
public ControlFactory(IFileDialog fileDialog, IFontFactory fontFactory) { _fileDialog = fileDialog; _fontFactory = fontFactory; }
/// <summary> /// Compiles the specified font description into a <see cref="StaticSpriteFont" /> object. /// </summary> /// <param name="fontFactory">The font factory used to create the fonts</param> /// <param name="fontAsset">The font description.</param> /// <param name="srgb"></param> /// <returns>A SpriteFontData object.</returns> public static Graphics.SpriteFont Compile(IFontFactory fontFactory, SpriteFontAsset fontAsset, bool srgb) { if(fontAsset.IsDynamic) throw new ArgumentException("Tried to compile a dynamic sprite font with compiler for static fonts"); float lineSpacing; float baseLine; var glyphs = ImportFont(fontAsset, out lineSpacing, out baseLine); // Optimize. foreach (Glyph glyph in glyphs) GlyphCropper.Crop(glyph); Bitmap bitmap = GlyphPacker.ArrangeGlyphs(glyphs); // Automatically detect whether this is a monochromatic or color font? //if (fontAsset.Format == FontTextureFormat.Auto) //{ // bool isMono = BitmapUtils.IsRgbEntirely(Color.White, bitmap); // // fontAsset.Format = isMono ? FontTextureFormat.CompressedMono : // FontTextureFormat.Rgba32; //} // Convert to pre-multiplied alpha format. if (fontAsset.IsPremultiplied) { if (fontAsset.AntiAlias == FontAntiAliasMode.ClearType) { BitmapUtils.PremultiplyAlphaClearType(bitmap, srgb); } else { BitmapUtils.PremultiplyAlpha(bitmap, srgb); } } return StaticSpriteFontWriter.CreateSpriteFontData(fontFactory, fontAsset, glyphs, lineSpacing, baseLine, bitmap, srgb); }
public ResourceContainer(IPdfTokenScanner scanner, IFontFactory fontFactory) { this.scanner = scanner; this.fontFactory = fontFactory; }
public static Graphics.SpriteFont CreateSpriteFontData(IFontFactory fontFactory, SpriteFontAsset options, Glyph[] glyphs, float lineSpacing, float baseLine, Bitmap bitmap) { var fontGlyphs = ConvertGlyphs(glyphs); var images = new[] { GetImage(options, bitmap) }; var sizeInPixels = options.FontType.Size; return fontFactory.NewScalable(sizeInPixels, fontGlyphs, images, baseLine, lineSpacing, null, options.Spacing, options.LineSpacing, options.DefaultCharacter); }
public ResourceContainer(IPdfObjectParser pdfObjectParser, IFontFactory fontFactory) { this.pdfObjectParser = pdfObjectParser; this.fontFactory = fontFactory; }
public static Graphics.SpriteFont CreateSpriteFontData(IFontFactory fontFactory, SpriteFontAsset options, Glyph[] glyphs, float lineSpacing, float baseLine, Bitmap bitmap, bool srgb) { var fontGlyphs = ConvertGlyphs(glyphs); var images = new[] { GetImage(options, bitmap, srgb) }; var sizeInPixels = FontHelper.PointsToPixels(options.Size); return fontFactory.NewStatic(sizeInPixels, fontGlyphs, images, baseLine, lineSpacing, null, options.Spacing, options.LineSpacing, options.DefaultCharacter); }
/// <summary> /// Compiles the specified font description into a <see cref="SignedDistanceFieldSpriteFont" /> object. /// </summary> /// <param name="fontFactory">The font factory used to create the fonts</param> /// <param name="fontAsset">The font description.</param> /// <returns>A SpriteFontData object.</returns> public static Graphics.SpriteFont Compile(IFontFactory fontFactory, SpriteFontAsset fontAsset) { var fontTypeSDF = fontAsset.FontType as SignedDistanceFieldSpriteFontType; if (fontTypeSDF == null) throw new ArgumentException("Tried to compile a dynamic sprite font with compiler for signed distance field fonts"); float lineSpacing; float baseLine; var glyphs = ImportFont(fontAsset, out lineSpacing, out baseLine); Bitmap bitmap = GlyphPacker.ArrangeGlyphs(glyphs); return SignedDistanceFieldFontWriter.CreateSpriteFontData(fontFactory, fontAsset, glyphs, lineSpacing, baseLine, bitmap); }