Main
using System;
using Sifteo;

namespace Libraries
{
    // Purpose:
    // Render object to handle displaying text.
    // Text displayed with a FixedFont object.
    public class RenderText : RenderObj
    {
        // Purpose:
        // Constructor.
        //
        // fontName     - Name of the image font to use.
        // charW, charH - Width and height of the characters in the font.
        // charsPerRow  - How many characters are expected to be in each row of the font image.    
        public RenderText(String fontName,
                          int charW, int charH,
                          int charsPerRow)
        {
            m_font = new FixedFont(fontName, charW, charH, charsPerRow);
        }
           
        // Purpose:
        // Render the text.
        public override void Render(Cube cube)
        {
            if(m_show)
            {
                int offsetX = 0;
                int offsetY = 0;
   
                // Center, assuming the area is the screen size (128)
                if(m_centerX)
                    offsetX = (128/2) - (m_font.TextWidth(m_text)/2);
   
                if(m_show && (null != m_font))
                    m_font.DrawString(cube, m_posX + offsetX, m_posY + offsetY, m_text);
            }
        }

        // Purpose:
        // Set the position to display the text.
        public void SetPos(int x, int y)
        {
            m_posX = x;
            m_posY = y;
        }

        // Text to display;
        public String m_text;

        // Font to use.
        public FixedFont m_font;

        // Where to display the text.
        // Used to offset centering if enabled.
        public int m_posX = 0;
        public int m_posY = 0;

        // Center the text in the x row.
        public bool m_centerX = false;
    }
}

 
Website copyright (c) 2012 Benjamin Millek, all rights reserved.