static VALUE swinilist_getbkcolor(VALUE obj){ struct SwinImagelist* si; COLORREF c; Data_Get_Struct(obj,struct SwinImagelist,si); SWIN_IMAGELISTALIVECHECK(si) c = ImageList_GetBkColor(si->himagelist); if(c==CLR_NONE) return Qnil; return UINT2NUM((unsigned)c); }
BOOL CXTPSkinObjectToolBar::IsAlphaImageList(HIMAGELIST himl) { if (!GetSkinManager()->IsComCtlV6()) return FALSE; BOOL bAlpha = FALSE; if (m_mapAlphaImageList.Lookup(himl, bAlpha)) return bAlpha; m_mapAlphaImageList[himl] = FALSE; IMAGEINFO ii; if (!ImageList_GetImageInfo(himl, 0, &ii)) return FALSE; BITMAP bmp; GetObject(ii.hbmImage, sizeof(bmp), &bmp); if (bmp.bmBitsPixel != 32) return FALSE; COLORREF clr = ImageList_GetBkColor(himl); if (clr != 0xFFFFFFFF) return FALSE; LPBYTE pBitsI = NULL; bAlpha = -1; HBITMAP hBitmap = CXTPImageManagerIcon::PreMultiplyAlphaBitmap(ii.hbmImage, &bAlpha, &pBitsI); BOOL bResult = (bAlpha == TRUE) && pBitsI; if (hBitmap) DeleteObject(hBitmap); m_mapAlphaImageList[himl] = bResult; return bResult; }
Color ImageList::background () const { return (ImageList_GetBkColor(handle())); }