HICON SmileyType::GetIconDup(void) { ImageBase* img = CreateCachedImage(); img->SelectFrame(m_index); HICON hIcon = img->GetIcon(); img->Release(); return hIcon; }
HBITMAP SmileyType::GetBitmap(COLORREF bkgClr, int sizeX, int sizeY) { ImageBase* img = CreateCachedImage(); if (!img) return NULL; img->SelectFrame(m_index); HBITMAP hBmp = img->GetBitmap(bkgClr, sizeX, sizeY); img->Release(); return hBmp; }
HICON SmileyType::GetIcon(void) { if (m_SmileyIcon == NULL) { ImageBase* img = CreateCachedImage(); if (!img) return NULL; img->SelectFrame(m_index); m_SmileyIcon = img->GetIcon(); img->Release(); } return m_SmileyIcon; }
void LoadSmiley(void) { if (m_img != NULL) return; m_img = m_sml->CreateCachedImage(); if (m_img && m_img->IsAnimated() && opt.AnimateDlg) { m_nFramePosition = 0; m_img->SelectFrame(m_nFramePosition); long frtm = m_img->GetFrameDelay(); m_counter = frtm / 10 + ((frtm % 10) >= 5); regAniSmileys.insert(this); if (timerId == 0) { timerId = 0xffffffff; CallFunctionAsync(sttMainThreadCallback, NULL); } } else m_nFramePosition = m_sml->GetStaticFrame(); }