///////////////////////////////////////////////////////////////////////////////////////////
// TextSprite.h
//
//  Definition of the TextSprite class, which represents a rectangular object on the 
// screen, displaying a string of symbols from a texture.

#pragma once

#include "Sprite.h"

namespace Sunlight
{
    namespace DirectX
    {
        namespace Graphics
        {
            __gc public class TextSprite : public Sprite
            {
            public:
                TextSprite(SpriteManager *manager, System::Drawing::Rectangle dimensions, 
                    Texture *texture, System::Drawing::Point sourcePosition, int framesAcross,
                    String *characterSet);

                // Sets/returns the string of characters to draw.
                String  *Text;
                // Sets/returns the set of characters in the texture.
                String  *CharacterSet;
                // Sets/returns the character used when a character is not found in the set.
                wchar_t DefaultCharacter;

                // Gets a rectangle enclosing the object.
                __property Drawing::Rectangle get_Bounds();
                // Draw this sprite using its SpriteManager.
                void Draw();
            };
        }
    }
}