shithub: orca

ref: 70eaca425ae9b0ef50d073d519810f7f1f19ec92
dir: /mark.c/

View raw version
#include "mark.h"

void markmap_reusable_init(Markmap_reusable* map) {
  map->buffer = NULL;
  map->capacity = 0;
}

void markmap_reusable_ensure_size(Markmap_reusable* map, Usz height,
                                  Usz width) {
  Usz capacity = height * width;
  if (map->capacity < capacity) {
    map->buffer = realloc(map->buffer, capacity);
    map->capacity = capacity;
  }
}

void markmap_reusable_deinit(Markmap_reusable* map) { free(map->buffer); }

void mbuffer_clear(Mbuffer map, Usz height, Usz width) {
  Usz cleared_size = height * width;
  memset(map, 0, cleared_size);
}