> Date: 19 Apr 1999 11:11:42 -0700
> From: "Rob Peter" <[EMAIL PROTECTED]>
> Subject: Form Bitmaps
> 
> Does anyone know what the process for Showing Form Bitmaps that have been
> set
> as unusable in a form. The images must change during a communication
> ----------------------------------------------------------------------

The functions which hide/show bitmaps are a little bit broken in the
ROMs.  The ones I've created, and listed below, do the right thing.

Sanjay


void HideBitmap(FormPtr frm, Word objIndex)
{
        FormObjectType frmObject;
        RectangleType rect;
        VoidHand resH;
        BitmapPtr bitmap;

        ErrNonFatalDisplayIf (objIndex >= frm->numObjects, "Invalid index");

        frmObject = frm->objects[objIndex].object;
        
        if (frm->attr.visible && frmObject.bitmap->attr.usable) 
        {
                resH = DmGetResource (bitmapRsc, frmObject.bitmap->rscID);
                bitmap = MemHandleLock (resH);
                rect.topLeft.x = frmObject.bitmap->pos.x;
                rect.topLeft.y = frmObject.bitmap->pos.y;
                rect.extent.x = bitmap->width;
                rect.extent.y = bitmap->height;
                MemHandleUnlock (resH);
                WinEraseRectangle (&rect, 0);
                frmObject.bitmap->attr.usable = false;
        }
}

void ShowBitmap(FormPtr frm, Word objIndex)
{
        FormObjectType obj;
        VoidHand resH;

        ErrNonFatalDisplayIf (objIndex >= frm->numObjects, "Invalid index");

        obj = frm->objects[objIndex].object;
        
        obj.bitmap->attr.usable = true;
        if (frm->attr.visible) 
        {
                resH = DmGetResource (bitmapRsc, obj.bitmap->rscID);
                WinDrawBitmap (MemHandleLock (resH), 
                obj.bitmap->pos.x, obj.bitmap->pos.y);
                MemHandleUnlock (resH);
        }
}


Reply via email to