Ejemplo n.º 1
0
        public override void Draw(String text, Int32 x, Int32 y)
        {
            // Render each character
            for (int i = 0; i < text.Length; i++)
            {
                CharacterRenderFunction renderer = renderers[(Byte)text[i]];

                if (renderer != null)
                {
                    renderer(x, y, charWidth, charHeight);
                }

                x += charWidth + charSpacing;
            }
        }
Ejemplo n.º 2
0
        public static CharacterRenderFunction[] CreateFixedWidthSegmentRenderSet(float segmentWidth)
        {
            CharacterRenderFunction[] renderers = new CharacterRenderFunction[256];
            renderers['A'] = new EightSegmentFixedWidthRenderer(EightSegment.A, segmentWidth).DrawChar;
            renderers['B'] = new EightSegmentFixedWidthRenderer(EightSegment.B, segmentWidth).DrawChar;
            renderers['C'] = new EightSegmentFixedWidthRenderer(EightSegment.C, segmentWidth).DrawChar;
            renderers['D'] = new EightSegmentFixedWidthRenderer(EightSegment.D, segmentWidth).DrawChar;
            renderers['E'] = new EightSegmentFixedWidthRenderer(EightSegment.E, segmentWidth).DrawChar;
            renderers['F'] = new EightSegmentFixedWidthRenderer(EightSegment.F, segmentWidth).DrawChar;
            renderers['G'] = new EightSegmentFixedWidthRenderer(EightSegment.G, segmentWidth).DrawChar;
            renderers['H'] = new EightSegmentFixedWidthRenderer(EightSegment.H, segmentWidth).DrawChar;
            renderers['I'] = new EightSegmentFixedWidthRenderer(EightSegment.I, segmentWidth).DrawChar;
            renderers['J'] = new EightSegmentFixedWidthRenderer(EightSegment.J, segmentWidth).DrawChar;
            renderers['K'] = new EightSegmentFixedWidthRenderer(EightSegment.K, segmentWidth).DrawChar;
            renderers['L'] = new EightSegmentFixedWidthRenderer(EightSegment.L, segmentWidth).DrawChar;

            renderers['N'] = new NRendererFixedSegmentWidth(segmentWidth).DrawChar;
            renderers['O'] = new EightSegmentFixedWidthRenderer(EightSegment.O, segmentWidth).DrawChar;
            renderers['P'] = new EightSegmentFixedWidthRenderer(EightSegment.P, segmentWidth).DrawChar;
            //...
            renderers['R'] = new RRendererFixedSegmentWidth(segmentWidth).DrawChar;
            renderers['S'] = new EightSegmentFixedWidthRenderer(EightSegment.S, segmentWidth).DrawChar;
            renderers['T'] = new EightSegmentFixedWidthRenderer(EightSegment.T, segmentWidth).DrawChar;
            renderers['U'] = new EightSegmentFixedWidthRenderer(EightSegment.U, segmentWidth).DrawChar;
            renderers['V'] = new VRendererFixedSegmentWidth(segmentWidth).DrawChar;

            renderers['Y'] = new YRendererFixedSegmentWidth(segmentWidth).DrawChar;

            // Set lower case to have same renderer has upper case
            for (char c = 'a'; c <= 'z'; c++)
            {
                renderers[c] = renderers[c + ('A' - 'a')];
            }

            renderers['0'] = renderers['O'];
            renderers['1'] = new EightSegmentFixedWidthRenderer(EightSegment.One, segmentWidth).DrawChar;
            renderers['2'] = new EightSegmentFixedWidthRenderer(EightSegment.Two, segmentWidth).DrawChar;
            renderers['3'] = new EightSegmentFixedWidthRenderer(EightSegment.Three, segmentWidth).DrawChar;
            renderers['4'] = new EightSegmentFixedWidthRenderer(EightSegment.Four, segmentWidth).DrawChar;
            renderers['5'] = renderers['S'];
            renderers['6'] = new EightSegmentFixedWidthRenderer(EightSegment.Five, segmentWidth).DrawChar;
            renderers['7'] = new EightSegmentFixedWidthRenderer(EightSegment.Six, segmentWidth).DrawChar;
            renderers['8'] = renderers['B'];
            renderers['9'] = new EightSegmentFixedWidthRenderer(EightSegment.Seven, segmentWidth).DrawChar;

            renderers['.'] = new PeriodRendererFixedSegmentWidth(segmentWidth).DrawChar;
            return(renderers);
        }