~exec64/imv

ref: 4c0123bb3b449a2ea45b3e831db725d853bb03a1 imv/src/bitmap.c -rw-r--r-- 496 bytes
4c0123bb — Harry Jeffery Release v4.0.1 3 years ago
                                                                                
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#include "bitmap.h"

#include <stdlib.h>
#include <string.h>

struct imv_bitmap *imv_bitmap_clone(struct imv_bitmap *bmp)
{
  struct imv_bitmap *copy = malloc(sizeof *copy);
  const size_t num_bytes = 4 * bmp->width * bmp->height;
  copy->width = bmp->width;
  copy->height = bmp->height;
  copy->format = bmp->format;
  copy->data = malloc(num_bytes);
  memcpy(copy->data, bmp->data, num_bytes);
  return copy;
}

void imv_bitmap_free(struct imv_bitmap *bmp)
{
  free(bmp->data);
  free(bmp);
}