Defines |
#define | BM_ALLBITS (~(potrace_word)0) |
#define | BM_CLR(bm, x, y) (bm_safe(bm, x, y) ? BM_UCLR(bm, x, y) : 0) |
#define | BM_GET(bm, x, y) (bm_safe(bm, x, y) ? BM_UGET(bm, x, y) : 0) |
#define | BM_HIBIT (((potrace_word)1)<<(BM_WORDBITS-1)) |
#define | bm_index(bm, x, y) (&bm_scanline(bm, y)[(x)/BM_WORDBITS]) |
#define | BM_INV(bm, x, y) (bm_safe(bm, x, y) ? BM_UINV(bm, x, y) : 0) |
#define | bm_mask(x) (BM_HIBIT >> ((x) & (BM_WORDBITS-1))) |
#define | BM_PUT(bm, x, y, b) (bm_safe(bm, x, y) ? BM_UPUT(bm, x, y, b) : 0) |
#define | bm_range(x, a) ((int)(x) >= 0 && (int)(x) < (a)) |
#define | bm_safe(bm, x, y) (bm_range(x, (bm)->w) && bm_range(y, (bm)->h)) |
#define | bm_scanline(bm, y) ((bm)->map + (y)*(bm)->dy) |
#define | BM_SET(bm, x, y) (bm_safe(bm, x, y) ? BM_USET(bm, x, y) : 0) |
#define | BM_UCLR(bm, x, y) (*bm_index(bm, x, y) &= ~bm_mask(x)) |
#define | BM_UGET(bm, x, y) ((*bm_index(bm, x, y) & bm_mask(x)) != 0) |
#define | BM_UINV(bm, x, y) (*bm_index(bm, x, y) ^= bm_mask(x)) |
#define | BM_UPUT(bm, x, y, b) ((b) ? BM_USET(bm, x, y) : BM_UCLR(bm, x, y)) |
#define | BM_USET(bm, x, y) (*bm_index(bm, x, y) |= bm_mask(x)) |
#define | BM_WORDBITS (8*BM_WORDSIZE) |
#define | BM_WORDSIZE ((int)sizeof(potrace_word)) |
Functions |
static void | bm_clear (potrace_bitmap_t *bm, int c) |
static potrace_bitmap_t * | bm_dup (const potrace_bitmap_t *bm) |
static void | bm_free (potrace_bitmap_t *bm) |
static void | bm_invert (potrace_bitmap_t *bm) |
static potrace_bitmap_t * | bm_new (int w, int h) |