forked from bartvdbraak/blender
NLA Channel Drawing Refactor: Remove rest of old drawing code for NLA Track channels
NLA Track drawing has now been ported over to use the UI widgets like the rest of the anim channels do in the DopeSheet and Graph Editors. The main benefit of this for users is that these buttons will now show tooltips when you hover over them. Hopefully this will help make the "solo" buttons more discoverable. I've decided to postpone porting the "Action Line" channels to the widget system for now, since there are quite a few more issues there which need quite a bit more time to work through.
This commit is contained in:
parent
905085228f
commit
efdd4894e9
@ -2972,7 +2972,9 @@ static void ANIM_init_channel_typeinfo_data(void)
|
||||
animchannelTypeInfo[type++] = &ACF_MASKLAYER; /* Mask Layer */
|
||||
|
||||
animchannelTypeInfo[type++] = &ACF_NLATRACK; /* NLA Track */
|
||||
animchannelTypeInfo[type++] = &ACF_NLAACTION; /* NLA Action */
|
||||
|
||||
// TODO: this channel type still hasn't been ported over yet, since it requires special attention
|
||||
animchannelTypeInfo[type++] = NULL; /* NLA Action */
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -638,8 +638,8 @@ static void draw_nla_channel_list_gl(bAnimContext *ac, ListBase *anim_data, View
|
||||
{
|
||||
AnimData *adt = ale->adt;
|
||||
|
||||
short indent = 0, offset = 0, sel = 0, group = 0, nonSolo = 0;
|
||||
int expand = -1, protect = -1, special = -1, mute = -1;
|
||||
short indent = 0, offset = 0, sel = 0, group = 0;
|
||||
int special = -1;
|
||||
char name[128];
|
||||
short do_draw = FALSE;
|
||||
|
||||
@ -660,7 +660,7 @@ static void draw_nla_channel_list_gl(bAnimContext *ac, ListBase *anim_data, View
|
||||
break;
|
||||
}
|
||||
default: /* handled by standard channel-drawing API */
|
||||
// draw backdrops only...
|
||||
/* (draw backdrops only...) */
|
||||
ANIM_channel_draw(ac, ale, yminc, ymaxc);
|
||||
break;
|
||||
}
|
||||
@ -743,25 +743,7 @@ static void draw_nla_channel_list_gl(bAnimContext *ac, ListBase *anim_data, View
|
||||
/* clear group value, otherwise we cause errors... */
|
||||
group = 0;
|
||||
}
|
||||
else {
|
||||
/* NLA tracks - darker color if not solo track when we're showing solo */
|
||||
UI_ThemeColorShade(TH_HEADER, ((nonSolo == 0) ? 20 : -20));
|
||||
|
||||
indent += group;
|
||||
offset += 0.35f * U.widget_unit * indent;
|
||||
glBegin(GL_QUADS);
|
||||
glVertex2f(x + offset, yminc);
|
||||
glVertex2f(x + offset, ymaxc);
|
||||
glVertex2f((float)v2d->cur.xmax, ymaxc);
|
||||
glVertex2f((float)v2d->cur.xmax, yminc);
|
||||
glEnd();
|
||||
}
|
||||
|
||||
/* draw expand/collapse triangle */
|
||||
if (expand > 0) {
|
||||
UI_icon_draw(x + offset, ydatac, expand);
|
||||
offset += 0.85f * U.widget_unit;
|
||||
}
|
||||
|
||||
/* draw special icon indicating certain data-types */
|
||||
if (special > -1) {
|
||||
@ -786,17 +768,6 @@ static void draw_nla_channel_list_gl(bAnimContext *ac, ListBase *anim_data, View
|
||||
glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA);
|
||||
glEnable(GL_BLEND);
|
||||
|
||||
/* draw protect 'lock' */
|
||||
if (protect > -1) {
|
||||
offset = 0.8f * U.widget_unit;
|
||||
UI_icon_draw((float)(v2d->cur.xmax - offset), ydatac, protect);
|
||||
}
|
||||
|
||||
/* draw mute 'eye' */
|
||||
if (mute > -1) {
|
||||
offset += 0.8f * U.widget_unit;
|
||||
UI_icon_draw((float)(v2d->cur.xmax - offset), ydatac, mute);
|
||||
}
|
||||
|
||||
/* draw NLA-action line 'status-icons' - only when there's an action */
|
||||
if ((ale->type == ANIMTYPE_NLAACTION) && (ale->data)) {
|
||||
|
Loading…
Reference in New Issue
Block a user