#ifndef __RichText_h
#define __RichText_h

class MC2ARCHIVE;

/*----- CFDWndRichEdit::m_byVertAlign_xZkqqHx_iBeB_xHqqkZx_FDRichText::m_dwVertAlign_xZkqqHx_iLkEjCmK_xHqqkZx_ -----*/
#define MD2_FDRC_AL_TOP			0x01
#define MD2_FDRC_AL_V_CENTER	0x02
#define MD2_FDRC_AL_BOTTOM		0x03

/*----- FDEditLine::m_byAlignment_xZkqqHx_iBeB_xHqqkZx_FDStatLine::m_byAlignment_xZkqqHx_iLkEjCmK_xHqqkZx_ -----*/
#define MD2_FDRC_AL_NONE		0x00
#define MD2_FDRC_AL_LEFT		0x01
#define MD2_FDRC_AL_CENTER		0x02
#define MD2_FDRC_AL_RIGHT		0x03

/*----- FDEditLine::m_byLineType_xZkqqHx_iBeB_xHqqkZx_FDStatLine::m_byLineType_xZkqqHx_iLkEjCmK_xHqqkZx_ -----*/
#define MD2_FDRC_LT_HEAD		0x00
#define MD2_FDRC_LT_CONTINUE	0x01

////////////////////////// _xZkqqHx_jFjEjFgJjHhAiCmMiDeOiDiJiDfI_xHqqkZx_ ////////////////////////////////
class MC2StatChar
{
public:
	MC2StatChar ();
	void OutStream (MC2ARCHIVE& ar) const;
	void InStream (MC2ARCHIVE& ar);

public:
	WORD	m_wChar;	// _xZkqqHx_jFlGiOjKiDfCiBfLiDgI_xHqqkZx_.
	union
	{
		DWORD		m_dwForStream;	// _xZkqqHx_jDpMiPgPjHmNjHhAiBeC_xHqqkZx_
		float		m_mmfWidth;		// _xZkqqHx_jFlGiOjKiCmMjFjN_xHqqkZx_.
		SFontID		m_foidFont;		// _xZkqqHx_jFlGiOjKiCmMiDhEiDeIiDjDiDgH_xHqqkZx_ID.
		float		m_fOffset;		// Baseline_xZkqqHx_iCkJiCoHiCmM_xHqqkZx_Offset.
		SColorID	m_scidSColor;	// _xZkqqHx_jFlGiOjKiCmMjAeG_xHqqkZx_.
		float		m_mmfPreSpace;	// _xZkqqHx_jFlGiOjKiCmMjBePiCmMjHfNjEjC_xHqqkZx_.
	};
	float	m_mmfAbcA;	// ABC_xZkqqHx_iNfMjBkCjBmMiCmM_xHqqkZx_abcA_xZkqqHx_iCmMjCgMiBeC_xHqqkZx_
	float	m_mmfAbcC;	// ABC_xZkqqHx_iNfMjBkCjBmMiCmM_xHqqkZx_abcC_xZkqqHx_iCmMjCgMiBeC_xHqqkZx_
}; // class MC2StatChar.

typedef vector<MC2StatChar> MC2StatCharVector;

