Example #1
0
 public AlignedTextRenderer(
     string text,
     IBoxContentRenderer probeRender,
     BoxContentsRenderer.AlignToRect xAlignFn,
     BoxContentsRenderer.AlignToRect yAlignFn,
     Font fontToUse
     )
     : this(text, probeRender, xAlignFn, yAlignFn, fontToUse, Hardcoded.StandardFontColour)
 {
 }
Example #2
0
 public AlignedTextRenderer(
     string text,
     IBoxContentRenderer probeRender,
     BoxContentsRenderer.AlignToRect xAlignFn,
     BoxContentsRenderer.AlignToRect yAlignFn,
     Font fontToUse,
     Brush textColour
     )
 {
     textToRender  = text;
     probeRenderer = probeRender;
     xAligner      = xAlignFn;
     yAligner      = yAlignFn;
     font          = fontToUse;
     textSize      = new SizeF();
     brush         = textColour;
     typeFormat    = StringFormat.GenericTypographic;
 }
Example #3
0
        public ProbeDataRenderer(GMFile.InfoBoxAttributes infoAttrs, GMFile.QueryAttributes queryAttrs, Font font)
        {
            bool bigText = (infoAttrs & GMFile.InfoBoxAttributes.UseBigFont) != 0;

            BoxContentsRenderer.AlignToRect bottomAligner = bigText ? new BoxContentsRenderer.AlignToRect(BoxContentsRenderer.AlignYBottomBig) : new BoxContentsRenderer.AlignToRect(BoxContentsRenderer.AlignYBottom);
#if DEBUG
            hasDisposed = false;
#endif
            childRenderers = new List <IBoxContentRenderer>();
            if ((infoAttrs & GMFile.InfoBoxAttributes.RaceMode) != 0)
            {
                int          attr;
                NullRenderer nullRender = new NullRenderer();
                if ((attr = (int)(queryAttrs & GMFile.QueryAttributes.PowerRestriction)) != 0)
                {
                    string text = BoxContentsRenderer.textsToRender[BoxContentsRenderer.ATTRIBUTE_TEXT_OFFSET + attr];
                    // bottom left
                    BoxContentsRenderer.AlignToRect left = new BoxContentsRenderer.AlignToRect(BoxContentsRenderer.AlignXLeft);
                    childRenderers.Add(new AlignedTextRenderer(text, nullRender, left, bottomAligner, font));
                }
                if ((attr = (int)(queryAttrs & GMFile.QueryAttributes.PrizeMoney)) != 0)
                {
                    // bottom right
                    BoxContentsRenderer.AlignToRect right = new BoxContentsRenderer.AlignToRect(BoxContentsRenderer.AlignXRight);
                    string text = BoxContentsRenderer.textsToRender[BoxContentsRenderer.ATTRIBUTE_TEXT_OFFSET + attr];
                    childRenderers.Add(new AlignedTextRenderer(text, nullRender, right, bottomAligner, font));
                }
                if ((attr = (int)(queryAttrs & GMFile.QueryAttributes.RaceResult)) != 0)
                {
                    // bottom right
                    BoxContentsRenderer.AlignToRect right = new BoxContentsRenderer.AlignToRect(BoxContentsRenderer.AlignXRight);
                    string text = BoxContentsRenderer.textsToRender[BoxContentsRenderer.ATTRIBUTE_TEXT_OFFSET + attr];
                    childRenderers.Add(new AlignedTextRenderer(text, nullRender, right, bottomAligner, font));
                }
            }
        }