Marko
Code: Select all
Object *MakePiecePtr(void)
{
struct BitMap *ptrbmap;
UBYTE *ptrimagedata;
ULONG ptrwidth,ptrheight,imgformat;
Object *pieceptr = NULL;
if (ptricon = IIcon->GetIconTags(NULL,ICONGETA_GetDefaultName,"copypointer",TAG_DONE))
{
IIcon->IconControl(ptricon,
ICONCTRLA_GetBitMap1,&ptrbmap,
ICONCTRLA_GetImageData1,&ptrimagedata,
ICONCTRLA_GetWidth,&ptrwidth,
ICONCTRLA_GetHeight,&ptrheight,
ICONCTRLA_GetImageDataFormat,&imgformat,
TAG_DONE);
D(bug("Pointer bmap %lx, imagedata %lx,width %ld,height %ld\n",ptrbmap,ptrimagedata,ptrwidth,ptrheight));
if (imgformat == IDFMT_DIRECTMAPPED)
D(bug("Oikea formaatti!\n"));
else
D(bug("Väärä formaatti!\n"));
if (ptrimagedata && imgformat == IDFMT_DIRECTMAPPED)
{
pieceptr = IIntuition->NewObject(NULL,POINTERCLASS,
POINTERA_ImageData,ptrimagedata,
POINTERA_Width,ptrwidth,
POINTERA_Height,ptrheight,
POINTERA_XOffset,-4,
POINTERA_YOffset,-4,
POINTERA_WordWidth,(ptrwidth + 15) / 16,
POINTERA_BitMap,ptrbmap,
POINTERA_XResolution,POINTERXRESN_SCREENRES,
POINTERA_YResolution,POINTERYRESN_SCREENRESASPECT,
TAG_DONE);
}
}
return(pieceptr);
}
...
IIntuition->SetWindowPointer(win,pieceptr);
...
IIcon->FreeDiskObject()...