improve confusing macro GET_ACF_FLAG_PTR

- was operating on `type` which wasnt an argument to the macro.
- was calling return within the macro (makes code harder to follow).
This commit is contained in:
Campbell Barton 2012-03-11 17:41:19 +00:00
parent 178c2c32f2
commit 65895a2a38

@ -87,12 +87,9 @@
#define ANIM_CHAN_NAME_SIZE 256
/* macros used for type defines */
/* get the pointer used for some flag */
#define GET_ACF_FLAG_PTR(ptr) \
{ \
*type= sizeof((ptr)); \
return &(ptr); \
}
/* get the pointer used for some flag and return */
#define GET_ACF_FLAG_PTR(ptr, type) ((*(type) = sizeof((ptr))), &(ptr))
/* *********************************************** */
@ -453,7 +450,7 @@ static void *acf_summary_setting_ptr(bAnimListElem *ale, int setting, short *typ
bDopeSheet *ads= &saction->ads;
/* return pointer to DopeSheet's flag */
GET_ACF_FLAG_PTR(ads->flag);
return GET_ACF_FLAG_PTR(ads->flag, type);
}
else {
/* can't return anything useful - unsupported */
@ -547,15 +544,15 @@ static void *acf_scene_setting_ptr(bAnimListElem *ale, int setting, short *type)
switch (setting) {
case ACHANNEL_SETTING_SELECT: /* selected */
GET_ACF_FLAG_PTR(scene->flag);
return GET_ACF_FLAG_PTR(scene->flag, type);
case ACHANNEL_SETTING_EXPAND: /* expanded */
GET_ACF_FLAG_PTR(scene->flag);
return GET_ACF_FLAG_PTR(scene->flag, type);
case ACHANNEL_SETTING_MUTE: /* mute (only in NLA) */
case ACHANNEL_SETTING_VISIBLE: /* visible (for Graph Editor only) */
if (scene->adt)
GET_ACF_FLAG_PTR(scene->adt->flag)
return GET_ACF_FLAG_PTR(scene->adt->flag, type);
else
return NULL;
@ -694,15 +691,15 @@ static void *acf_object_setting_ptr(bAnimListElem *ale, int setting, short *type
switch (setting) {
case ACHANNEL_SETTING_SELECT: /* selected */
GET_ACF_FLAG_PTR(ob->flag);
return GET_ACF_FLAG_PTR(ob->flag, type);
case ACHANNEL_SETTING_EXPAND: /* expanded */
GET_ACF_FLAG_PTR(ob->nlaflag); // xxx
return GET_ACF_FLAG_PTR(ob->nlaflag, type); // xxx
case ACHANNEL_SETTING_MUTE: /* mute (only in NLA) */
case ACHANNEL_SETTING_VISIBLE: /* visible (for Graph Editor only) */
if (ob->adt)
GET_ACF_FLAG_PTR(ob->adt->flag)
return GET_ACF_FLAG_PTR(ob->adt->flag, type);
else
return NULL;
@ -835,7 +832,7 @@ static void *acf_group_setting_ptr(bAnimListElem *ale, int UNUSED(setting), shor
bActionGroup *agrp= (bActionGroup *)ale->data;
/* all flags are just in agrp->flag for now... */
GET_ACF_FLAG_PTR(agrp->flag);
return GET_ACF_FLAG_PTR(agrp->flag, type);
}
/* group type define */
@ -922,7 +919,7 @@ static void *acf_fcurve_setting_ptr(bAnimListElem *ale, int UNUSED(setting), sho
FCurve *fcu= (FCurve *)ale->data;
/* all flags are just in agrp->flag for now... */
GET_ACF_FLAG_PTR(fcu->flag);
return GET_ACF_FLAG_PTR(fcu->flag, type);
}
/* fcurve type define */
@ -997,13 +994,13 @@ static void *acf_fillactd_setting_ptr(bAnimListElem *ale, int setting, short *ty
switch (setting) {
case ACHANNEL_SETTING_SELECT: /* selected */
if (adt) {
GET_ACF_FLAG_PTR(adt->flag);
return GET_ACF_FLAG_PTR(adt->flag, type);
}
else
return NULL;
case ACHANNEL_SETTING_EXPAND: /* expanded */
GET_ACF_FLAG_PTR(act->flag);
return GET_ACF_FLAG_PTR(act->flag, type);
default: /* unsupported */
return NULL;
@ -1082,7 +1079,7 @@ static void *acf_filldrivers_setting_ptr(bAnimListElem *ale, int setting, short
switch (setting) {
case ACHANNEL_SETTING_EXPAND: /* expanded */
GET_ACF_FLAG_PTR(adt->flag);
return GET_ACF_FLAG_PTR(adt->flag, type);
default: /* unsupported */
return NULL;
@ -1152,13 +1149,13 @@ static void *acf_dsmat_setting_ptr(bAnimListElem *ale, int setting, short *type)
switch (setting) {
case ACHANNEL_SETTING_EXPAND: /* expanded */
GET_ACF_FLAG_PTR(ma->flag);
return GET_ACF_FLAG_PTR(ma->flag, type);
case ACHANNEL_SETTING_SELECT: /* selected */
case ACHANNEL_SETTING_MUTE: /* muted (for NLA only) */
case ACHANNEL_SETTING_VISIBLE: /* visible (for Graph Editor only) */
if (ma->adt)
GET_ACF_FLAG_PTR(ma->adt->flag)
return GET_ACF_FLAG_PTR(ma->adt->flag, type);
else
return NULL;
@ -1229,13 +1226,13 @@ static void *acf_dslam_setting_ptr(bAnimListElem *ale, int setting, short *type)
switch (setting) {
case ACHANNEL_SETTING_EXPAND: /* expanded */
GET_ACF_FLAG_PTR(la->flag);
return GET_ACF_FLAG_PTR(la->flag, type);
case ACHANNEL_SETTING_SELECT: /* selected */
case ACHANNEL_SETTING_MUTE: /* muted (for NLA only) */
case ACHANNEL_SETTING_VISIBLE: /* visible (for Graph Editor only) */
if (la->adt)
GET_ACF_FLAG_PTR(la->adt->flag)
return GET_ACF_FLAG_PTR(la->adt->flag, type);
else
return NULL;
@ -1313,13 +1310,13 @@ static void *acf_dstex_setting_ptr(bAnimListElem *ale, int setting, short *type)
switch (setting) {
case ACHANNEL_SETTING_EXPAND: /* expanded */
GET_ACF_FLAG_PTR(tex->flag);
return GET_ACF_FLAG_PTR(tex->flag, type);
case ACHANNEL_SETTING_SELECT: /* selected */
case ACHANNEL_SETTING_MUTE: /* muted (for NLA only) */
case ACHANNEL_SETTING_VISIBLE: /* visible (for Graph Editor only) */
if (tex->adt)
GET_ACF_FLAG_PTR(tex->adt->flag)
return GET_ACF_FLAG_PTR(tex->adt->flag, type);
else
return NULL;
@ -1390,13 +1387,13 @@ static void *acf_dscam_setting_ptr(bAnimListElem *ale, int setting, short *type)
switch (setting) {
case ACHANNEL_SETTING_EXPAND: /* expanded */
GET_ACF_FLAG_PTR(ca->flag);
return GET_ACF_FLAG_PTR(ca->flag, type);
case ACHANNEL_SETTING_SELECT: /* selected */
case ACHANNEL_SETTING_MUTE: /* muted (for NLA only) */
case ACHANNEL_SETTING_VISIBLE: /* visible (for Graph Editor only) */
if (ca->adt)
GET_ACF_FLAG_PTR(ca->adt->flag)
return GET_ACF_FLAG_PTR(ca->adt->flag, type);
else
return NULL;
@ -1477,13 +1474,13 @@ static void *acf_dscur_setting_ptr(bAnimListElem *ale, int setting, short *type)
switch (setting) {
case ACHANNEL_SETTING_EXPAND: /* expanded */
GET_ACF_FLAG_PTR(cu->flag);
return GET_ACF_FLAG_PTR(cu->flag, type);
case ACHANNEL_SETTING_SELECT: /* selected */
case ACHANNEL_SETTING_MUTE: /* muted (for NLA only) */
case ACHANNEL_SETTING_VISIBLE: /* visible (for Graph Editor only) */
if (cu->adt)
GET_ACF_FLAG_PTR(cu->adt->flag)
return GET_ACF_FLAG_PTR(cu->adt->flag, type);
else
return NULL;
@ -1554,13 +1551,13 @@ static void *acf_dsskey_setting_ptr(bAnimListElem *ale, int setting, short *type
switch (setting) {
case ACHANNEL_SETTING_EXPAND: /* expanded */
GET_ACF_FLAG_PTR(key->flag);
return GET_ACF_FLAG_PTR(key->flag, type);
case ACHANNEL_SETTING_SELECT: /* selected */
case ACHANNEL_SETTING_MUTE: /* muted (for NLA only) */
case ACHANNEL_SETTING_VISIBLE: /* visible (for Graph Editor only) */
if (key->adt)
GET_ACF_FLAG_PTR(key->adt->flag)
return GET_ACF_FLAG_PTR(key->adt->flag, type);
else
return NULL;
@ -1631,13 +1628,13 @@ static void *acf_dswor_setting_ptr(bAnimListElem *ale, int setting, short *type)
switch (setting) {
case ACHANNEL_SETTING_EXPAND: /* expanded */
GET_ACF_FLAG_PTR(wo->flag);
return GET_ACF_FLAG_PTR(wo->flag, type);
case ACHANNEL_SETTING_SELECT: /* selected */
case ACHANNEL_SETTING_MUTE: /* muted (for NLA only) */
case ACHANNEL_SETTING_VISIBLE: /* visible (for Graph Editor only) */
if (wo->adt)
GET_ACF_FLAG_PTR(wo->adt->flag)
return GET_ACF_FLAG_PTR(wo->adt->flag, type);
else
return NULL;
@ -1708,13 +1705,13 @@ static void *acf_dspart_setting_ptr(bAnimListElem *ale, int setting, short *type
switch (setting) {
case ACHANNEL_SETTING_EXPAND: /* expanded */
GET_ACF_FLAG_PTR(part->flag);
return GET_ACF_FLAG_PTR(part->flag, type);
case ACHANNEL_SETTING_SELECT: /* selected */
case ACHANNEL_SETTING_MUTE: /* muted (for NLA only) */
case ACHANNEL_SETTING_VISIBLE: /* visible (for Graph Editor only) */
if (part->adt)
GET_ACF_FLAG_PTR(part->adt->flag)
return GET_ACF_FLAG_PTR(part->adt->flag, type);
else
return NULL;
@ -1785,13 +1782,13 @@ static void *acf_dsmball_setting_ptr(bAnimListElem *ale, int setting, short *typ
switch (setting) {
case ACHANNEL_SETTING_EXPAND: /* expanded */
GET_ACF_FLAG_PTR(mb->flag);
return GET_ACF_FLAG_PTR(mb->flag, type);
case ACHANNEL_SETTING_SELECT: /* selected */
case ACHANNEL_SETTING_MUTE: /* muted (for NLA only) */
case ACHANNEL_SETTING_VISIBLE: /* visible (for Graph Editor only) */
if (mb->adt)
GET_ACF_FLAG_PTR(mb->adt->flag)
return GET_ACF_FLAG_PTR(mb->adt->flag, type);
else
return NULL;
@ -1862,13 +1859,13 @@ static void *acf_dsarm_setting_ptr(bAnimListElem *ale, int setting, short *type)
switch (setting) {
case ACHANNEL_SETTING_EXPAND: /* expanded */
GET_ACF_FLAG_PTR(arm->flag);
return GET_ACF_FLAG_PTR(arm->flag, type);
case ACHANNEL_SETTING_SELECT: /* selected */
case ACHANNEL_SETTING_MUTE: /* muted (for NLA only) */
case ACHANNEL_SETTING_VISIBLE: /* visible (for Graph Editor only) */
if (arm->adt)
GET_ACF_FLAG_PTR(arm->adt->flag)
return GET_ACF_FLAG_PTR(arm->adt->flag, type);
else
return NULL;
@ -1950,13 +1947,13 @@ static void *acf_dsntree_setting_ptr(bAnimListElem *ale, int setting, short *typ
switch (setting) {
case ACHANNEL_SETTING_EXPAND: /* expanded */
GET_ACF_FLAG_PTR(ntree->flag);
return GET_ACF_FLAG_PTR(ntree->flag, type);
case ACHANNEL_SETTING_SELECT: /* selected */
case ACHANNEL_SETTING_MUTE: /* muted (for NLA only) */
case ACHANNEL_SETTING_VISIBLE: /* visible (for Graph Editor only) */
if (ntree->adt)
GET_ACF_FLAG_PTR(ntree->adt->flag)
return GET_ACF_FLAG_PTR(ntree->adt->flag, type);
else
return NULL;
@ -2027,13 +2024,13 @@ static void *acf_dsmesh_setting_ptr(bAnimListElem *ale, int setting, short *type
switch (setting) {
case ACHANNEL_SETTING_EXPAND: /* expanded */
GET_ACF_FLAG_PTR(me->flag);
return GET_ACF_FLAG_PTR(me->flag, type);
case ACHANNEL_SETTING_SELECT: /* selected */
case ACHANNEL_SETTING_MUTE: /* muted (for NLA only) */
case ACHANNEL_SETTING_VISIBLE: /* visible (for Graph Editor only) */
if (me->adt)
GET_ACF_FLAG_PTR(me->adt->flag)
return GET_ACF_FLAG_PTR(me->adt->flag, type);
else
return NULL;
@ -2104,13 +2101,13 @@ static void *acf_dslat_setting_ptr(bAnimListElem *ale, int setting, short *type)
switch (setting) {
case ACHANNEL_SETTING_EXPAND: /* expanded */
GET_ACF_FLAG_PTR(lt->flag);
return GET_ACF_FLAG_PTR(lt->flag, type);
case ACHANNEL_SETTING_SELECT: /* selected */
case ACHANNEL_SETTING_MUTE: /* muted (for NLA only) */
case ACHANNEL_SETTING_VISIBLE: /* visible (for Graph Editor only) */
if (lt->adt)
GET_ACF_FLAG_PTR(lt->adt->flag)
return GET_ACF_FLAG_PTR(lt->adt->flag, type);
else
return NULL;
@ -2181,13 +2178,13 @@ static void *acf_dsspk_setting_ptr(bAnimListElem *ale, int setting, short *type)
switch (setting) {
case ACHANNEL_SETTING_EXPAND: /* expanded */
GET_ACF_FLAG_PTR(spk->flag);
return GET_ACF_FLAG_PTR(spk->flag, type);
case ACHANNEL_SETTING_SELECT: /* selected */
case ACHANNEL_SETTING_MUTE: /* muted (for NLA only) */
case ACHANNEL_SETTING_VISIBLE: /* visible (for Graph Editor only) */
if (spk->adt)
GET_ACF_FLAG_PTR(spk->adt->flag)
return GET_ACF_FLAG_PTR(spk->adt->flag, type);
else
return NULL;
@ -2296,7 +2293,7 @@ static void *acf_shapekey_setting_ptr(bAnimListElem *ale, int setting, short *ty
case ACHANNEL_SETTING_SELECT: /* selected */
case ACHANNEL_SETTING_MUTE: /* muted */
case ACHANNEL_SETTING_PROTECT: /* protected */
GET_ACF_FLAG_PTR(kb->flag)
return GET_ACF_FLAG_PTR(kb->flag, type);
default: /* unsupported */
return NULL;
@ -2375,7 +2372,7 @@ static void *acf_gpd_setting_ptr(bAnimListElem *ale, int UNUSED(setting), short
bGPdata *gpd= (bGPdata *)ale->data;
/* all flags are just in gpd->flag for now... */
GET_ACF_FLAG_PTR(gpd->flag);
return GET_ACF_FLAG_PTR(gpd->flag, type);
}
/* gpencil datablock type define */
@ -2464,7 +2461,7 @@ static void *acf_gpl_setting_ptr(bAnimListElem *ale, int UNUSED(setting), short
bGPDlayer *gpl= (bGPDlayer *)ale->data;
/* all flags are just in agrp->flag for now... */
GET_ACF_FLAG_PTR(gpl->flag);
return GET_ACF_FLAG_PTR(gpl->flag, type);
}
/* grease pencil layer type define */