struct WykresData { WORD *buffer; LONG first; LONG lenght; }; /* metoda New */ LONG mNew (Class *cl, Object *obj, struct opSet *msg) { struct WykresData *data; if (obj = (Object*)DoSuperMethodA (cl, obj, (Msg)msg)) { [b]data = (INST_DATA (cl,obj)); [/b] data->buffer = (WORD*)GetTagData (WYKA_Buffer, NULL, msg->ops_AttrList); data->first = GetTagData (WYKA_SampleStart, 0, msg->ops_AttrList); data->lenght = GetTagData (WYKA_SampleLenght, 0, msg->ops_AttrList); return (LONG)obj; } CoerceMethod (cl, obj, OM_DISPOSE); return NULL; }
/* add offset for instance data to an object handle */ #define INST_DATA(cl,o) ((void *)(((UBYTE *)o)+cl->cl_InstOffset))
@Kaczus, post #2
MUIA_Group_Child, Wyk = NewObject (WykresClass->mcc_Class, NULL, MUIA_Frame, MUIV_Frame_InputList, MUIA_Background, MUII_ListBack, WYKA_Buffer, 0x00F80000, WYKA_SampleStart, 0, WYKA_SampleLenght, 250, [b]TAG_END),[/b]
/* metoda New */ LONG mNew (Class *cl, Object *obj, struct opSet *msg) { struct WykresData *data; if (obj = (Object*)DoSuperMethodA (cl, obj, (Msg)msg)) { data = (WykresData *)(INST_DATA (cl,obj)); data->buffer = (WORD*)GetTagData (WYKA_Buffer, NULL, msg->ops_AttrList); data->first = GetTagData (WYKA_SampleStart, 0, msg->ops_AttrList); data->lenght = GetTagData (WYKA_SampleLenght, 0, msg->ops_AttrList); return (LONG)obj; } CoerceMethod (cl, obj, OM_DISPOSE); return NULL; }