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:
authorDalai Felinto <dfelinto@gmail.com>2016-12-23 17:36:16 +0300
committerDalai Felinto <dfelinto@gmail.com>2016-12-23 17:36:16 +0300
commit605263177b8eea24c1449e4dbf0138175ec3dddf (patch)
treeea297c777bcfae7c647ca88c48b8df3f8f3bd843 /source/blender/editors
parent76c4f0ec6c61bdc33ae908849f632771a1f997c0 (diff)
parentb47c912f4be877bf5511117864dfc2a5b30c0dca (diff)
Merge remote-tracking branch 'origin/master' into blender2.8
Diffstat (limited to 'source/blender/editors')
-rw-r--r--source/blender/editors/space_image/image_ops.c5
-rw-r--r--source/blender/editors/space_view3d/drawsimdebug.c20
2 files changed, 22 insertions, 3 deletions
diff --git a/source/blender/editors/space_image/image_ops.c b/source/blender/editors/space_image/image_ops.c
index f5da7d57010..6a1c0e7e4bf 100644
--- a/source/blender/editors/space_image/image_ops.c
+++ b/source/blender/editors/space_image/image_ops.c
@@ -1475,7 +1475,10 @@ static int image_match_len_exec(bContext *C, wmOperator *UNUSED(op))
if (!ima || !iuser || !BKE_image_has_anim(ima))
return OPERATOR_CANCELLED;
- iuser->frames = IMB_anim_get_duration(((ImageAnim *) ima->anims.first)->anim, IMB_TC_RECORD_RUN);
+ struct ImageAnim *anim = ((ImageAnim *)ima->anims.first)->anim;
+ if (!anim)
+ return OPERATOR_CANCELLED;
+ iuser->frames = IMB_anim_get_duration(anim, IMB_TC_RECORD_RUN);
BKE_image_user_frame_calc(iuser, scene->r.cfra, 0);
return OPERATOR_FINISHED;
diff --git a/source/blender/editors/space_view3d/drawsimdebug.c b/source/blender/editors/space_view3d/drawsimdebug.c
index 286e5825658..2baa6304cd9 100644
--- a/source/blender/editors/space_view3d/drawsimdebug.c
+++ b/source/blender/editors/space_view3d/drawsimdebug.c
@@ -172,9 +172,23 @@ static void draw_sim_debug_elements(SimDebugData *debug_data, float imat[4][4])
immEnd();
immUnbindProgram();
+
+ /**** strings ****/
+
+ for (BLI_ghashIterator_init(&iter, debug_data->gh); !BLI_ghashIterator_done(&iter); BLI_ghashIterator_step(&iter)) {
+ SimDebugElement *elem = BLI_ghashIterator_getValue(&iter);
+ if (elem->type != SIM_DEBUG_ELEM_STRING)
+ continue;
+
+ unsigned char col[4];
+ rgb_float_to_uchar(col, elem->color);
+ col[3] = 255;
+ view3d_cached_text_draw_add(elem->v1, elem->str, strlen(elem->str),
+ 0, V3D_CACHE_TEXT_GLOBALSPACE, col);
+ }
}
-void draw_sim_debug_data(Scene *UNUSED(scene), View3D *UNUSED(v3d), ARegion *ar)
+void draw_sim_debug_data(Scene *UNUSED(scene), View3D *v3d, ARegion *ar)
{
RegionView3D *rv3d = ar->regiondata;
/*Object *ob = base->object;*/
@@ -186,9 +200,11 @@ void draw_sim_debug_data(Scene *UNUSED(scene), View3D *UNUSED(v3d), ARegion *ar)
invert_m4_m4(imat, rv3d->viewmatob);
glPushMatrix();
-
glLoadMatrixf(rv3d->viewmat);
+
+ view3d_cached_text_draw_begin();
draw_sim_debug_elements(_sim_debug_data, imat);
+ view3d_cached_text_draw_end(v3d, ar, false, NULL);
glPopMatrix();
}