From 4d5cd638ffba6854bfcee2ee7eb836f446b087ca Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Lukas=20T=C3=B6nne?= Date: Tue, 20 Dec 2016 11:01:08 +0100 Subject: String drawing function for the "simdebug" utilities. Simple string drawing API for debug drawing, in addition to basic primitives. --- source/blender/blenkernel/BKE_effect.h | 16 +++++++++++----- 1 file changed, 11 insertions(+), 5 deletions(-) (limited to 'source/blender/blenkernel/BKE_effect.h') diff --git a/source/blender/blenkernel/BKE_effect.h b/source/blender/blenkernel/BKE_effect.h index b934ec7166d..aa45132cbe9 100644 --- a/source/blender/blenkernel/BKE_effect.h +++ b/source/blender/blenkernel/BKE_effect.h @@ -172,6 +172,7 @@ typedef struct SimDebugElement { float color[3]; float v1[3], v2[3]; + char str[64]; } SimDebugElement; typedef enum eSimDebugElement_Type { @@ -179,6 +180,7 @@ typedef enum eSimDebugElement_Type { SIM_DEBUG_ELEM_CIRCLE, SIM_DEBUG_ELEM_LINE, SIM_DEBUG_ELEM_VECTOR, + SIM_DEBUG_ELEM_STRING, } eSimDebugElement_Type; typedef struct SimDebugData { @@ -191,26 +193,30 @@ void BKE_sim_debug_data_set_enabled(bool enable); bool BKE_sim_debug_data_get_enabled(void); void BKE_sim_debug_data_free(void); -void BKE_sim_debug_data_add_element(int type, const float v1[3], const float v2[3], +void BKE_sim_debug_data_add_element(int type, const float v1[3], const float v2[3], const char *str, float r, float g, float b, const char *category, unsigned int hash); void BKE_sim_debug_data_remove_element(unsigned int hash); #define BKE_sim_debug_data_add_dot(p, r, g, b, category, ...) { \ const float v2[3] = { 0.0f, 0.0f, 0.0f }; \ - BKE_sim_debug_data_add_element(SIM_DEBUG_ELEM_DOT, p, v2, r, g, b, category, SIM_DEBUG_HASH(__VA_ARGS__)); \ + BKE_sim_debug_data_add_element(SIM_DEBUG_ELEM_DOT, p, v2, NULL, r, g, b, category, SIM_DEBUG_HASH(__VA_ARGS__)); \ } #define BKE_sim_debug_data_add_circle(p, radius, r, g, b, category, ...) { \ const float v2[3] = { radius, 0.0f, 0.0f }; \ - BKE_sim_debug_data_add_element(SIM_DEBUG_ELEM_CIRCLE, p, v2, r, g, b, category, SIM_DEBUG_HASH(__VA_ARGS__)); \ + BKE_sim_debug_data_add_element(SIM_DEBUG_ELEM_CIRCLE, p, v2, NULL, r, g, b, category, SIM_DEBUG_HASH(__VA_ARGS__)); \ } #define BKE_sim_debug_data_add_line(p1, p2, r, g, b, category, ...) { \ - BKE_sim_debug_data_add_element(SIM_DEBUG_ELEM_LINE, p1, p2, r, g, b, category, SIM_DEBUG_HASH(__VA_ARGS__)); \ + BKE_sim_debug_data_add_element(SIM_DEBUG_ELEM_LINE, p1, p2, NULL, r, g, b, category, SIM_DEBUG_HASH(__VA_ARGS__)); \ } #define BKE_sim_debug_data_add_vector(p, d, r, g, b, category, ...) { \ - BKE_sim_debug_data_add_element(SIM_DEBUG_ELEM_VECTOR, p, d, r, g, b, category, SIM_DEBUG_HASH(__VA_ARGS__)); \ + BKE_sim_debug_data_add_element(SIM_DEBUG_ELEM_VECTOR, p, d, NULL, r, g, b, category, SIM_DEBUG_HASH(__VA_ARGS__)); \ +} + +#define BKE_sim_debug_data_add_string(p, str, r, g, b, category, ...) { \ + BKE_sim_debug_data_add_element(SIM_DEBUG_ELEM_STRING, p, NULL, str, r, g, b, category, SIM_DEBUG_HASH(__VA_ARGS__)); \ } #define BKE_sim_debug_data_remove(...) \ -- cgit v1.2.3