2019-11-10 22:29:52 +00:00
|
|
|
#ifndef GUARD_IMAGE_PROCESSING_EFFECTS_H
|
|
|
|
#define GUARD_IMAGE_PROCESSING_EFFECTS_H
|
2018-12-15 19:07:07 +00:00
|
|
|
|
2019-11-10 18:46:39 +00:00
|
|
|
enum
|
2018-12-15 19:07:07 +00:00
|
|
|
{
|
2019-11-10 18:46:39 +00:00
|
|
|
IMAGE_EFFECT_POINTILLISM = 2,
|
|
|
|
IMAGE_EFFECT_GRAYSCALE_LIGHT = 6,
|
|
|
|
IMAGE_EFFECT_BLUR = 8,
|
|
|
|
IMAGE_EFFECT_OUTLINE_COLORED = 9,
|
|
|
|
IMAGE_EFFECT_INVERT_BLACK_WHITE = 10,
|
|
|
|
IMAGE_EFFECT_THICK_BLACK_WHITE = 11,
|
|
|
|
IMAGE_EFFECT_SHIMMER = 13,
|
|
|
|
IMAGE_EFFECT_OUTLINE = 30,
|
|
|
|
IMAGE_EFFECT_INVERT = 31,
|
|
|
|
IMAGE_EFFECT_BLUR_RIGHT = 32,
|
|
|
|
IMAGE_EFFECT_BLUR_DOWN = 33,
|
|
|
|
IMAGE_EFFECT_CHARCOAL = 36,
|
|
|
|
};
|
|
|
|
|
|
|
|
enum
|
|
|
|
{
|
|
|
|
QUANTIZE_EFFECT_STANDARD,
|
|
|
|
QUANTIZE_EFFECT_STANDARD_LIMITED_COLORS,
|
|
|
|
QUANTIZE_EFFECT_PRIMARY_COLORS,
|
|
|
|
QUANTIZE_EFFECT_GRAYSCALE,
|
|
|
|
QUANTIZE_EFFECT_GRAYSCALE_SMALL,
|
|
|
|
QUANTIZE_EFFECT_BLACK_WHITE,
|
|
|
|
};
|
|
|
|
|
2019-11-10 22:29:52 +00:00
|
|
|
struct ImageProcessingContext
|
2019-11-10 18:46:39 +00:00
|
|
|
{
|
|
|
|
u8 effect;
|
|
|
|
void *canvasPixels;
|
|
|
|
u16 *canvasPalette;
|
|
|
|
u8 fillerC[0x4];
|
2019-11-12 16:25:02 +00:00
|
|
|
void *dest;
|
2019-11-10 18:46:39 +00:00
|
|
|
u16 quantizeEffect;
|
2018-12-15 19:07:07 +00:00
|
|
|
u16 var_16;
|
2019-11-10 18:46:39 +00:00
|
|
|
u8 paletteStart;
|
|
|
|
u8 columnStart;
|
|
|
|
u8 rowStart;
|
|
|
|
u8 columnEnd;
|
|
|
|
u8 rowEnd;
|
|
|
|
u8 canvasWidth;
|
|
|
|
u8 canvasHeight;
|
|
|
|
u8 personality;
|
2018-12-15 19:07:07 +00:00
|
|
|
};
|
|
|
|
|
2019-11-10 22:29:52 +00:00
|
|
|
void ApplyImageProcessingEffects(struct ImageProcessingContext *);
|
|
|
|
void ApplyImageProcessingQuantization(struct ImageProcessingContext *);
|
|
|
|
void ConvertImageProcessingToGBA(struct ImageProcessingContext *);
|
2018-12-15 19:07:07 +00:00
|
|
|
|
|
|
|
#endif
|