From b3370e89a98e39dbf2928839c75fb20a108a5817 Mon Sep 17 00:00:00 2001 From: Vito Caputo Date: Sat, 19 Oct 2024 16:29:46 -0700 Subject: vcr: pass vwm_charts_t.marker_distance ref to vcr_new() Since vcr_t implements rendering of borders and backgrounds, to such an extent that when serializing mem->png for headless mode it produces the background and border on the fly on a per-row basis, let's just give it the ability to access the marker distance in vwm_charts_t and draw the markers as needed. It feels hacky to be passing pointers to these values but I really despise repeating setters across abstractions to plumb things through, so I'm doing the stupid simple thing here. --- src/vcr.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) (limited to 'src/vcr.c') diff --git a/src/vcr.c b/src/vcr.c index 9668d4d..02b15fb 100644 --- a/src/vcr.c +++ b/src/vcr.c @@ -131,6 +131,7 @@ typedef struct vcr_t { */ int *hierarchy_end_ptr; /* pointer to row where the process hierarchy currently ends */ int *snowflakes_cnt_ptr; /* pointer to count of snowflaked rows (reset to zero to truncate snowflakes display) */ + const unsigned *marker_distance_ptr; /* pointer to marker distance to use (0 disables markers, this is kind of silly but I don't want to add setters everywhere so sharing the instance in vwm_charts_t) */ union { #ifdef USE_XLIB @@ -697,7 +698,7 @@ vcr_dest_t * vcr_dest_free(vcr_dest_t *dest) * uses where the priority is more lower frequency (1HZ) and more history (larger dimensions) with periodic * PNG presents on the order of minutes/hours for cloud uploading to facilitate investigations. */ -vcr_t * vcr_new(vcr_backend_t *vbe, int *hierarchy_end_ptr, int *snowflakes_cnt_ptr) +vcr_t * vcr_new(vcr_backend_t *vbe, int *hierarchy_end_ptr, int *snowflakes_cnt_ptr, const unsigned *marker_distance_ptr) { vcr_t *vcr; @@ -712,6 +713,7 @@ vcr_t * vcr_new(vcr_backend_t *vbe, int *hierarchy_end_ptr, int *snowflakes_cnt_ vcr->backend = vbe; vcr->hierarchy_end_ptr = hierarchy_end_ptr; vcr->snowflakes_cnt_ptr = snowflakes_cnt_ptr; + vcr->marker_distance_ptr = marker_distance_ptr; return vcr; } -- cgit v1.2.3