NLA SoC: Lines are now drawn on action-clip strips for indicating the timing of repeats
This commit is contained in:
@@ -293,6 +293,23 @@ static void nla_draw_strip (AnimData *adt, NlaTrack *nlt, NlaStrip *strip, View2
|
||||
/* draw outline */
|
||||
gl_round_box_shade(GL_LINE_LOOP, strip->start, yminc, strip->end, ymaxc, 0.0, 0.0, 0.1);
|
||||
|
||||
/* if action-clip strip, draw lines delimiting repeats too (in the same colour */
|
||||
if ((strip->type == NLASTRIP_TYPE_CLIP) && IS_EQ(strip->repeat, 1.0f)==0) {
|
||||
float repeatLen = (strip->actend - strip->actstart) * strip->scale;
|
||||
int i;
|
||||
|
||||
/* only draw lines for whole-numbered repeats, starting from the first full-repeat
|
||||
* up to the last full repeat (but not if it lies on the end of the strip)
|
||||
*/
|
||||
for (i = 1; i < strip->repeat; i++) {
|
||||
float repeatPos = strip->start + (repeatLen * i);
|
||||
|
||||
/* don't draw if line would end up on or after the end of the strip */
|
||||
if (repeatPos < strip->end)
|
||||
fdrawline(repeatPos, yminc, repeatPos, ymaxc);
|
||||
}
|
||||
}
|
||||
|
||||
/* reset linestyle */
|
||||
setlinestyle(0);
|
||||
}
|
||||
|
||||
@@ -288,7 +288,7 @@ void rna_def_nlastrip(BlenderRNA *brna)
|
||||
RNA_def_property_float_sdna(prop, NULL, "repeat");
|
||||
RNA_def_property_float_funcs(prop, NULL, "rna_NlaStrip_repeat_set", NULL);
|
||||
RNA_def_property_range(prop, 0.1f, 1000.0f); /* these limits have currently be chosen arbitarily, but could be extended (minimum should still be > 0 though) if needed... */
|
||||
RNA_def_property_ui_text(prop, "Repeat", "Number of times to repeat the ");
|
||||
RNA_def_property_ui_text(prop, "Repeat", "Number of times to repeat the action range.");
|
||||
|
||||
prop= RNA_def_property(srna, "scale", PROP_FLOAT, PROP_NONE);
|
||||
RNA_def_property_float_sdna(prop, NULL, "scale");
|
||||
|
||||
Reference in New Issue
Block a user