THE POST BELOW IS MORE THAN 5 YEARS OLD. RELATED SUPPORT INFORMATION MIGHT BE OUTDATED OR DEPRECATED
On 10/11/2002 at 07:28, xxxxxxxx wrote:
Quote: Originally posted by Michael Welter on 09 November 2002
>
> * * *
>
> I am making an object plugin and i want to show a bitmap in the AM.
>
> An Explanation of the BitmapButton Customgui could help. I wasn't able to find any information on this.
Sorry, this part of the docs isn't finished yet. You need to add this code: (Example from AtomObject.)
Bool GetDParameter(GeListNode *node, const DescID &id,GeData &t_data,LONG &flags)
{
switch(id[0].id)
{
case ATOMOBJECT_PREVIEW:
{
PluginMaterial *mat = (PluginMaterial* )node;
LONG dirty = 0;
BitmapButtonStruct bbs(static_cast<PluginObject*>(node), id, dirty);
t_data = GeData(CUSTOMDATATYPE_BITMAPBUTTON,bbs);
flags |= DESCFLAGS_PARAM_GET;
break;
}
}
return SUPER::GetDParameter(node, id, t_data, flags);
}
Bool SetDParameter(GeListNode *node, const DescID &id, const GeData &t_data, LONG &flags)
{
switch(id[0].id)
{
case ATOMOBJECT_PREVIEW:
flags |= DESCFLAGS_PARAM_SET;
break;
}
return SUPER::SetDParameter(node, id, t_data, flags);
}
static NodeData *Alloc(void) { return gNew AtomObject; }
};
Bool Message(GeListNode *node, LONG type, void *t_data)
{
if (type==MSG_DESCRIPTION_VALIDATE)
{
BaseContainer *data = ((BaseObject* )node)->GetDataInstance();
CutReal(*data,ATOMOBJECT_CRAD,0.0,data->GetReal(ATOMOBJECT_SRAD));
}
if (type == MSG_DESCRIPTION_GETBITMAP)
{
DescriptionGetBitmap* dgb = static_cast<DescriptionGetBitmap*>(t_data);
if (dgb->id[0] == ATOMOBJECT_PREVIEW)
{
AutoAlloc<BaseBitmap> bm;
bm->Init(50, 50);
bm->SetPen(12, 34, 56);
bm->Line(0, 0, 49, 49);
dgb->bmp = bm.Release();
}
}
return TRUE;
}