forked from ExternalVendorCode/Signal-Server
Add genericised image handling and implement in DoRxdPwr
This commit is contained in:
42
image.hh
Normal file
42
image.hh
Normal file
@@ -0,0 +1,42 @@
|
||||
#ifndef _IMAGE_HH_
|
||||
#define _IMAGE_HH_
|
||||
|
||||
#include <stdint.h>
|
||||
|
||||
#define RGB_SIZE 3
|
||||
#define RGBA_SIZE 4
|
||||
|
||||
typedef enum _IMAGE_FORMAT{ IMAGE_PPM, \
|
||||
IMAGE_LIBRARY, \
|
||||
IMAGE_FORMAT_MAX \
|
||||
} IMAGE_FORMAT;
|
||||
|
||||
typedef enum _IMAGE_MODEL{ IMAGE_RGB, \
|
||||
IMAGE_RGBA, \
|
||||
IMAGE_MODEL_MAX
|
||||
} IMAGE_MODEL;
|
||||
|
||||
typedef struct _IMAGE_CTX{
|
||||
size_t width;
|
||||
size_t height;
|
||||
IMAGE_MODEL model;
|
||||
IMAGE_FORMAT format;
|
||||
uint8_t *canvas;
|
||||
uint8_t *next_pixel;
|
||||
uint32_t initialized;
|
||||
char *extension;
|
||||
void *_dt;
|
||||
} IMAGE_CTX, *PIMAGE_CTX;
|
||||
|
||||
int image_init(PIMAGE_CTX ctx, const size_t width, const size_t height, const IMAGE_MODEL model);
|
||||
int image_add_pixel(PIMAGE_CTX ctx, const uint8_t r, const uint8_t g, const uint8_t b, const uint8_t a);
|
||||
int image_set_pixel(PIMAGE_CTX ctx, const size_t x, const size_t y, const uint8_t r, const uint8_t g, const uint8_t b, const uint8_t a);
|
||||
int image_get_pixel(PIMAGE_CTX ctx,const size_t x,const size_t y, uint8_t const *r, uint8_t const *g, uint8_t const *b, uint8_t const *a);
|
||||
int image_get_filename(PIMAGE_CTX ctx, char* out, size_t len, char* in);
|
||||
int image_write(PIMAGE_CTX ctx, FILE *fd);
|
||||
int image_set_library(char *library);
|
||||
|
||||
#define ADD_PIXEL(ctx,r,g,b) image_add_pixel((ctx),(r),(g),(b),0)
|
||||
#define ADD_PIXELA(ctx,r,g,b,a) image_add_pixel((ctx),(r),(g),(b),(a))
|
||||
|
||||
#endif
|
Reference in New Issue
Block a user