// warning: initialization of item is incomplete! // initialization of item's height, text static and icon still necessary CUIPdaMsgListItem* CUIGameLog::AddPdaMessage(LPCSTR msg, float delay){ CUIPdaMsgListItem* pItem = xr_new<CUIPdaMsgListItem>(); pItem->Init (0,0, GetDesiredChildWidth(), 10); //fake height pItem->UIMsgText.SetTextST (msg); pItem->SetClrAnimDelay (delay); pItem->SetClrLightAnim (CHAT_LOG_ITEMS_ANIMATION, false, true, true, true); AddWindow (pItem, true); return pItem; }
void CUIMessagesWindow::AddIconedPdaMessage(LPCSTR textureName, Frect originalRect, LPCSTR message, int iDelay){ CUIPdaMsgListItem *pItem = m_pGameLog->AddPdaMessage(message, float(iDelay)); pItem->SetTextComplexMode (true); pItem->UIIcon.InitTexture (textureName); pItem->UIIcon.SetOriginalRect (originalRect.left, originalRect.top, originalRect.right, originalRect.bottom); pItem->UIMsgText.SetWndPos (pItem->UIIcon.GetWidth(), pItem->UIMsgText.GetWndPos().y); pItem->UIMsgText.AdjustHeightToText (); if (pItem->UIIcon.GetHeight() > pItem->UIMsgText.GetHeight()) pItem->SetHeight(pItem->UIIcon.GetHeight()); else pItem->SetHeight(pItem->UIMsgText.GetHeight()); m_pGameLog->SendMessage(pItem,CHILD_CHANGED_SIZE); }
void CUIMessagesWindow::AddIconedPdaMessage(GAME_NEWS_DATA* news) { CUIPdaMsgListItem *pItem = m_pGameLog->AddPdaMessage(); LPCSTR time_str = InventoryUtilities::GetTimeAsString( news->receive_time, InventoryUtilities::etpTimeToMinutes ).c_str(); pItem->UITimeText.SetText (time_str); pItem->UITimeText.AdjustWidthToText (); Fvector2 p = pItem->UICaptionText.GetWndPos(); p.x = pItem->UITimeText.GetWndPos().x + pItem->UITimeText.GetWidth() + 3.0f; pItem->UICaptionText.SetWndPos (p); pItem->UICaptionText.SetTextST (news->news_caption.c_str()); pItem->UIMsgText.SetTextST (news->news_text.c_str()); pItem->UIMsgText.AdjustHeightToText (); pItem->SetColorAnimation ("ui_main_msgs_short", LA_ONLYALPHA|LA_TEXTCOLOR|LA_TEXTURECOLOR, float(news->show_time)); pItem->UIIcon.InitTexture (news->texture_name.c_str()); float h1 = _max( pItem->UIIcon.GetHeight(), pItem->UIMsgText.GetWndPos().y + pItem->UIMsgText.GetHeight() ); pItem->SetHeight( h1 + 3.0f ); m_pGameLog->SendMessage(pItem,CHILD_CHANGED_SIZE); }