cammy/include/cammy/photo.h

47 lines
1.1 KiB
C

#ifndef _CAMMY_PHOTO_H
#define _CAMMY_PHOTO_H
#include <stdint.h>
#include <cammy/tile.h>
#define CAMMY_PHOTO_TILES_WIDTH 16
#define CAMMY_PHOTO_TILES_HEIGHT 14
#define CAMMY_PHOTO_WIDTH \
(CAMMY_TILE_WIDTH * CAMMY_PHOTO_TILES_WIDTH)
#define CAMMY_PHOTO_HEIGHT \
(CAMMY_TILE_HEIGHT * CAMMY_PHOTO_TILES_HEIGHT)
#define CAMMY_PHOTO_THUMB_TILES_WIDTH 4
#define CAMMY_PHOTO_THUMB_TILES_HEIGHT 4
#define CAMMY_PHOTO_INFO_SIZE 256
#pragma pack(1)
#pragma pack(push)
typedef struct _cammy_photo {
cammy_tile tiles[CAMMY_PHOTO_TILES_HEIGHT]
[CAMMY_PHOTO_TILES_WIDTH];
cammy_tile thumb[CAMMY_PHOTO_THUMB_TILES_HEIGHT]
[CAMMY_PHOTO_THUMB_TILES_WIDTH];
uint8_t info[CAMMY_PHOTO_INFO_SIZE];
} cammy_photo;
#pragma pack(pop)
void cammy_photo_export(cammy_photo *src, uint8_t *dest, int stride);
void cammy_photo_import(cammy_photo *dest, uint8_t *src, int stride);
void cammy_photo_dither(uint8_t *dest,
uint8_t *src,
int width,
int height,
int stride);
#endif /* _CAMMY_PHOTO_H */