本文整理汇总了C++中CItemBase::GetTexture方法的典型用法代码示例。如果您正苦于以下问题:C++ CItemBase::GetTexture方法的具体用法?C++ CItemBase::GetTexture怎么用?C++ CItemBase::GetTexture使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类CItemBase
的用法示例。
在下文中一共展示了CItemBase::GetTexture方法的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: OnDraw
void CWndShopCtrl::OnDraw(C2DRender* p2DRender)
{
CPoint pt( 3, 3 );
CRect rect = GetClientRect();
for( int i = 0; i < MAX_CART; i++ )
{
int x = i % 6;
int y = i / 6;
CItemBase* pItemBase = m_pItemElem[ i ];
if( pItemBase )
{
if( ((CItemElem*)pItemBase)->IsFlag( CItemElem::expired ) )
pItemBase->GetTexture()->Render2( p2DRender, CPoint( x * 35, y * 35 ), D3DCOLOR_ARGB( 255, 255, 100, 100 ) );
else
pItemBase->GetTexture()->Render( p2DRender, CPoint( x * 35, y * 35 ) );
CRect rectHittest = CRect( x * 35, y * 35 + 3, x * 35 + 35, y * 35 + 35 + 3);
CPoint point = GetMousePoint();
if( rectHittest.PtInRect( point ) )
{
CPoint point2 = point;
ClientToScreen( &point2 );
ClientToScreen( &rectHittest );
g_WndMng.PutToolTip_Item( pItemBase, point2, &rectHittest );
}
CItemElem* pItemElem = (CItemElem*)pItemBase;
if( pItemElem->GetProp()->dwPackMax > 1 )
{
//short n = m_nBuy[i];
//if( IsUsingItem( pItemBase ) )
// n = pItemBase->GetExtra();
short m_nItemNum = pItemElem->m_nItemNum;
if( pItemElem->GetExtra() > 0 )
m_nItemNum -= (short)pItemElem->GetExtra();
TCHAR szTemp[ 35 ];
_stprintf( szTemp, "%d", m_nItemNum );
//_stprintf( szTemp, "%d", n );
CD3DFont* pOldFont = p2DRender->GetFont();//adeilson
p2DRender->SetFont( CWndBase::m_Theme.m_pFontWndNewTitle );
CSize size = m_p2DRender->m_pFont->GetTextExtent( szTemp );
m_p2DRender->TextOut( x * 35 + 35 - size.cx, y * 35 + 35 - size.cy, szTemp, 0xFF000000 );
m_p2DRender->TextOut( x * 35 + 34 - size.cx, y * 35 + 34 - size.cy, szTemp, 0xFF85FF8A );
p2DRender->SetFont( pOldFont );
//_stprintf( szTemp, "%d", n );
//CSize size = p2DRender->m_pFont->GetTextExtent( szTemp );
//p2DRender->TextOut( x * 35 + 35 - size.cx, y * 35 + 35 - size.cy, szTemp, 0xff1010ff );
}
}
}
}
示例2: OnDraw
void CWndGuildMeritCtrl::OnDraw( C2DRender* p2DRender )
{
if( m_pItemContainer.size() <= 0 )
return;
CRect rect = GetClientRect();
int nWidth = rect.Width() / 32;
int nHeight = rect.Height() / 32;
// 스크롤바 관련
CPoint pt( 0, 0 );
nWidth = 6;
int nPage = nHeight;
int nRange = m_pItemContainer.size() / nWidth;// - nPage;
if( m_pItemContainer.size() % nWidth )
nRange++;
m_wndScrollBar.SetScrollRange( 0, nRange );
m_wndScrollBar.SetScrollPage( nPage );
pt.y = 0;
pt.y += m_wndScrollBar.GetScrollPos() * nWidth;
for( int i = pt.y; i < (int)( m_pItemContainer.size() ); i++ )
{
int x = ( i - pt.x ) % 6;
int y = ( i - pt.y ) / 6;
CItemBase* pItemBase = m_pItemContainer[i];
if( pItemBase )
{
pItemBase->GetTexture()->Render( p2DRender, CPoint( x * 32 + 13, y * 32 + 7 ) );
CRect rectHittest = CRect( x * 32 + 13, y * 32 + 7, x * 32 + 13 + 32, y * 32 + 32 + 7 );
CPoint point = GetMousePoint();
if( rectHittest.PtInRect( point ) )
{
CPoint point2 = point;
ClientToScreen( &point2 );
ClientToScreen( &rectHittest );
g_WndMng.PutToolTip_Item( pItemBase, point2, &rectHittest, APP_VENDOR );
}
if( i == m_nCurSel )
p2DRender->RenderRect( CRect( x * 32 + 7, y * 32 + 11, x * 32 + 32 + 5, y * 32 + 32 + 9 ), 0xff00ffff );
CItemElem* pItemElem = (CItemElem*)pItemBase;
if( pItemElem->GetProp()->dwPackMax > 1 )
{
short nItemNum = pItemBase->GetExtra();
TCHAR szTemp[32];
_stprintf( szTemp, "%d", nItemNum );
CSize size = p2DRender->m_pFont->GetTextExtent( szTemp );
p2DRender->TextOut( x * 32 + 32 - size.cx + 17, y * 32 + 32 - size.cy + 10, szTemp, 0xff1010ff );
}
}
}
}
示例3: OnMouseMove
void CWndVendorCtrl::OnMouseMove( UINT nFlags, CPoint point )
{
if( m_bDrag == FALSE )
return;
m_bDrag = FALSE;
CPoint pt( 3, 3 );
CRect rect;
CItemBase* pItemBase = m_pFocusItem;
if( IsUsingItem( pItemBase ) )
{
m_GlobalShortcut.m_pFromWnd = this;
m_GlobalShortcut.m_dwShortcut = SHORTCUT_ITEM;
m_GlobalShortcut.m_dwIndex = m_nCurSel;
m_GlobalShortcut.m_dwType = 0;
m_GlobalShortcut.m_dwId = pItemBase->m_dwObjId;
m_GlobalShortcut.m_pTexture = pItemBase->GetTexture();
m_GlobalShortcut.m_dwData = (DWORD)pItemBase;
_tcscpy( m_GlobalShortcut.m_szString, pItemBase->GetProp()->szName );
}
}
示例4: OnDraw
void CWndVendorCtrl::OnDraw( C2DRender* p2DRender )
{
if( m_pMover == NULL )
return;
CRect rect = GetClientRect();
int nWidth = rect.Width() / 32;
int nHeight = rect.Height() / 35;
for( int i = 0; i < MAX_VENDITEM; i++ )
{
int x = i % 6;
int y = i / 6;
//p2DRender->RenderRect( CRect( x * 32 + 7, y * 32 + 11, x * 32 + 32 + 5, y * 32 + 32 + 9 ), 0xff00ffff );
CRect rectHittest = CRect( x * 32 + 7, y * 32 + 11, x * 32 + 32 + 5, y * 32 + 32 + 9 );
CPoint point = GetMousePoint();
if( rectHittest.PtInRect( point ) )
{
if( CWndBase::m_GlobalShortcut.m_dwData )
{
m_nCurSel = -1;
CPoint ptx = CPoint(x * 32 + 7, y * 32 + 11);
{
m_pTex->Render( p2DRender, ptx );
}
}
}
CItemBase* pItemBase = GetItem( i );
if( pItemBase )
{
if( ((CItemElem*)pItemBase)->IsFlag( CItemElem::expired ) )
{
pItemBase->GetTexture()->Render2( p2DRender, CPoint( x * 32 + 6, y * 32 + 10 ), D3DCOLOR_XRGB( 255, 100, 100 ) );
}
else
{
pItemBase->GetTexture()->Render( p2DRender, CPoint( x * 32 + 6, y * 32 + 10 ) );
}
CPoint point = GetMousePoint();
if( rectHittest.PtInRect( point ) )
{
CPoint point2 = point;
ClientToScreen( &point2 );
ClientToScreen( &rectHittest );
g_WndMng.PutToolTip_Item( pItemBase, point2, &rectHittest, APP_VENDOR );
}
if( i == m_nCurSel )
p2DRender->RenderRect( CRect( x * 32 + 7, y * 32 + 11, x * 32 + 32 + 5, y * 32 + 32 + 9 ), 0xff00ffff );
CItemElem* pItemElem = (CItemElem*)pItemBase;
if( pItemElem->GetProp()->dwPackMax > 1 )
{
short nItemNum = pItemBase->GetExtra();
TCHAR szTemp[32];
_stprintf( szTemp, "%d", nItemNum );
CSize size = p2DRender->m_pFont->GetTextExtent( szTemp );
p2DRender->TextOut( x * 32 + 32 - size.cx+5, y * 32 + 32 - size.cy+12, szTemp, 0xff1010ff );
}
}
}
}