2024-12-21 10:04:04 +08:00
|
|
|
|
#include "StdAfx.h"
|
|
|
|
|
|
#include "EtUITextBoxData.h"
|
|
|
|
|
|
#include "EtTexture.h"
|
|
|
|
|
|
#include "EternityEngine.h"
|
|
|
|
|
|
#include "EtResourceMng.h"
|
|
|
|
|
|
|
|
|
|
|
|
// Note : Class Word
|
|
|
|
|
|
//
|
|
|
|
|
|
#ifdef _DEBUG
|
|
|
|
|
|
#define new new(_NORMAL_BLOCK,__FILE__,__LINE__)
|
|
|
|
|
|
#endif
|
|
|
|
|
|
|
|
|
|
|
|
CWord::CWord()
|
|
|
|
|
|
{
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
CWord::~CWord()
|
|
|
|
|
|
{
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
void CWord::UpdatePos( float fX, float fY )
|
|
|
|
|
|
{
|
|
|
|
|
|
m_sProperty.uiCoord.fX = fX;
|
|
|
|
|
|
m_sProperty.uiCoord.fY = fY;
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
void CWord::Clear()
|
|
|
|
|
|
{
|
|
|
|
|
|
m_sProperty.Clear();
|
|
|
|
|
|
m_strWord.clear();
|
|
|
|
|
|
m_strWordWithTag.clear();
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
/////////////////////////////////////////////////////////////////
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// Note : Class Line
|
|
|
|
|
|
//
|
|
|
|
|
|
CLine::CLine()
|
|
|
|
|
|
: m_fLineSpace(0.0f)
|
|
|
|
|
|
, m_bSelected(false)
|
|
|
|
|
|
, m_bMouseInLine(false)
|
|
|
|
|
|
, m_uiCoord( 0.f, 0.f, 0.f, 0.f )
|
|
|
|
|
|
{
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
CLine::~CLine()
|
|
|
|
|
|
{
|
|
|
|
|
|
SAFE_DELETE_VEC( m_vecWord );
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
void CLine::SetLineSpace( float fLineSpace )
|
|
|
|
|
|
{
|
|
|
|
|
|
m_uiCoord.fHeight -= GetLineSpace();
|
|
|
|
|
|
this->m_fLineSpace = fLineSpace;
|
|
|
|
|
|
m_uiCoord.fHeight += GetLineSpace();
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
void CLine::UpdatePos( float fX, float fY )
|
|
|
|
|
|
{
|
|
|
|
|
|
m_uiCoord.fX = fX;
|
|
|
|
|
|
m_uiCoord.fY = fY;
|
|
|
|
|
|
|
|
|
|
|
|
fY += GetLineSpace();
|
|
|
|
|
|
|
|
|
|
|
|
for( int i=0; i<(int)m_vecWord.size(); i++ )
|
|
|
|
|
|
{
|
|
|
|
|
|
if( m_vecWord[i].m_sProperty.dwFormat & UITEXT_RIGHT )
|
|
|
|
|
|
{
|
|
|
|
|
|
// <20><><EFBFBD><EFBFBD> <20>߰<EFBFBD>.
|
|
|
|
|
|
// Word<72><64> Pos<6F><73> <20><><EFBFBD>Ҷ<EFBFBD> <20><><EFBFBD><EFBFBD> <20>»<EFBFBD><C2BB><EFBFBD> <20><><EFBFBD>ؿ<EFBFBD><D8BF><EFBFBD> fX<66><58> <20><><EFBFBD>ؾ<EFBFBD><D8BE>ϴ°<CFB4> <20>ƴ϶<C6B4>,
|
|
|
|
|
|
// <20>θ<EFBFBD> <20><><EFBFBD>̾<EFBFBD><CCBE>α<EFBFBD> <20>»<EFBFBD><C2BB><EFBFBD> <20><><EFBFBD>ؿ<EFBFBD><D8BF><EFBFBD> fX<66><58> <20><><EFBFBD>ؾ<EFBFBD><D8BE>ϴ<EFBFBD> <20><><EFBFBD>̴<EFBFBD>.
|
|
|
|
|
|
// (<28>̰<EFBFBD> <20><><EFBFBD><EFBFBD> <20><>Ʈ<EFBFBD><C6AE><EFBFBD><EFBFBD> fX<66><58> <20><><EFBFBD>Ҷ<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>Ǵ<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>̴<EFBFBD>.)
|
|
|
|
|
|
// <20>ᱹ <20>θ<EFBFBD> <20><><EFBFBD>̾<EFBFBD><CCBE>α<EFBFBD><CEB1><EFBFBD> DrawDlgText<78><74> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>DZ<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>̴<EFBFBD>.
|
|
|
|
|
|
//
|
|
|
|
|
|
// <20><EFBFBD><D7B7><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> Word<72><64> fX<66><58> <20><><EFBFBD>Ҷ<EFBFBD><D2B6><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> fX<66><58>ŭ <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ó<><C3B3><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ѵ<EFBFBD>.
|
|
|
|
|
|
//
|
|
|
|
|
|
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>϶<EFBFBD><CFB6><EFBFBD> Append(<28>ش<EFBFBD><D8B4>ٿ<EFBFBD> <20>߰<EFBFBD>)<29><>, Add(<28><><EFBFBD><EFBFBD><EFBFBD>ٿ<EFBFBD> <20>߰<EFBFBD>)<29><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>ʰ<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>Ѵ<EFBFBD>.
|
|
|
|
|
|
m_vecWord[i].UpdatePos( m_uiCoord.fX + m_uiCoord.fWidth - m_vecWord[i].m_sProperty.uiCoord.fWidth, fY );
|
|
|
|
|
|
// Note : <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>̶<EFBFBD><CCB6><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> Word<72><64> <20><><EFBFBD>Ѵ<EFBFBD>.
|
|
|
|
|
|
return;
|
|
|
|
|
|
}
|
|
|
|
|
|
else if( m_vecWord[i].m_sProperty.dwFormat & UITEXT_CENTER )
|
|
|
|
|
|
{
|
|
|
|
|
|
// Append<6E><64> CENTER<45><52><EFBFBD≯<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD>Ϳ<EFBFBD> <20>־<EFBFBD><D6BE>ϳ<EFBFBD>, <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD>Ϳ<EFBFBD> <20>־<EFBFBD><D6BE>ϳ<EFBFBD>.
|
|
|
|
|
|
// <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD>Ϳ<EFBFBD> <20>дٸ<D0B4> Append<6E><64><EFBFBD><EFBFBD> CENTER<45><52>ü<EFBFBD><C3BC> <20>ް<EFBFBD> <20>ص<EFBFBD> <20><> <20><>ü<EFBFBD><C3BC> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>״<EFBFBD>,
|
|
|
|
|
|
// <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> CENTER<45><52> <20>ؾ߰ڴ<DFB0>.
|
|
|
|
|
|
float fEmptyWidth = m_uiCoord.fWidth - (fX - m_uiCoord.fX);
|
|
|
|
|
|
float fWordWidth = m_vecWord[i].m_sProperty.uiCoord.fWidth;
|
|
|
|
|
|
|
|
|
|
|
|
// RIGHT<48><54> <20><EFBFBD> fX<66><58><EFBFBD>ٰ<EFBFBD> <20>߰<EFBFBD><DFB0>ؾ<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>ʺ<EFBFBD><CABA><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>ϰ<EFBFBD> <20>ȴ<EFBFBD>.
|
|
|
|
|
|
m_vecWord[i].UpdatePos( fX + (fEmptyWidth - fWordWidth)*0.5f, fY );
|
|
|
|
|
|
}
|
|
|
|
|
|
else
|
|
|
|
|
|
{
|
|
|
|
|
|
m_vecWord[i].UpdatePos( fX, fY );
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
fX = m_vecWord[i].m_sProperty.uiCoord.Right();
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
std::wstring CLine::GetText()
|
|
|
|
|
|
{
|
|
|
|
|
|
std::wstring strTemp;
|
|
|
|
|
|
|
|
|
|
|
|
for( int i=0; i<(int)m_vecWord.size(); i++ )
|
|
|
|
|
|
{
|
|
|
|
|
|
strTemp += m_vecWord[i].m_strWord;
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
return strTemp;
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
CImageLine::CImageLine()
|
|
|
|
|
|
{
|
|
|
|
|
|
m_hTexture;
|
|
|
|
|
|
std::string m_szFileName;
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
CImageLine::~CImageLine()
|
|
|
|
|
|
{
|
|
|
|
|
|
SAFE_RELEASE_SPTR( m_hTexture );
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
void CImageLine::SetImage( WCHAR *wszFileName, SUICoord &Coord )
|
|
|
|
|
|
{
|
|
|
|
|
|
ToMultiString( wszFileName, m_szFileName );
|
|
|
|
|
|
SetImage( (char*)m_szFileName.c_str(), Coord );
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
void CImageLine::SetImage( char *szFileName, SUICoord &Coord )
|
|
|
|
|
|
{
|
|
|
|
|
|
m_szFileName = szFileName;
|
|
|
|
|
|
m_hTexture = EternityEngine::LoadTexture( CEtResourceMng::GetInstance().GetFullName( szFileName ).c_str() );
|
|
|
|
|
|
m_uiUV = Coord;
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
EtTextureHandle CImageLine::GetTexture()
|
|
|
|
|
|
{
|
|
|
|
|
|
return m_hTexture;
|
|
|
|
|
|
}
|
|
|
|
|
|
|