| Re: [AD] New graphics API, take 2 | 
[ Thread Index | Date Index | More lists.liballeg.org/allegro-developers Archives ]
In reply to Shawn Hargreaves <shargreaves@xxxxxxxxxx>:
>It would actually be really handy (and would have been in
>the past for some drivers) if there was a way to attach
>multiple independent bits of custom data to a bitmap.
Rather than having lots of different structures, why not have one
structure with a pointer to a variable-sized chunk of data:
struct AL_BITMAP {
  AL_BITMAP_VTABLE* vtable;
  int w, h;
  int cl, cr, ct, cp;
  /* all usual bitmap stuff */
  struct AL_BITMAP_CHUNK* chunk;
};
struct AL_BITMAP_CHUNK {
  int id; /* from DAT_ID() equivalent */
  void* dat;
};
and have chunk be a dynamically-allocated array, terminated with a { 0,
0 } element. Even if it ever needs to be resized, you could use
realloc().
Bye for now,
-- 
Laurence Withers, lwithers@xxxxxxxxxx
                http://www.lwithers.demon.co.uk/
Attachment:
signature.asc
Description: PGP signature
| Mail converted by MHonArc 2.6.19+ | http://listengine.tuxfamily.org/ |