Initial
This commit is contained in:
128
imagelst/IMAGELST.BAK
Normal file
128
imagelst/IMAGELST.BAK
Normal file
@@ -0,0 +1,128 @@
|
||||
#include <imagelst/imagelst.hpp>
|
||||
#include <imagelst/imgeinfo.hpp>
|
||||
#include <common/gdipoint.hpp>
|
||||
#include <common/point.hpp>
|
||||
#include <common/purebmp.hpp>
|
||||
#include <common/pureicon.hpp>
|
||||
|
||||
ImageList::ImageList(HINSTANCE hProcessInstance,const String &bitmapName,DWORD widthImage,RGBColor maskColor,DWORD growthFactor)
|
||||
: mhImageList(0), mhProcessInstance(hProcessInstance)
|
||||
{
|
||||
mhImageList=::ImageList_LoadBitmap(hProcessInstance,bitmapName,widthImage,growthFactor,maskColor);
|
||||
}
|
||||
|
||||
ImageList &ImageList::operator=(HIMAGELIST hImageList)
|
||||
{
|
||||
destroyImageList();
|
||||
mhImageList=hImageList;
|
||||
return *this;
|
||||
}
|
||||
|
||||
ImageList &ImageList::operator=(const ImageList &someImageList)
|
||||
{
|
||||
DWORD sourceImageListEntries;
|
||||
Point imageDimensions;
|
||||
ImageType imageType;
|
||||
|
||||
if(!mhProcessInstance)return *this;
|
||||
if(someImageList.isOkay()&&(0!=(sourceImageListEntries=someImageList.size())))
|
||||
{
|
||||
someImageList.imageDimensions(imageDimensions);
|
||||
imageType=someImageList.imageType();
|
||||
if(createImageList(imageDimensions.x(),imageDimensions.y(),imageType))
|
||||
{
|
||||
for(DWORD itemIndex=0;itemIndex<sourceImageListEntries;itemIndex++)
|
||||
insertImage(PureIcon(someImageList.extractIcon(itemIndex)));
|
||||
}
|
||||
}
|
||||
return *this;
|
||||
}
|
||||
|
||||
WORD ImageList::drawImage(PureDevice &somePureDevice,const Point &xyPoint,DWORD itemIndex,DrawFlag drawFlag)
|
||||
{
|
||||
if(!isOkay())return FALSE;
|
||||
return ::ImageList_Draw(mhImageList,itemIndex,somePureDevice,xyPoint.x(),xyPoint.y(),(UINT)drawFlag);
|
||||
}
|
||||
|
||||
WORD ImageList::imageDimensions(Point &imageDimensions)const
|
||||
{
|
||||
int cxDimension;
|
||||
int cyDimension;
|
||||
WORD returnCode;
|
||||
|
||||
if(!isOkay())return FALSE;
|
||||
returnCode=::ImageList_GetIconSize(mhImageList,&cxDimension,&cyDimension);
|
||||
imageDimensions.x(cxDimension);
|
||||
imageDimensions.y(cyDimension);
|
||||
return returnCode;
|
||||
}
|
||||
|
||||
BOOL ImageList::beginDrag(DWORD itemIndex,const GDIPoint &dragPoint)const
|
||||
{
|
||||
if(!isOkay())return FALSE;
|
||||
return ImageList_BeginDrag(mhImageList,itemIndex,dragPoint.x(),dragPoint.y());
|
||||
}
|
||||
|
||||
BOOL ImageList::dragMove(const GDIPoint &dragPoint)const
|
||||
{
|
||||
return ImageList_DragMove(dragPoint.x(),dragPoint.y());
|
||||
}
|
||||
|
||||
BOOL ImageList::dragEnter(HWND hwndLock,const GDIPoint &imagePoint)const
|
||||
{
|
||||
return ImageList_DragEnter(hwndLock,imagePoint.x(),imagePoint.y());
|
||||
}
|
||||
|
||||
BOOL ImageList::dragLeave(HWND hwndLock)const
|
||||
{
|
||||
return ImageList_DragLeave(hwndLock);
|
||||
}
|
||||
|
||||
BOOL ImageList::setDragCursorImage(int itemIndex,const GDIPoint &hotSpot)
|
||||
{
|
||||
if(!isOkay())return FALSE;
|
||||
return ImageList_SetDragCursorImage(mhImageList,itemIndex,hotSpot.x(),hotSpot.y());
|
||||
}
|
||||
|
||||
WORD ImageList::insertImage(const PureBitmap &colorBitmap)
|
||||
{
|
||||
return insertImage(colorBitmap,PureBitmap());
|
||||
}
|
||||
|
||||
WORD ImageList::insertImage(const PureBitmap &colorBitmap,const PureBitmap &maskBitmap)
|
||||
{
|
||||
if(!isOkay())return FALSE;
|
||||
if(maskBitmap.isOkay())return ::ImageList_Add(mhImageList,colorBitmap,maskBitmap);
|
||||
return ::ImageList_Add(mhImageList,colorBitmap,0);
|
||||
}
|
||||
|
||||
WORD ImageList::insertImage(const PureBitmap &colorBitmap,const RGBColor &maskColor)
|
||||
{
|
||||
if(!isOkay())return FALSE;
|
||||
return ::ImageList_AddMasked(mhImageList,colorBitmap,(COLORREF)maskColor);
|
||||
}
|
||||
|
||||
WORD ImageList::replaceImage(DWORD itemIndex,const PureBitmap &colorBitmap,const PureBitmap &maskBitmap)
|
||||
{
|
||||
if(!isOkay())return FALSE;
|
||||
return ::ImageList_Replace(mhImageList,itemIndex,colorBitmap,maskBitmap);
|
||||
}
|
||||
|
||||
WORD ImageList::insertImage(PureIcon &somePureIcon)
|
||||
{
|
||||
if(!isOkay())return FALSE;
|
||||
return !::ImageList_AddIcon(mhImageList,(HICON)somePureIcon);
|
||||
}
|
||||
|
||||
WORD ImageList::replaceImage(DWORD itemIndex,PureIcon &somePureIcon)
|
||||
{
|
||||
if(!isOkay())return FALSE;
|
||||
return ::ImageList_ReplaceIcon(mhImageList,itemIndex,(HICON)somePureIcon);
|
||||
}
|
||||
|
||||
BOOL ImageList::imageInfo(int itemIndex,ImageInfo &imageInfo)
|
||||
{
|
||||
if(!isOkay())return FALSE;
|
||||
return ::ImageList_GetImageInfo(mhImageList,itemIndex,&((_IMAGEINFO&)imageInfo));
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user