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; }
void SmileyType::GetSize(SIZE& size) { if (m_size.cy == 0) { ImageBase* img = CreateCachedImage(); if (img) { img->GetSize(m_size); img->Release(); } } size = m_size; }
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 UnloadSmiley(void) { regAniSmileys.remove(this); if (timerId && (timerId+1) && regAniSmileys.getCount() == 0) { KillTimer(NULL, timerId); timerId = 0; } if (m_img) m_img->Release(); m_img = NULL; }