void CGUIRender::Render(const EGUICurrentState state, const int32 x, const int32 y) { Renderer::Instance().DrawImage(GetCurrentImg(state), static_cast<double>(x), static_cast<double>(y)); Renderer::Instance().SetColor(255, 255, 255, 255); double textOffset = ((GetCurrImgWidth(state) - m_fontType->GetTextWidth(m_buttonText)) / 2); Renderer::Instance().DrawText(m_fontType, m_buttonText, static_cast<double>(x - GetCurrentImg(state)->GetHandleX()) + textOffset, static_cast<double>(y)); }
void CLkDuiImgDisplay::OnChangeImage() { dc_background_->SetImage(GetNextImg().pImage,TRUE); if (!dc_beforeground_) dc_beforeground_ = new CLkDuiDC(hWnd_,rect_); dc_beforeground_->SetImage(GetCurrentImg().pImage,TRUE); byAlpha_ -= 20; timer_->AddTimer(GetMainHWnd(),TIMER_IMAGE_CHANGEING,100); }
void CLkDuiImgDisplay::OnTime(UINT id) { if (id == TIMER_IMAGE_CHANGE) { OnChangeImage(); } else if (id == TIMER_IMAGE_CHANGEING) { if (byAlpha_ < 20) { byAlpha_ = FULL_ALPHA; if (++show_pos_ == image_array_.size()) show_pos_ = 0; dc_background_->SetImage(GetCurrentImg().pImage,TRUE); timer_->RemoveTimer(GetMainHWnd(),TIMER_IMAGE_CHANGEING); } else byAlpha_ -= 20; is_erase_bg_ = TRUE; OnPaint(); } }
uint16 CGUIRender::GetCurrImgHeight(EGUICurrentState state) const { return GetCurrentImg(state)->GetHeight() * GetCurrentImg(state)->GetVFrames(); }
uint16 CGUIRender::GetCurrImgWidth(EGUICurrentState state) const { return GetCurrentImg(state)->GetWidth() * GetCurrentImg(state)->GetHFrames(); }