From 654dfac3d17b6869168305d71759a1c4ffb474d9 Mon Sep 17 00:00:00 2001 From: XANTRONIX Development Date: Sun, 9 Jun 2019 17:26:57 -0500 Subject: [PATCH] Implement hexagram_cluster_resize(), hexagram_cluster_init() --- include/hexagram/cluster.h | 8 ++++++++ src/cluster.c | 29 +++++++++++++++++++---------- 2 files changed, 27 insertions(+), 10 deletions(-) diff --git a/include/hexagram/cluster.h b/include/hexagram/cluster.h index 8514dc6..86b33e8 100644 --- a/include/hexagram/cluster.h +++ b/include/hexagram/cluster.h @@ -24,6 +24,14 @@ typedef struct _hexagram_cluster { } state; } hexagram_cluster; +void hexagram_cluster_resize(hexagram_cluster *cluster, + double width, + double height); + +void hexagram_cluster_init(hexagram_cluster *cluster, + double width, + double height); + hexagram_cluster *hexagram_cluster_new(double width, double height); diff --git a/src/cluster.c b/src/cluster.c index 2184ccd..1338366 100644 --- a/src/cluster.c +++ b/src/cluster.c @@ -3,13 +3,9 @@ #include -hexagram_cluster *hexagram_cluster_new(double width, double height) { - hexagram_cluster *cluster; - - if ((cluster = malloc(sizeof(*cluster))) == NULL) { - goto error_malloc_cluster; - } - +void hexagram_cluster_resize(hexagram_cluster *cluster, + double width, + double height) { /* * Ensure correct cluster aspect ratio */ @@ -50,11 +46,24 @@ hexagram_cluster *hexagram_cluster_new(double width, double height) { cluster->width = width; cluster->height = height; +} + +void hexagram_cluster_init(hexagram_cluster *cluster, + double width, + double height) { + hexagram_cluster_resize(cluster, width, height); - /* - * Initialize mutable state - */ memset(&cluster->state, '\0', sizeof(cluster->state)); +} + +hexagram_cluster *hexagram_cluster_new(double width, double height) { + hexagram_cluster *cluster; + + if ((cluster = malloc(sizeof(*cluster))) == NULL) { + goto error_malloc_cluster; + } + + hexagram_cluster_init(cluster, width, height); return cluster;