//
//	just a little test how to plot an icon into
//	a window ...
//
//	the question is : how can I make a bob from an image ?
//


CLASS	    icon
SUPERCLASS  "gadgetclass",NULL
VERSION     iconimagetest 1.0 (20-04-94)
FIRST_METH_NUM		  144
FIRST_ATTR_NUM	TAG_USER+1900
INCLUDES
	<intuition/gadgetclass.h>
PRIVATE_INCLUDES
	<workbench/workbench.h>
	<assert.h>
	<string.h>

LIBRARIES
	exec
	intuition
	utility
	graphics
	icon

PRIVATE_DEFINES
	GADOB ((struct Gadget *)o)
	IDO inst->data
	IDG inst->dg

CONTENTS
	struct DiskObject *data;
	struct Gadget	  *dg;
	ULONG		   flags;

OBJ_INIT


METHOD GM_RENDER struct gpRender*
	ULONG t;
	t = GADOB->GadgetType;
	GADOB->GadgetType = GTYP_BOOLGADGET;
	RefreshGList(GADOB, msg->gpr_GInfo->gi_Window, msg->gpr_GInfo->gi_Requester, 1);
	GADOB->GadgetType = t;

	return 0;

METHOD GM_GOACTIVE struct gpInput*
	GADOB->Flags ^= GFLG_SELECTED;
	method_GM_RENDER(cl, o, (struct gpRender *)msg, inst);
	return GMR_NOREUSE;

METHOD GM_HITTEST struct gpHitTest*
	return GMR_GADGETHIT;

// GOINACTIVE
// LAYOUT
// HANDLEINPUT
// HELPTEST

ATTRIBUTE IGA_DiskObject
	$I IDO= (APTR)val; IDG= &IDO->do_Gadget; GADOB->GadgetRender=IDG->GadgetRender;GADOB->SelectRender= IDG->SelectRender; GADOB->Flags= (GADOB->Flags& GFLG_GADGHIGHBITS )|IDG->Flags;
	$S IDO= (APTR)val; IDG= &IDO->do_Gadget; GADOB->GadgetRender=IDG->GadgetRender;GADOB->SelectRender= IDG->SelectRender; GADOB->Flags= (GADOB->Flags& GFLG_GADGHIGHBITS )|IDG->Flags; retval= 1;
	$G val= (ULONG)IDO;



TEST_SUPPORT

    APTR dobj = NULL;
    void freeDO(void) {
	if (dobj) {
	    FreeDiskObject(dobj);
	    dobj = NULL;
	} /* if */
    }
    APTR getDO(void) {
	atexit(freeDO);

	dobj=GetDiskObjectNew("RAM:env");
	assert(dobj != NULL);
	return dobj;
    }


TEST_WINDOW
    WA_IDCMP, IDCMP_CLOSEWINDOW,
    WA_Title, "Class TestWindow",
    WA_Width, 300,
    WA_Height, 100,



TEST_OBJECT test_ob
    GA_Top,	50,
    GA_Left,	50,
    GA_Width,	50,
    GA_Height,	50,
   IGA_DiskObject, getDO(),


