Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBastien Montagne <montagne29@wanadoo.fr>2014-03-28 18:13:21 +0400
committerBastien Montagne <montagne29@wanadoo.fr>2014-03-28 18:15:30 +0400
commite9d733a8bd9ebf803d4afac419670974792a3c0d (patch)
tree0ad2cd2c25d574f65d160ec4d8956aa626631dff /source/blender/editors/space_time
parent1af69b6df3c538bd329201520abaa5058a1ff0ca (diff)
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).
Diffstat (limited to 'source/blender/editors/space_time')
-rw-r--r--source/blender/editors/space_time/space_time.c21
-rw-r--r--source/blender/editors/space_time/time_ops.c4
2 files changed, 14 insertions, 11 deletions
diff --git a/source/blender/editors/space_time/space_time.c b/source/blender/editors/space_time/space_time.c
index 09d51cf7afb..f86f7134b31 100644
--- a/source/blender/editors/space_time/space_time.c
+++ b/source/blender/editors/space_time/space_time.c
@@ -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
diff --git a/source/blender/editors/space_time/time_ops.c b/source/blender/editors/space_time/time_ops.c
index e2e861fda38..0de9c296d3e 100644
--- a/source/blender/editors/space_time/time_ops.c
+++ b/source/blender/editors/space_time/time_ops.c
@@ -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);