void SSkinImgList::_Draw(IRenderTarget *pRT, LPCRECT rcDraw, DWORD dwState,BYTE byAlpha) { if(!m_pImg) return; SIZE sz=GetSkinSize(); RECT rcSrc={0,0,sz.cx,sz.cy}; if(m_bVertical) OffsetRect(&rcSrc,0, dwState * sz.cy); else OffsetRect(&rcSrc, dwState * sz.cx, 0); pRT->DrawBitmapEx(rcDraw,m_pImg,&rcSrc,GetExpandMode(),byAlpha); }
void SSkinImgFrame::_Draw(IRenderTarget *pRT, LPCRECT rcDraw, DWORD dwState,BYTE byAlpha) { if(!m_pImg) return; SIZE sz=GetSkinSize(); CPoint pt; if(IsVertical()) pt.y=sz.cy*dwState; else pt.x=sz.cx*dwState; CRect rcSour(pt,sz); pRT->DrawBitmap9Patch(rcDraw,m_pImg,&rcSour,&m_rcMargin,GetExpandMode(),byAlpha); }
void SSkinImgFrame2::_Draw(IRenderTarget *pRT, LPCRECT rcDraw, DWORD dwState,BYTE byAlpha) { if(!GetImage()) return; CRect rcSrc = CRect(m_rcImg.TopLeft(),GetSkinSize()); if(m_bVertical) OffsetRect(&rcSrc,0, dwState * rcSrc.Height()); else OffsetRect(&rcSrc, dwState * rcSrc.Width(), 0); rcSrc.DeflateRect(m_offset); pRT->DrawBitmap9Patch(rcDraw,GetImage(),&rcSrc,&m_rcMargin,IsTile()?EM_TILE:EM_STRETCH,byAlpha); }
void cUITab::SetRealSize() { if ( mFlags & UI_AUTO_SIZE ) { Uint32 w = mTextBox->GetTextWidth() + GetSkinSize().Width(); cUITabWidget * tTabW = GetTabWidget(); if ( NULL != tTabW ) { w = eemax( w, tTabW->mMinTabWidth ); w = eemin( w, tTabW->mMaxTabWidth ); } Size( w, mSize.Height() ); } }
void SDemoSkin::_Draw(IRenderTarget * pRT, LPCRECT rcDraw, DWORD dwState, BYTE byAlpha) { if (m_bIsColor) { COLORREF bkColor = m_bkColor | (byAlpha << 24); pRT->FillSolidRect(rcDraw, bkColor); return; } if (m_pImg) { SIZE sz = GetSkinSize(); CPoint pt(0, 0); CRect rcSour(pt, sz); pRT->DrawBitmap9Patch(rcDraw, m_pImg, &rcSour, &m_rcMargin, GetExpandMode(), byAlpha); } }
void cUITab::OnStateChange() { cUISelectButton::OnStateChange(); cUITabWidget * tTabW = GetTabWidget(); if ( NULL != tTabW ) { Size( mSize.Width(), GetSkinSize( GetSkin(), mSkinState->GetState() ).Height() ); if ( mSkinState->GetState() == cUISkinState::StateSelected ) { mTextBox->Color( tTabW->mFontSelectedColor ); } else if ( mSkinState->GetState() == cUISkinState::StateMouseEnter ) { mTextBox->Color( tTabW->mFontOverColor ); } else { mTextBox->Color( tTabW->mFontColor ); } } }
CRect SSkinScrollbar::GetPartRect(int nSbCode, int nState,BOOL bVertical) { CSize sz=GetSkinSize(); CSize szFrame(sz.cx/9,sz.cx/9); if(nSbCode==SB_CORNOR) { return CRect(CPoint(szFrame.cx*8,0),szFrame); }else if(nSbCode==SB_THUMBGRIPPER) { return CRect(CPoint(szFrame.cx*8,(1+(bVertical?0:1))*szFrame.cy),szFrame); }else { if(nState==SBST_INACTIVE && !m_bHasInactive) { nState=SBST_NORMAL; } CRect rcRet; int iPart=-1; switch(nSbCode) { case SB_LINEUP: iPart=0; break; case SB_LINEDOWN: iPart=1; break; case SB_THUMBTRACK: iPart=2; break; case SB_PAGEUP: case SB_PAGEDOWN: iPart=3; break; } if(!bVertical) iPart+=4; return CRect(CPoint(szFrame.cx*iPart,szFrame.cy*nState),szFrame); } }