/*--------------------------------------------------------------------------
  Project:  Manual 2D Library - m2d
  File:     textCanvasContext.h

  Copyright (C)2007-2009 Nintendo  All Rights Reserved.

  These coded instructions, statements, and computer programs contain
  proprietary information of Nintendo of America Inc. and/or Nintendo
  Company Ltd., and are protected by Federal copyright law. They may
  not be disclosed to third parties or copied or duplicated in any form,
  in whole or in part, without the prior written consent of Nintendo.

  $Revision: 1758 $
 *-------------------------------------------------------------------------*/

#ifndef NTMV_M2D_TEXTCANVASCONTEXT_H_
#define NTMV_M2D_TEXTCANVASCONTEXT_H_

#if _MSC_VER > 1000 || defined(__CWCC__)
#pragma once
#endif

// Use wchar_t (utf-16) as the string type handled by string rendering functions.
// Load this header file first.
#define NNS_G2D_UNICODE
#include <nnsys/g2d/g2d_TextCanvas.h>

#include <ntmv/m2d/types.h>

namespace ntmv
{
namespace m2d
{

enum
{
    TEXT_COLOR_BG   = 0,
    TEXT_COLOR_FG
};

/*
    String rendering context class
*/
class TextCanvasContext
{
public:
                            TextCanvasContext(
                                bool                bSubLCD,
                                Point               position,
                                Size                size,
                                const NNSG2dFont*   mpFont,
                                s16                 hSpace      = 0);

    const NNSG2dTextCanvas* GetTextCanvas() const    {  return &mTextCanvas; }

private:
    NNSG2dCharCanvas        mCharCanvas;
    NNSG2dTextCanvas        mTextCanvas;
};

}   // namespace m2d
}   // namespace ntmv

/* NTMV_M2D_TEXTCANVASCONTEXT_H_ */
#endif
