Fix T39484: Time line: highlighted area for frame range one frame too short.
Just using same principle as the one already used for the 'cache bar': add -0.5/+0.5 offsets to start/end (also edited 'view all' op to match this).
This commit is contained in:
parent
1af69b6df3
commit
e9d733a8bd
Notes:
blender-bot
2023-02-14 10:53:18 +01:00
Referenced by commit a872d0b414
, Revert "Fix T39484: Time line: highlighted area for frame range one frame too short."
Referenced by issue #39484, Time line: highlighted area for frame range one frame too short
|
@ -67,17 +67,20 @@
|
|||
/* ************************ main time area region *********************** */
|
||||
|
||||
static void time_draw_sfra_efra(Scene *scene, View2D *v2d)
|
||||
{
|
||||
/* draw darkened area outside of active timeline
|
||||
* frame range used is preview range or scene range
|
||||
{
|
||||
/* Draw darkened area outside of active timeline frame range used is preview range or scene range.
|
||||
* Note we use STFRA - 0.5 and PEFRA + 0.5, else visible 'active' area is one frame less than what's expected!
|
||||
*/
|
||||
const float psfra = ((float)PSFRA) - 0.5f;
|
||||
const float pefra = ((float)PEFRA) + 0.5f;
|
||||
|
||||
glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA);
|
||||
glEnable(GL_BLEND);
|
||||
glColor4f(0.0f, 0.0f, 0.0f, 0.4f);
|
||||
|
||||
if (PSFRA < PEFRA) {
|
||||
glRectf(v2d->cur.xmin, v2d->cur.ymin, (float)PSFRA, v2d->cur.ymax);
|
||||
glRectf((float)PEFRA, v2d->cur.ymin, v2d->cur.xmax, v2d->cur.ymax);
|
||||
|
||||
if (psfra < pefra) {
|
||||
glRectf(v2d->cur.xmin, v2d->cur.ymin, psfra, v2d->cur.ymax);
|
||||
glRectf(pefra, v2d->cur.ymin, v2d->cur.xmax, v2d->cur.ymax);
|
||||
}
|
||||
else {
|
||||
glRectf(v2d->cur.xmin, v2d->cur.ymin, v2d->cur.xmax, v2d->cur.ymax);
|
||||
|
@ -86,8 +89,8 @@ static void time_draw_sfra_efra(Scene *scene, View2D *v2d)
|
|||
|
||||
UI_ThemeColorShade(TH_BACK, -60);
|
||||
/* thin lines where the actual frames are */
|
||||
fdrawline((float)PSFRA, v2d->cur.ymin, (float)PSFRA, v2d->cur.ymax);
|
||||
fdrawline((float)PEFRA, v2d->cur.ymin, (float)PEFRA, v2d->cur.ymax);
|
||||
fdrawline(psfra, v2d->cur.ymin, psfra, v2d->cur.ymax);
|
||||
fdrawline(pefra, v2d->cur.ymin, pefra, v2d->cur.ymax);
|
||||
}
|
||||
|
||||
#define CACHE_DRAW_HEIGHT 3.0f
|
||||
|
|
|
@ -147,8 +147,8 @@ static int time_view_all_exec(bContext *C, wmOperator *UNUSED(op))
|
|||
return OPERATOR_CANCELLED;
|
||||
|
||||
/* set extents of view to start/end frames (Preview Range too) */
|
||||
v2d->cur.xmin = (float)PSFRA;
|
||||
v2d->cur.xmax = (float)PEFRA;
|
||||
v2d->cur.xmin = ((float)PSFRA) - 0.5f;
|
||||
v2d->cur.xmax = ((float)PEFRA) + 0.5f;
|
||||
|
||||
/* we need an extra "buffer" factor on either side so that the endpoints are visible */
|
||||
extra = 0.01f * BLI_rctf_size_x(&v2d->cur);
|
||||
|
|
Loading…
Reference in New Issue