diff options
Diffstat (limited to 'libvo/bitmap_packer.h')
-rw-r--r-- | libvo/bitmap_packer.h | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/libvo/bitmap_packer.h b/libvo/bitmap_packer.h index 99c7b514b4..b86c3ec4f9 100644 --- a/libvo/bitmap_packer.h +++ b/libvo/bitmap_packer.h @@ -43,6 +43,7 @@ void packer_set_size(struct bitmap_packer *packer, int size); * Write input sizes in packer->in. * Resulting packing will be written in packer->result. * w and h will be increased if necessary for successful packing. + * There is a strong guarantee that w and h will be powers of 2 (or set to 0). * Return value is -1 if packing failed because w and h were set to max * values but that wasn't enough, 1 if w or h was increased, and 0 otherwise. */ @@ -55,4 +56,13 @@ int packer_pack(struct bitmap_packer *packer); int packer_pack_from_subbitmaps(struct bitmap_packer *packer, struct sub_bitmaps *b); +// Copy the (already packed) sub-bitmaps from b to the image in data. +// data must point to an image that is at least (packer->w, packer->h) big. +// The image has the given stride (bytes between (x, y) to (x, y + 1)), and the +// pixel format used by both the sub-bitmaps and the image uses pixel_stride +// bytes per pixel (bytes between (x, y) to (x + 1, y)). +// If packer->padding is set, the padding borders are cleared with 0. +void packer_copy_subbitmaps(struct bitmap_packer *packer, struct sub_bitmaps *b, + void *data, int pixel_stride, int stride); + #endif |