class MC2StatLine
{
public:
	MC2StatLine ();
	void	OutStream (MC2ARCHIVE& ar) const;
	void	InStream (MC2ARCHIVE& ar);

public:
	//----- _xZkqqHx_jAoGjDkKiNhDiBeBiMhAjBlBiNhDiCmFjDkPiClGjCgMiCpAiOjNiCmCiDiBiDjDiDgPjFmPjAjE_xHqqkZx_ -----
	double			m_mmStartIndent;	// _xZkqqHx_jAoGjDkKiNhDiCmMiNlGiDeDiDjDiDgGiDjDiDgH_xHqqkZx_.
	double			m_mmRightIndent;	// _xZkqqHx_jAoGjDkKiBeFiMhAjBlBiNhDiCmMiJeFiDeDiDjDiDgGiDjDiDgH_xHqqkZx_.
	double			m_mmOffset;			// _xZkqqHx_iMhAjBlBiNhDiCmMiDeDiDjDiDgGiDjDiDgHiBgJjAoGjDkKiNhDiCmJ_xHqqkZx_
										// _xZkqqHx_jBmOiClHiCoJiDeJiDhEiDfKiDgCiDgHjCgMiBgK_xHqqkZx_.
	doubleVector	m_mmvTabs;			// _xZkqqHx_iDfOiDhFiCmMiImKjChFiCmMjHpB_xHqqkZx_.
	BYTE			m_byAlignment;		// _xZkqqHx_iDeBiDiJiDeDiDjDiDiBiDjDiDgH_xHqqkZx_.
	//----- _xZkqqHx_jAoGjDkKiNhDiBeBiMhAjBlBiNhDiCmFiInJiCmIiCoJjCgMiCpAiOjNiCmCiDiBiDjDiDgPjFmPjAjE_xHqqkZx_ -----
	BYTE			m_byLineType;		// _xZkqqHx_iNhDiCmMiDfOiDeDiDhG_xHqqkZx_(_xZkqqHx_jAoGjDkK_xHqqkZx_/_xZkqqHx_iMhAjBlB_xHqqkZx_)
	//----- _xZkqqHx_iNhDiKnEiKhFiCpAiOhHjCoIiClHiCoJiDiBiDjDiDgPjFmPjAjE_xHqqkZx_ -----
	WORD			m_wPointLineAfter;	// _xZkqqHx_iNhDiKnEiBgJiNhDiCmMiJlKiBgKiCmMiDhMiDeDiDjDiDgHjAjEiBeC_xHqqkZx_
	//----- _xZkqqHx_iNhDiCmMjFlGiOjKiPoOjFpBiCpAiOpLiCnPiCoJiDiBiDjDiDgPjFmPjAjE_xHqqkZx_ -----
	MC2StatCharVector	m_vStatChar;	// _xZkqqHx_jFlGiOjKjHpBiBeC_xHqqkZx_
	//----- _xZkqqHx_iNhDiCmMiNmEiMhGiOfKiCmFjCgMiCkKiOfKiPgPiJmCjEfMiCmIiDiBiDjDiDgPjFmPjAjE_xHqqkZx_ -----
	double			m_mmY;				// _xZkqqHx_iNhDiCmMiPoDiCmMiNmAjFfH_xHqqkZx_.
	float			m_mmfTMHeight;		// _xZkqqHx_jFlGiOjKiCmMiNiCiClD_xHqqkZx_.
	float			m_mmfTMAscent;		// _xZkqqHx_iDhIiBfLiDfIiDiJiDeDiDjDiCkJiCoHiNhDiCmMiPoDiCnMiCmFiCmMiNiCiClD_xHqqkZx_.
	float			m_mmfTMExternalLeading;	// _xZkqqHx_jFlGiOjKiCmMiJlKiCmMiMiEiKnE_xHqqkZx_.
}; // class MC2StatLine.

class MC2StatLineVector : public vector<MC2StatLine>
{
public:
	void	OutStream (MC2ARCHIVE& ar) const;
	void	InStream (MC2ARCHIVE& ar);
}; // class MC2StatLineVector.

class MC2RichText
{
public:
	//----- _xZkqqHx_jBfDiCmEiCmM_xHqqkZx_Subclass_xZkqqHx_iCkKiDeDiDjDiDhGiDiKiDiBiDjDiDgHiClFiCmIiCkPiCoKiCmOiCmIiCoHiCmIiCkC_xHqqkZx_ -----
	MC2RichText ();

	//----- _xZkqqHx_jBkOjAkLiCpAiOjNiCmCjBfDiCmEiCmM_xHqqkZx_Subclass_xZkqqHx_iCkKiDeDiDjDiDhGiDiKiDiBiDjDiDgHiClFiCmIiCkPiCoKiCmOiCmIiCoHiCmIiCkC_xHqqkZx_ -----
	virtual void	OutStream (MC2ARCHIVE& ar);
	virtual void	InStream (MC2ARCHIVE& ar);

	//----- _xZkqqHx_jFeLjHhGiCmJiJjOiClGiCmEiDeDiDjDiDhGiDiKiDiBiDjDiDgHiClHiCoKiCmOjHmHiCkC_xHqqkZx_ -----
	virtual	~MC2RichText ();

protected:	// _xZkqqHx_iDiBiDjDiDgPjFmPjAjE_xHqqkZx_.
	double	m_mmMarginL;	// _xZkqqHx_iDgFiDeMiDfIiDgHjHmMiIoGiCmMiNlGiDhNiBfLiDfHiDjD_xHqqkZx_.
	double	m_mmMarginT;	// _xZkqqHx_iDgFiDeMiDfIiDgHjHmMiIoGiCmMiPoDiDhNiBfLiDfHiDjD_xHqqkZx_.
	double	m_mmMarginR;	// _xZkqqHx_iDgFiDeMiDfIiDgHjHmMiIoGiCmMiJeFiDhNiBfLiDfHiDjD_xHqqkZx_.
	double	m_mmMarginB;	// _xZkqqHx_iDgFiDeMiDfIiDgHjHmMiIoGiCmMiJlKiDhNiBfLiDfHiDjD_xHqqkZx_.
	DBLRect	m_mmrtText;		// _xZkqqHx_iDgFiDeMiDfIiDgHiCmMiDhEiDiMiBfLiDiAiBeC_xHqqkZx_
	double	m_dAngle;		// _xZkqqHx_iDgFiDeMiDfIiDgHiCmMiKhAjDhIiBeC_xHqqkZx_
	DWORD	m_dwVertAlign;	// _xZkqqHx_jAiCjClMjFpLiMpMiCmMiDeBiDiJiDeDiDjDiDiBiDjDiDgHiBeC_xHqqkZx_
	MC2StatLineVector*	m_vpLine;	// _xZkqqHx_jFlGiOjKjHpBiPoOjFpBiBeC_xHqqkZx_
}; // class MC2RichText.

#endif//__RichText_h
