本文整理汇总了C++中CDrawPort::InitTextureData方法的典型用法代码示例。如果您正苦于以下问题:C++ CDrawPort::InitTextureData方法的具体用法?C++ CDrawPort::InitTextureData怎么用?C++ CDrawPort::InitTextureData使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类CDrawPort
的用法示例。
在下文中一共展示了CDrawPort::InitTextureData方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: Render
// ----------------------------------------------------------------------------
// Name : Render()
// Desc :
// ----------------------------------------------------------------------------
void CUIAD::Render()
{
CDrawPort* pDrawPort = CUIManager::getSingleton()->GetDrawPort();
// Set skill learn texture
pDrawPort->InitTextureData( m_ptdBaseTexture );
SelectLogo();
PlayLC(m_eAniType);
// Attach Map window
extern ENGINE_API INDEX sam_iScreenSizeI;
// m_rcAD[0].SetRect(sam_iScreenSizeI - 115, 145,sam_iScreenSizeI - 14,197);
m_rcAD[0].SetRect(sam_iScreenSizeI - 115, 152,sam_iScreenSizeI - 14,205);
m_rcAD[1].CopyRect( m_rcAD[0] );
m_rcAD_ani = m_rcAD[0];
pDrawPort->AddTexture( m_rcAD_ani.Left , m_rcAD_ani.Top , m_rcAD_ani.Right , m_rcAD_ani.Bottom ,
m_uvAD[m_selAni].U0, m_uvAD[m_selAni].V0, m_uvAD[m_selAni].U1, m_uvAD[m_selAni].V1, 0xFFFFFFFF );
// Render all elements
pDrawPort->FlushRenderingQueue();
// Flush all render text queue
pDrawPort->EndTextEx();
}
示例2: Render
// ----------------------------------------------------------------------------
// Name : Render()
// Desc :
// ----------------------------------------------------------------------------
void CUISelectResource::Render()
{
CDrawPort* pDrawPort = CUIManager::getSingleton()->GetDrawPort();
// Set skill learn texture
pDrawPort->InitTextureData( m_ptdBaseTexture );
// Add render regions
// Background
int nX = m_nPosX;
int nY = m_nPosY;
pDrawPort->AddTexture( nX, m_nPosY, nX + m_nWidth, nY + TITLEBAR_HEIGHT,
m_rtBackTop.U0, m_rtBackTop.V0,
m_rtBackTop.U1, m_rtBackTop.V1,
0xFFFFFFFF );
nY += TITLEBAR_HEIGHT;
pDrawPort->AddTexture( nX, nY, nX + m_nWidth, m_nPosY + m_nHeight - 7,
m_rtBackMiddle1.U0, m_rtBackMiddle1.V0,
m_rtBackMiddle1.U1, m_rtBackMiddle1.V1,
0xFFFFFFFF );
nY = m_nPosY + m_nHeight - 7;
pDrawPort->AddTexture( nX, nY, nX + m_nWidth, m_nPosY + m_nHeight,
m_rtBackBottom.U0, m_rtBackBottom.V0,
m_rtBackBottom.U1, m_rtBackBottom.V1,
0xFFFFFFFF );
m_btnClose.Render();
std::vector<CUIButton>::iterator itend = m_vectorResourceList.end();
std::vector<CUIButton>::iterator it = m_vectorResourceList.begin();
for(; it != itend; ++it)
{
(*it).Render();
}
// Render all elements
pDrawPort->FlushRenderingQueue();
CTString strTitle = _S( 1823, "미네랄 선택" );
// Text in skill learn
if( m_bSelectType )
{
strTitle =_S( 1974, "생산방법 선택" );
}
pDrawPort->PutTextEx( strTitle, m_nPosX + SELECTRESOURCE_TITLE_TEXT_OFFSETX,
m_nPosY + SELECTRESOURCE_TITLE_TEXT_OFFSETY, 0xFFFFFFFF );
// Flush all render text queue
pDrawPort->EndTextEx();
}
示例3: Render
void CUIChildQuickSlot::Render()
{
CUIManager* pUIManager = CUIManager::getSingleton();
CDrawPort* pDrawPort = pUIManager->GetDrawPort();
///< texture init
pDrawPort->InitTextureData( m_ptdBaseTexture );
if( *(m_bRotation[m_nCurSlot]) == 1 )
{
int nX = m_nPosX;
int nY = m_nPosY;
// Quick slot base texture
pDrawPort->AddTexture( nX, nY
,nX + CHILD_QUICKSLOT_WIDTH, nY + CHILD_QUICKSLOT_HEIGHT
,m_rtHorzBackground.U0, m_rtHorzBackground.V0
,m_rtHorzBackground.U1, m_rtHorzBackground.V1
,0xFFFFFFFF );
// 퀵슬롯 페이지 출력 위치를 수동으로 계산 [12/20/2012 Ranma]
pDrawPort->PutTextExCX(m_strPageNumber, m_nPosX + 7, m_nPosY + 11 );
m_btnHorizontal.Render();
m_btnLock.SetPos(CHILD_QUICKSLOT_WIDTH - QSLOT_OUTSIDE_BTN_SIZE - 1, 19);
m_btnUnLock.SetPos(CHILD_QUICKSLOT_WIDTH - QSLOT_OUTSIDE_BTN_SIZE - 1, 19);
}
else if ( *(m_bRotation[m_nCurSlot]) == 0 )
{
int nX = m_nPosX;
int nY = m_nPosY;
// Quick slot base texture
pDrawPort->AddTexture( nX, nY
, nX + CHILD_QUICKSLOT_HEIGHT, nY + CHILD_QUICKSLOT_WIDTH
, m_rtVerBackground.U0, m_rtVerBackground.V0
, m_rtVerBackground.U1, m_rtVerBackground.V1
, 0xFFFFFFFF );
// 퀵슬롯 페이지 출력 위치를 수동으로 계산 [12/20/2012 Ranma]
pDrawPort->PutTextExCX(m_strPageNumber, m_nPosX + 18, m_nPosY + 2 );
m_btnVertical.Render();
m_btnLock.SetPos(1, CHILD_QUICKSLOT_WIDTH - QSLOT_OUTSIDE_BTN_SIZE - 1);
m_btnUnLock.SetPos(1, CHILD_QUICKSLOT_WIDTH - QSLOT_OUTSIDE_BTN_SIZE - 1);
}
if(*(m_bLock[m_nCurSlot]))
m_btnLock.Render();
else
m_btnUnLock.Render();
pDrawPort->FlushRenderingQueue();
SlotRender();
// Flush all render text queue
pDrawPort->EndTextEx();
}
示例4: PopupRender
void CUIImageBox::PopupRender()
{
CUIManager* pUIManager = CUIManager::getSingleton();
CDrawPort* pDrawPort = CUIManager::getSingleton()->GetDrawPort();
int nX, nY;
GetAbsPos( nX, nY );
int nX0 = nX + m_rtRenderRegion.Left;
int nX1 = nX + m_rtRenderRegion.Right;
int nY0 = nY + m_rtRenderRegion.Top;
int nY1 = nY + m_rtRenderRegion.Bottom;
int rtRenderRegionMiddle = nX + (m_rtRenderRegion.Left + m_rtRenderRegion.Right) / 2;
int nRegionHeight = m_rtRenderRegion.Bottom - m_rtRenderRegion.Top;
if ( m_bShowPopup )
{
pDrawPort->InitTextureData( m_ptdPopup );
int nAlineSize = m_vecString.size();
int nPopHeight = 10 - _pUIFontTexMgr->GetLineSpacing() + (nAlineSize+1) * _pUIFontTexMgr->GetLineHeight();
int nPopX = rtRenderRegionMiddle - (m_nPopWidth/2);
int nPopY = nY0 - nPopHeight;
if( nPopX < pUIManager->GetMinI() )
{
nPopX = pUIManager->GetMinI();
}
else if (nPopX + m_nPopWidth > pUIManager->GetMaxI())
{
nPopX = pUIManager->GetMaxI() - m_nPopWidth;
}
if (nPopY < pUIManager->GetMinJ())
{
nPopY = nY + nRegionHeight;
}
m_bxPopupInfo.SetBoxPos(WRect(nPopX-nX, nPopY-nY, nPopX-nX+m_nPopWidth, nPopY-nY+nPopHeight ));
m_bxPopupInfo.Render(nX,nY);
std::vector<CTString>::iterator b = m_vecString.begin();
for (int i = 0; b != m_vecString.end(); b++, i++)
{
pDrawPort->PutTextEx( *b, nPopX+20, nPopY+6+(i*14), m_colText );
}
pDrawPort->FlushRenderingQueue();
pDrawPort->EndTextEx();
}
}
示例5: RenderImage
void CUIHelp::RenderImage(int iListIndex)
{
// Check invalid
if(iListIndex<=0) return;
HELP1 tHelp1 = (*m_pHelp1)[iListIndex];
if( tHelp1.m_width <= 0 ) return;
FLOAT fTexWidth = m_ptdImageTemp->GetPixWidth();
FLOAT fTexHeight = m_ptdImageTemp->GetPixHeight();
CDrawPort* pDrawPort = CUIManager::getSingleton()->GetDrawPort();
pDrawPort->InitTextureData( m_ptdImageTemp );
// Add render regions
int nX, nY;
m_bSlideImgX = tHelp1.m_width;
if(tHelp1.m_width > sideImageSize)
{
nX = m_nPosX + m_rcRightView.Left + m_bSlideImgX;
nY = m_nPosY + m_lbReadContent.GetPosY() + (m_lbReadContent.GetCurItemCount(0)*m_lbReadContent.GetLineHeight());
}
else
{
nX = m_nPosX + m_nWidth + m_bSlideImgX;
nY = m_nPosY;
}
// Set UV
UIRectUV tUV;
tUV.SetUV(tHelp1.m_uv_x,tHelp1.m_uv_y,tHelp1.m_uv_x+m_bSlideImgX,tHelp1.m_uv_y+tHelp1.m_height,fTexWidth,fTexHeight);
pDrawPort->AddTexture(
nX - m_bSlideImgX, nY, nX , nY + tHelp1.m_height,
tUV.U0,tUV.V0,tUV.U1,tUV.V1,
0xFFFFFFFF);
pDrawPort->FlushRenderingQueue();
}
示例6: Render
// ----------------------------------------------------------------------------
// Name : Render()
// Desc :
// ----------------------------------------------------------------------------
void CUICompound::Render()
{
CDrawPort* pDrawPort = CUIManager::getSingleton()->GetDrawPort();
// Set texture
pDrawPort->InitTextureData( m_ptdBaseTexture );
// Add render regions
int nX, nY, i;
// Background
// Top
nX = m_nPosX + m_nWidth;
nY = m_nPosY + 26;
pDrawPort->AddTexture( m_nPosX, m_nPosY, nX, nY,
m_rtTop.U0, m_rtTop.V0, m_rtTop.U1, m_rtTop.V1,
0xFFFFFFFF );
// Middle 1
pDrawPort->AddTexture( m_nPosX, nY, nX, nY + m_nTextRegionHeight,
m_rtMiddle1.U0, m_rtMiddle1.V0, m_rtMiddle1.U1, m_rtMiddle1.V1,
0xFFFFFFFF );
// Middle 2
nY += m_nTextRegionHeight;
pDrawPort->AddTexture( m_nPosX, nY, nX, m_nPosY + m_nHeight - 7,
m_rtMiddle2.U0, m_rtMiddle2.V0, m_rtMiddle2.U1, m_rtMiddle2.V1,
0xFFFFFFFF );
// Bottom
nY = m_nPosY + m_nHeight - 7;
pDrawPort->AddTexture( m_nPosX, nY, nX, m_nPosY + m_nHeight,
m_rtBottom.U0, m_rtBottom.V0, m_rtBottom.U1, m_rtBottom.V1,
0xFFFFFFFF );
for ( i = 0; i < COMPOUND_ITEM_SLOT_COUNT; i++ )
{
// Slot item region
pDrawPort->AddTexture( m_nPosX + m_rcItemSlot[i].Left, m_nPosY + m_rcItemSlot[i].Top,
m_nPosX + m_rcItemSlot[i].Right, m_nPosY + m_rcItemSlot[i].Bottom,
m_rtItemSlot.U0, m_rtItemSlot.V0, m_rtItemSlot.U1, m_rtItemSlot.V1,
0xFFFFFFFF );
}
// Close button
m_btnClose.Render();
// OK button
m_btnOK.Render();
// Cancel button
m_btnCancel.Render();
// Render all elements
pDrawPort->FlushRenderingQueue();
// Item
for( i = 0; i < COMPOUND_ITEM_SLOT_COUNT; i++ )
{
if (m_pIconSlot[i]->IsEmpty() == false)
{
m_pIconSlot[i]->Render(pDrawPort);
pDrawPort->FlushBtnRenderingQueue( UBET_ITEM );
}
}
// Text in
pDrawPort->PutTextEx( _S( 723, "힘의 상자" ), m_nPosX + COMPOUND_TITLE_TEXT_OFFSETX,
m_nPosY + COMPOUND_TITLE_TEXT_OFFSETY, 0xFFFFFFFF );
nX = m_nPosX + COMPOUND_DESC_TEXT_SX;
nY = m_nPosY + COMPOUND_DESC_TEXT_SY;
for( int iDesc = 0; iDesc < m_nStringCount; iDesc++ )
{
pDrawPort->PutTextEx( m_strDesc[iDesc], nX , nY, 0xC5C5C5FF );
nY += _pUIFontTexMgr->GetLineHeight();
}
// Flush all render text queue
pDrawPort->EndTextEx();
}
示例7: Render
// ----------------------------------------------------------------------------
// Name : Render()
// Desc :
// ----------------------------------------------------------------------------
void CUICreateChar::Render()
{
extern INDEX sam_bWideScreen;
CDrawPort* pDrawPort = CUIManager::getSingleton()->GetDrawPort();
// Set create character textire
pDrawPort->InitTextureData( m_ptdBaseTexture );
// Character information
// Top
pDrawPort->AddTexture( m_rcCharInfo.Left, m_rcCharInfo.Top,
m_rcCharInfo.Right, m_rcCharInfo.Top + CREATECHAR_INFO_HEIGHT,
m_rtCharInfoTop.U0, m_rtCharInfoTop.V0,
m_rtCharInfoTop.U1, m_rtCharInfoTop.V1,
0xFFFFFFFF );
// Bottom
pDrawPort->AddTexture( m_rcCharInfo.Left, m_rcCharInfo.Top + CREATECHAR_INFO_HEIGHT,
m_rcCharInfo.Right, m_rcCharInfo.Bottom,
m_rtCharInfoBottom.U0, m_rtCharInfoBottom.V0,
m_rtCharInfoBottom.U1, m_rtCharInfoBottom.V1,
0xFFFFFFFF );
// Character name input box
m_ebCharName.Render();
// Job button
m_btnJobPrev.Render();
m_btnJobNext.Render();
// Head button
m_btnFacePrev.Render();
m_btnFaceNext.Render();
// Hair button
m_btnHairPrev.Render();
m_btnHairNext.Render();
// Face button
//m_btnHeadPrev.Render();
//m_btnHeadNext.Render();
// OK button
m_btnOK.Render();
// Cancel button
m_btnCancel.Render();
// Character control
/*
// Zoom in button
m_btnZoomIn.Render();
// Zoom out button
m_btnZoomOut.Render();
// Rotate to left button
m_btnRotateToLeft.Render();
// Rotate to right
m_btnRotateToRight.Render();
*/
// Render all elements
pDrawPort->FlushRenderingQueue();
// Render character information
int nX = m_rcCharInfo.Left + CREATECHAR_DESC_SX;
int nY = m_rcCharInfo.Top + CREATECHAR_DESC_SY;
for( int iInfo = 0; iInfo < m_nCurInfoLines; iInfo++ )
{
pDrawPort->PutTextEx( m_strCharInfo[iInfo], nX, nY, m_colCharInfo[iInfo] );
nY += _pUIFontTexMgr->GetLineHeight();
}
// Prepare Rendering Text
nX = m_rcCharInfo.Left;
nY = m_rcCharInfo.Top;
pDrawPort->PutTextEx( _S( 140, "캐릭터 생성" ),
nX + CREATECHAR_TITLE_OFFSETX, nY + CREATECHAR_TITLE_OFFSETY );
pDrawPort->PutTextExRX( _S( 71, "이름" ),
nX + CREATECHAR_NAME_RX, nY + CREATECHAR_NAME_SY );
pDrawPort->PutTextExRX( _S( 141, "직업" ),
nX + CREATECHAR_NAME_RX, nY + CREATECHAR_JOB_SY );
pDrawPort->PutTextExRX( _S( 144, "얼굴" ), // 얼굴
nX + CREATECHAR_NAME_RX, nY + CREATECHAR_FACE_SY );
pDrawPort->PutTextExRX( _S( 143, "헤어" ), // 헤어
nX + CREATECHAR_NAME_RX, nY + CREATECHAR_HAIR_SY );
//pDrawPort->PutTextExRX( _S( 142, "머리" ), // 머리
// nX + CREATECHAR_NAME_RX, nY + CREATECHAR_HEAD_SY );
// Print Job
pDrawPort->PutTextExCX( JobInfo().GetName(m_iSelectedJob),
nX + CREATECHAR_JOB_MAIN_CY, nY + CREATECHAR_JOB_SY );
// Print Face
CTString strTemp;
strTemp.PrintF("%d", m_sbSelectedFace + 1);
//.........这里部分代码省略.........
示例8: Render
void CUIImageBox::Render()
{
// Get position
int nX, nY;
GetAbsPos( nX, nY );
int nX0 = nX + m_rtRenderRegion.Left;
int nX1 = nX + m_rtRenderRegion.Right;
int nY0 = nY + m_rtRenderRegion.Top;
int nY1 = nY + m_rtRenderRegion.Bottom;
float fU0 = m_rtUV.U0 + (m_rtUV.U1 - m_rtUV.U0) * m_rtRenderRegion.Left / float(m_nWidth);
float fU1 = m_rtUV.U0 + (m_rtUV.U1 - m_rtUV.U0) * m_rtRenderRegion.Right / float(m_nWidth);
float fV0 = m_rtUV.V0 + (m_rtUV.V1 - m_rtUV.V0) * m_rtRenderRegion.Top / float(m_nHeight);
float fV1 = m_rtUV.V0 + (m_rtUV.V1 - m_rtUV.V0) * m_rtRenderRegion.Bottom / float(m_nHeight);
CDrawPort* pDrawPort = CUIManager::getSingleton()->GetDrawPort();
if(m_eImageType == IT_GENERAL)
{
pDrawPort->InitTextureData( m_ptdBaseTexture );
pDrawPort->AddTexture(nX0, nY0, nX1, nY1,
fU0, fV0,
fU1, fV1,
0xFFFFFFFF );
pDrawPort->FlushRenderingQueue();
}
else if (m_eImageType == IT_CORPS)
{
pDrawPort->InitTextureData( m_ptdCorps );
pDrawPort->AddTexture(nX0, nY0, nX1, nY1,
fU0, fV0,
fU1, fV1,
0xFFFFFFFF );
pDrawPort->FlushRenderingQueue();
}
else
{
UIBtnExType bet;
switch(m_eImageType)
{
case IT_EXP:
case IT_MONEY:
case IT_ITEM:
case IT_SP: // [090617: selo] SP 이미지 타입
case IT_RVR_POINT:
bet = UBET_ITEM;
break;
case IT_SKILL:
case IT_SSKILL:
case IT_AFFINITY: // 친화도 개편2 친화도 타입 추가 [2/7/2013 Ranma]
bet = UBET_SKILL;
break;
case IT_ACTION:
bet = UBET_ACTION;
break;
case IT_AFFINITY_MONSTER:
bet = UBET_COMBO;
break;
}
pDrawPort->AddBtnTexture(m_nTextureID, nX0, nY0, nX1, nY1,
fU0, fV0,
fU1, fV1,
0xFFFFFFFF );
pDrawPort->FlushBtnRenderingQueue( bet, PBT_BLEND );
if(m_bHighlight)
{
pDrawPort->AddBtnTexture(m_nTextureID, nX0, nY0, nX1, nY1,
fU0, fV0,
fU1, fV1,
m_colHighlight );
// Render all button elements
pDrawPort->FlushBtnRenderingQueue( bet, PBT_ADD );
}
}
}
示例9: SlotNumberRender
void CUIChildQuickSlot::SlotNumberRender()
{
CUIManager* pUIManager = CUIManager::getSingleton();
CDrawPort* pDrawPort = pUIManager->GetDrawPort();
///< texture init
pDrawPort->InitTextureData( m_ptdBaseTexture );
if( *(m_bRotation[m_nCurSlot]) == 1 )
{
int nX = m_nPosX;
int nY = m_nPosY;
// 슬롯 번호 텍스춰
nX = m_nPosX + 16;
nY = m_nPosY + 4;
switch(m_nID)
{
case UI_QUICKSLOT2:
{
pDrawPort->AddTexture(nX, nY, nX + 398, nY + 7
, m_rtHorzSlotNumber.U0, m_rtHorzSlotNumber.V0
, m_rtHorzSlotNumber.U1, m_rtHorzSlotNumber.V1
, 0xFFFFFFFF);
break;
}
case UI_QUICKSLOT3:
{
pDrawPort->AddTexture(nX, nY, nX + 406, nY + 7
, m_rtHorzSlotNumber.U0, m_rtHorzSlotNumber.V0
, m_rtHorzSlotNumber.U1, m_rtHorzSlotNumber.V1
, 0xFFFFFFFF);
break;
}
}
}
else if ( *(m_bRotation[m_nCurSlot]) == 0 )
{
int nX = m_nPosX;
int nY = m_nPosY;
// 슬롯 번호 텍스춰
nX = m_nPosX + 4;
nY = m_nPosY + 16;
switch(m_nID)
{
case UI_QUICKSLOT2:
{
pDrawPort->AddTexture(nX, nY, nX + 13, nY + 392
, m_rtVerSlotNumber.U0, m_rtVerSlotNumber.V0
, m_rtVerSlotNumber.U1, m_rtVerSlotNumber.V1
, 0xFFFFFFFF);
break;
}
case UI_QUICKSLOT3:
{
pDrawPort->AddTexture(nX, nY, nX + 21, nY + 392
, m_rtVerSlotNumber.U0, m_rtVerSlotNumber.V0
, m_rtVerSlotNumber.U1, m_rtVerSlotNumber.V1
, 0xFFFFFFFF);
break;
}
}
}
pDrawPort->FlushRenderingQueue();
}
示例10: RenderRemissionBtns
// ----------------------------------------------------------------------------
// Name : RenderRemissionBtns()
// Desc :
// ----------------------------------------------------------------------------
void CUIRemission::RenderRemissionBtns()
{
int nX = REMISSION_SLOT_SX, nY = REMISSION_SLOT_SY;
int iRow, iRowS, iRowE;
// Remission remission button
iRowS = m_sbRemissionIcon.GetScrollPos();
iRowE = iRowS + REMISSION_SLOT_ROW;
if ( m_vectorbtnRemissions.size() < iRowE )
{
iRowE = m_vectorbtnRemissions.size();
}
for( iRow = iRowS; iRow < iRowE; iRow++, nY += REMISSION_SLOT_OFFSETY )
{
m_vectorbtnRemissions[iRow].SetPos( nX, nY );
if( m_vectorbtnRemissions[iRow].IsEmpty() )
continue;
m_vectorbtnRemissions[iRow].Render();
}
CDrawPort* pDrawPort = CUIManager::getSingleton()->GetDrawPort();
// Render all button elements
pDrawPort->FlushBtnRenderingQueue( UBET_REMISSION );
if( m_nSelRemissionID >= 0 )
{
// Set remission learn texture
pDrawPort->InitTextureData( m_ptdBaseTexture );
m_vectorbtnRemissions[m_nSelRemissionID].GetAbsPos( nX, nY );
pDrawPort->AddTexture( nX, nY, nX + BTN_SIZE, nY + BTN_SIZE,
m_rtSelOutline.U0, m_rtSelOutline.V0,
m_rtSelOutline.U1, m_rtSelOutline.V1,
0xFFFFFFFF );
// Render all elements
pDrawPort->FlushRenderingQueue();
}
nY = REMISSION_NAME_SY;
iRowS = m_sbRemissionIcon.GetScrollPos();
iRowE = iRowS + REMISSION_SLOT_ROW;
if ( m_vectorbtnRemissions.size() < iRowE )
{
iRowE = m_vectorbtnRemissions.size();
}
for( iRow = iRowS; iRow < iRowE; iRow++, nY += REMISSION_SLOT_OFFSETY )
{
if( m_vectorbtnRemissions[iRow].IsEmpty() )
continue;
const SBYTE sbRemissionType = m_vectorbtnRemissions[iRow].GetRemissionType();
if(sbRemissionType == REMISSION_NONE)
continue;
switch(sbRemissionType)
{
case REMISSION_HP:
m_strShortDesc.PrintF( _S( 616, "육체의 면죄부" ) );
pDrawPort->PutTextExCX( m_strShortDesc, m_nPosX + REMISSION_NAME_CX, m_nPosY + nY, 0xFFC672FF);
break;
case REMISSION_MP:
m_strShortDesc.PrintF( _S( 617, "영혼의 면죄부" ) );
pDrawPort->PutTextExCX( m_strShortDesc, m_nPosX + REMISSION_NAME_CX, m_nPosY + nY, 0xFFC672FF);
break;
case REMISSION_ITEM:
{
m_strShortDesc.PrintF( _S( 618, "장비의 면죄부" ) );
pDrawPort->PutTextExCX( m_strShortDesc, m_nPosX + REMISSION_NAME_CX, m_nPosY + nY, 0xFFC672FF);
m_strShortDesc.PrintF( "%s", _pNetwork->GetItemName( m_vectorbtnRemissions[iRow].GetItemIndex() ));
pDrawPort->PutTextExCX( m_strShortDesc, m_nPosX + REMISSION_NAME_CX, m_nPosY + nY + 17, 0xBDA99FFF);
}
break;
}
}
}
示例11: Render
// ----------------------------------------------------------------------------
// Name : Render()
// Desc :
// ----------------------------------------------------------------------------
void CUIRemission::Render()
{
// Check distance
FLOAT fDiffX = _pNetwork->MyCharacterInfo.x - m_fNpcX;
FLOAT fDiffZ = _pNetwork->MyCharacterInfo.z - m_fNpcZ;
if( fDiffX * fDiffX + fDiffZ * fDiffZ > UI_VALID_SQRDIST )
CloseRemission();
CDrawPort* pDrawPort = CUIManager::getSingleton()->GetDrawPort();
// Set remission texture
pDrawPort->InitTextureData( m_ptdBaseTexture );
// Add render regions
// Background
pDrawPort->AddTexture( m_nPosX, m_nPosY, m_nPosX + m_nWidth, m_nPosY + m_nHeight,
m_rtBackground.U0, m_rtBackground.V0, m_rtBackground.U1, m_rtBackground.V1,
0xFFFFFFFF );
// Close button
m_btnClose.Render();
// Buy button
m_btnOK.Render();
// Cancel button
m_btnCancel.Render();
m_sbRemissionIcon.Render();
// List box of remission desc
m_lbRemissionDesc.Render();
// Render all elements
pDrawPort->FlushRenderingQueue();
// Remission buttons
RenderRemissionBtns();
// Text in remission
pDrawPort->PutTextEx( _S( 601, "면죄부" ), m_nPosX + REMISSION_TITLE_TEXT_OFFSETX,
m_nPosY + REMISSION_TITLE_TEXT_OFFSETY, 0xFFFFFFFF );
pDrawPort->PutTextExCX( _S( 601, "면죄부" ), m_nPosX + REMISSION_TAB_CX, m_nPosY + REMISSION_TAB_SY,
0x6B6B6BFF );
pDrawPort->PutTextEx( _S( 609, "현재 나스" ), m_nPosX + REMISSION_CURSP_SX,
m_nPosY + REMISSION_CURSP_SY );
CUIManager* pUIManager = CUIManager::getSingleton();
// Set money
CTString strPlayerMoney;
if( _pNetwork->MyCharacterInfo.money > 0 )
{
strPlayerMoney.PrintF( "%I64d", _pNetwork->MyCharacterInfo.money );
pUIManager->InsertCommaToString( strPlayerMoney );
}
pDrawPort->PutTextExRX( strPlayerMoney,
m_nPosX + REMISSION_CURSP_RX, m_nPosY + REMISSION_CURSP_SY, pUIManager->GetNasColor( strPlayerMoney ) );
// Flush all render text queue
pDrawPort->EndTextEx();
}
示例12: Render
// ----------------------------------------------------------------------------
// Name : Render()
// Desc :
// ----------------------------------------------------------------------------
void CUISelectList::Render()
{
CDrawPort* pDrawPort = CUIManager::getSingleton()->GetDrawPort();
// Set texture
pDrawPort->InitTextureData( m_ptdBaseTexture );
// Add render regions
int nX, nY;
// Background
// Top
nX = m_nPosX + m_nWidth;
nY = m_nPosY + 26;
pDrawPort->AddTexture( m_nPosX, m_nPosY, nX, nY,
m_rtBackTop.U0, m_rtBackTop.V0,
m_rtBackTop.U1, m_rtBackTop.V1,
0xFFFFFFFF );
// Middle 1
pDrawPort->AddTexture( m_nPosX, nY, nX, nY + m_nTextRegionHeight,
m_rtBackMiddle1.U0, m_rtBackMiddle1.V0,
m_rtBackMiddle1.U1, m_rtBackMiddle1.V1,
0xFFFFFFFF );
// Middle 2
nY += m_nTextRegionHeight;
pDrawPort->AddTexture( m_nPosX, nY, nX, m_nPosY + m_nHeight - 7,
m_rtBackMiddle2.U0, m_rtBackMiddle2.V0,
m_rtBackMiddle2.U1, m_rtBackMiddle2.V1,
0xFFFFFFFF );
// Bottom
nY = m_nPosY + m_nHeight - 7;
pDrawPort->AddTexture( m_nPosX, nY, nX, m_nPosY + m_nHeight,
m_rtBackBottom.U0, m_rtBackBottom.V0,
m_rtBackBottom.U1, m_rtBackBottom.V1,
0xFFFFFFFF );
// Registration
if( m_dwStyle & SLS_REGIST )
m_btnRegist.Render();
// Reward
if( m_dwStyle & SLS_REWARD )
m_btnReward.Render();
// Cancel button
if( m_dwStyle & SLS_CANCEL )
m_btnCancel.Render();
// Prev button
if( m_dwStyle & SLS_PREV )
m_btnPrev.Render();
// Next button
if( m_dwStyle & SLS_NEXT )
m_btnNext.Render();
// Render all elements
pDrawPort->FlushRenderingQueue();
// Title
pDrawPort->PutTextEx( m_strTitle, m_nPosX + SELECTLIST_TITLE_TEXT_OFFSETX,
m_nPosY + SELECTLIST_TITLE_TEXT_OFFSETY, 0xFFFFFFFF );
// List strings
int nLineCount;
int tv_size = m_vSelList.size();
int tv_page = m_nMaxLine*m_nPageCur;
nLineCount = tv_size>(tv_page+m_nMaxLine) ? (tv_page+m_nMaxLine):tv_size ;
CTString tIdx,sName;
nX = m_nPosX ;
nY = m_nPosY + 30 ;
for( int i = tv_page; i < nLineCount; i++ )
{
tIdx.PrintF("%d.",i+1);
sName = m_vSelList[i].m_sName;
if( m_nSelLine == i ) m_selColor = 0x49A1FFFF;
else m_selColor = 0xF2F2F2FF;
pDrawPort->PutTextEx( tIdx, nX +15, nY ,m_selColor);
if(m_vSelList[i].m_nIndex == _pNetwork->MyCharacterInfo.index) sName+=CTString("(Me)");
pDrawPort->PutTextEx( sName, nX + 35, nY ,m_selColor);
pDrawPort->PutTextEx( m_pstrState[m_vSelList[i].m_nState], nX + 160, nY,m_selColor);
nY += TEXT_GAP;
}
// Flush all render text queue
pDrawPort->EndTextEx();
//.........这里部分代码省略.........
示例13: Render
// ----------------------------------------------------------------------------
// Name : Render()
// Desc :
// ----------------------------------------------------------------------------
void CUIHelp::Render()
{
CDrawPort* pDrawPort = CUIManager::getSingleton()->GetDrawPort();
m_bVisible = TRUE;
// Set web board texture
pDrawPort->InitTextureData( m_ptdBaseTexture );
// Add render regions
int nX, nY, nX2, nY2;
// Background
// Upper left
nX = m_nPosX;
nY = m_nPosY;
nX2 = m_nPosX + m_nWidth;
nY2 = m_nPosY + 28;
pDrawPort->AddTexture( nX, nY, nX + 49, nY2,
m_rtTitleUL.U0, m_rtTitleUL.V0, m_rtTitleUL.U1, m_rtTitleUL.V1,
0xFFFFFFFF );
// Upper middle
pDrawPort->AddTexture( nX + 49, nY, nX2 - 32, nY2,
m_rtTitleUM.U0, m_rtTitleUM.V0, m_rtTitleUM.U1, m_rtTitleUM.V1,
0xFFFFFFFF );
// Upper right
pDrawPort->AddTexture( nX2 - 32, nY, nX2, nY2,
m_rtTitleUR.U0, m_rtTitleUR.V0, m_rtTitleUR.U1, m_rtTitleUR.V1,
0xFFFFFFFF );
nY = nY2;
nY2 = nY2 + 10;
pDrawPort->AddTexture( nX, nY, nX + 49, nY2,
m_rtBackUL.U0, m_rtBackUL.V0, m_rtBackUL.U1, m_rtBackUL.V1,
0xFFFFFFFF );
// Upper middle
pDrawPort->AddTexture( nX + 49, nY, nX2 - 32, nY2,
m_rtBackUM.U0, m_rtBackUM.V0, m_rtBackUM.U1, m_rtBackUM.V1,
0xFFFFFFFF );
// Upper right
pDrawPort->AddTexture( nX2 - 32, nY, nX2, nY2,
m_rtBackUR.U0, m_rtBackUR.V0, m_rtBackUR.U1, m_rtBackUR.V1,
0xFFFFFFFF );
// Middle left
nY = m_nPosY + m_nHeight - 15;
pDrawPort->AddTexture( nX, nY2, nX + 49, nY,
m_rtBackML.U0, m_rtBackML.V0, m_rtBackML.U1, m_rtBackML.V1,
0xFFFFFFFF );
// Middle middle
pDrawPort->AddTexture( nX + 49, nY2, nX2 - 32, nY,
m_rtBackMM.U0, m_rtBackMM.V0, m_rtBackMM.U1, m_rtBackMM.V1,
0xFFFFFFFF );
// Middle right
pDrawPort->AddTexture( nX2 - 32, nY2, nX2, nY,
m_rtBackMR.U0, m_rtBackMR.V0, m_rtBackMR.U1, m_rtBackMR.V1,
0xFFFFFFFF );
// Lower left
nY2 = m_nPosY + m_nHeight;
pDrawPort->AddTexture( nX, nY, nX + 49, nY2,
m_rtBackLL.U0, m_rtBackLL.V0, m_rtBackLL.U1, m_rtBackLL.V1,
0xFFFFFFFF );
// Lower middle
pDrawPort->AddTexture( nX + 49, nY, nX2 - 32, nY2,
m_rtBackLM.U0, m_rtBackLM.V0, m_rtBackLM.U1, m_rtBackLM.V1,
0xFFFFFFFF );
// Lower right
pDrawPort->AddTexture( nX2 - 32, nY, nX2, nY2,
m_rtBackLR.U0, m_rtBackLR.V0, m_rtBackLR.U1, m_rtBackLR.V1,
0xFFFFFFFF );
// Close button
m_btnClose.Render();
// Text in web board
// Title
pDrawPort->PutTextEx( _S( 1610, "도움말" ), m_nPosX + HELP_TITLE_OFFSETX,
m_nPosY + HELP_TITLE_OFFSETY, 0xFFFFFFFF );
// Render subject List
RenderList();
RenderContent();
// Flush all render queue
pDrawPort->FlushRenderingQueue();
pDrawPort->EndTextEx();
// Render Help Image
if( m_iImageIdx>=0 )
RenderImage( m_iImageIdx );
}
示例14: Render
// ----------------------------------------------------------------------------
// Name : Render()
// Desc :
// ----------------------------------------------------------------------------
void CUISelectServer::Render()
{
#ifdef AUTO_RESTART // [2012/10/18 : Sora] 재시작시 자동 로그인
extern BOOL g_bAutoRestart;
if(g_bAutoRestart)
{
CUIManager::getSingleton()->RenderLoading();
return;
}
#endif
CDrawPort* pDrawPort = CUIManager::getSingleton()->GetDrawPort();
// Set select server texture
pDrawPort->InitTextureData( m_ptdBaseTexture );
// Add render regions
// Background
int nY = m_nPosY + NOTICE_SIZE_Y + 29;
int nY2 = m_nPosY + m_nHeight - 39;
pDrawPort->AddTexture( m_nPosX, m_nPosY, m_nPosX + m_nWidth, m_nPosY +28,
m_rtBackTop.U0, m_rtBackTop.V0, m_rtBackTop.U1, m_rtBackTop.V1,
0xFFFFFFFF );
pDrawPort->AddTexture( m_nPosX, m_nPosY +28, m_nPosX + m_nWidth, nY,
m_rtBackTop1.U0, m_rtBackTop1.V0, m_rtBackTop1.U1, m_rtBackTop1.V1,
0xFFFFFFFF );
// 공지 창
pDrawPort->AddTexture( m_nPosX + 13 , m_nPosY +29, m_nPosX + m_nWidth - 13, nY -3,
m_rtBackTop2.U0, m_rtBackTop2.V0, m_rtBackTop2.U1, m_rtBackTop2.V1,
0xFFFFFFFF );
// pDrawPort->AddTexture( m_nPosX + 18 , m_nPosY +29, m_nPosX + m_nWidth - 18, nY,
// m_rtBackTop2.U0, m_rtBackTop2.V0, m_rtBackTop2.U1, m_rtBackTop2.V1,
// 0xFFFFFFFF );
// 서버군, 서버 표시
pDrawPort->AddTexture( m_nPosX, nY , m_nPosX + m_nWidth, nY + 29,
m_rtBackMiddle0.U0, m_rtBackMiddle0.V0, m_rtBackMiddle0.U1, m_rtBackMiddle0.V1,
0xFFFFFFFF );
pDrawPort->AddTexture( m_nPosX, nY + 29 , m_nPosX + m_nWidth, nY2 ,
m_rtBackMiddle.U0, m_rtBackMiddle.V0, m_rtBackMiddle.U1, m_rtBackMiddle.V1,
0xFFFFFFFF );
pDrawPort->AddTexture( m_nPosX, nY2, m_nPosX + m_nWidth, m_nPosY + m_nHeight,
m_rtBackBottom.U0, m_rtBackBottom.V0, m_rtBackBottom.U1, m_rtBackBottom.V1,
0xFFFFFFFF );
// 추천 서버 이미지
int count = m_vectorGroupInfo.size();
for ( int i = 0; i < count; i++)
{
UBYTE Type = m_vectorGroupInfo[i].ubServerType;
int nOrder = m_vectorGroupInfo[i].nOrder;
FLOAT U0, U1, V0, V1;
switch (Type)
{
case SERVER_TYPE_RECOMEND:
U0 = m_rtRecommend.U0;
U1 = m_rtRecommend.U1;
V0 = m_rtRecommend.V0;
V1 = m_rtRecommend.V1;
break;
case SERVER_TYPE_SPEEDUP:
U0 = m_rtSpeed.U0;
U1 = m_rtSpeed.U1;
V0 = m_rtSpeed.V0;
V1 = m_rtSpeed.V1;
break;
default:
continue;
}
pDrawPort->AddTexture( m_nPosX+RECOMMEND_POS_X , nY+4+(15* nOrder) , m_nPosX +RECOMMEND_POS_X+ 63, nY + 4 + (15*(nOrder+1)),
U0, V0, U1, V1, 0xFFFFFFFF );
}
// Ok button
m_btnOK.Render();
// Cancel button
m_btnCancel.Render();
#ifdef AUTO_RESTART // [2012/10/18 : Sora] 재시작시 자동 로그인
m_btnExit.Render();
#endif
// Server group list box
m_lbServerGroup.Render();
// Server list box
m_lbServer.Render();
// Render all elements
pDrawPort->FlushRenderingQueue();
// text render
pDrawPort->PutTextEx( _S( 250, "서버 선택" ),
//.........这里部分代码省略.........
示例15: RenderMasterStone
// ----------------------------------------------------------------------------
// Name : !!RenderMasterStone()
// Desc :
// ----------------------------------------------------------------------------
void CUIMixNew::RenderMasterStone()
{
CDrawPort* pDrawPort = CUIManager::getSingleton()->GetDrawPort();
// Set mix texture
pDrawPort->InitTextureData( m_ptdBaseTexture );
// Add render regions
int nX, nY ,i;
// Background
// Top
nX = m_nPosX + m_nWidth;
nY = m_nPosY + 26;
pDrawPort->AddTexture( m_nPosX, m_nPosY, nX, nY,
m_rtTop.U0, m_rtTop.V0, m_rtTop.U1, m_rtTop.V1,
0xFFFFFFFF );
// Middle 1
pDrawPort->AddTexture( m_nPosX, nY, nX, nY + m_nTextRegionHeight,
m_rtMiddle1.U0, m_rtMiddle1.V0, m_rtMiddle1.U1, m_rtMiddle1.V1,
0xFFFFFFFF );
// Middle 2
pDrawPort->AddTexture( m_nPosX+ 10, nY + 65 , nX-10,nY + m_nTextRegionHeight - 35,
m_rtMiddle2.U0, m_rtMiddle2.V0, m_rtMiddle2.U1, m_rtMiddle2.V1,
0xFFFFFFFF );
// Bottom
nY = m_nPosY + m_nHeight - 7;
pDrawPort->AddTexture( m_nPosX, nY, nX, m_nPosY + m_nHeight,
m_rtBottom.U0, m_rtBottom.V0, m_rtBottom.U1, m_rtBottom.V1,
0xFFFFFFFF );
for ( i = 0; i < MIXNEW_ITEM_SLOT_COUNT; i++ )
{
// Slot item region
pDrawPort->AddTexture( m_nPosX + m_rcItemSlot[i].Left, m_nPosY + m_rcItemSlot[i].Top,
m_nPosX + m_rcItemSlot[i].Right, m_nPosY + m_rcItemSlot[i].Bottom,
m_rtItemSlot.U0, m_rtItemSlot.V0, m_rtItemSlot.U1, m_rtItemSlot.V1,
0xFFFFFFFF );
}
// Close button
m_btnClose.Render();
// OK button
m_btnOK.SetText(_S(5434,"업그레이드"));
m_btnOK.Render();
// Cancel button
m_btnCancel.Render();
// Render all elements
pDrawPort->FlushRenderingQueue();
// Item
for ( i = 0; i < MIXNEW_ITEM_SLOT_COUNT; i++ )
{
if (m_pIconsSlot[i]->IsEmpty() == false)
{
m_pIconsSlot[i]->Render(pDrawPort);
pDrawPort->FlushBtnRenderingQueue( UBET_ITEM );
}
}
// Text in title
pDrawPort->PutTextEx( _S( 5433, "마스터 스톤" ), m_nPosX + MIXNEW_TITLE_TEXT_OFFSETX,
m_nPosY + MIXNEW_TITLE_TEXT_OFFSETY, 0xFFFFFFFF );
nX = m_nPosX + MIXNEW_DESC_TEXT_SX;
nY = m_nPosY + MIXNEW_DESC_TEXT_SY + 20;
COLOR tv_col;
for( int iDesc = 0; iDesc < m_nStringCount; iDesc++ )
{
if(iDesc == 6) tv_col = 0xC87238FF;
else tv_col = 0xC5C5C5FF;
pDrawPort->PutTextEx( m_strMixDesc[iDesc], nX , nY, tv_col );
nY += _pUIFontTexMgr->GetLineHeight();
}
m_strItemSlot[0] = _S( 5433, "마스터 스톤");
m_strItemSlot[1] = _S( 2736, "장비 아이템");
int tv_size = _pUIFontTexMgr->GetFontSpacing() + _pUIFontTexMgr->GetFontWidth();
pDrawPort->PutTextEx( m_strItemSlot[0],
m_nPosX + 62 - m_strItemSlot[0].Length()* tv_size/2 , m_nPosY + MIXNEW_ITEM_SLOT_SIZE*2 + 5, 0x929090FF );
pDrawPort->PutTextEx( m_strItemSlot[1],
m_nPosX + 152 - m_strItemSlot[1].Length()* tv_size/2 , m_nPosY + MIXNEW_ITEM_SLOT_SIZE*2 +5, 0x929090FF );
// Flush all render text queue
pDrawPort->EndTextEx();
}