Beispiel #1
0
        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;
 }
Beispiel #3
0
        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);
        }
Beispiel #4
0
        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;
        }
Beispiel #5
0
        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 });
        }
Beispiel #6
0
        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));
        }
Beispiel #7
0
        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));
        }
Beispiel #8
0
 public FontCache(IFontFactory Factory)
 {
     if (Factory == null)
     {
         throw new ArgumentNullException("Factory");
     }
     this.m_Factory = Factory;
     this.m_Cached = new Hashtable(0x20, 0.5f);
 }
Beispiel #9
0
 public FontCache(IFontFactory Factory)
 {
     if (Factory == null)
     {
         throw new ArgumentNullException("Factory");
     }
     this.m_Factory = Factory;
     this.m_Cached  = new Hashtable(0x20, 0.5f);
 }
Beispiel #10
0
 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;
 }
Beispiel #11
0
 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;
 }
Beispiel #12
0
        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();
        }
Beispiel #13
0
        /// <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));
        }
Beispiel #14
0
        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));
        }
Beispiel #17
0
        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;
        }
Beispiel #18
0
        /// <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"
                );
        }
Beispiel #19
0
 public LegacyGdiObjectFactory(IFontFactory fontFactory, SolidBrush brush)
 {
     _fontFactory = fontFactory;
     _brush       = brush;
 }
Beispiel #20
0
        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);
        }
Beispiel #21
0
 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;
 }
Beispiel #24
0
        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 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);
        }
Beispiel #26
0
 public ResourceContainer(IPdfObjectParser pdfObjectParser, IFontFactory fontFactory)
 {
     this.pdfObjectParser = pdfObjectParser;
     this.fontFactory     = fontFactory;
 }
Beispiel #27
0
        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);
	    }
Beispiel #28
0
            public LegacyGdiObjectFactory(IFontFactory fontFactory, SolidBrush brush)
	        {
	            _fontFactory = fontFactory;
	            _brush = brush;
	        }
        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);
        }