blob: cf01a85d160f3435877f457053822ec070987b3f [file] [log] [blame]
#ifndef _RIVE_PAINT_COLOR_HPP_
#define _RIVE_PAINT_COLOR_HPP_
#include <cmath>
#include <cstdint>
namespace rive
{
using ColorInt = uint32_t;
ColorInt colorARGB(int a, int r, int g, int b);
unsigned int colorRed(ColorInt value);
unsigned int colorGreen(ColorInt value);
unsigned int colorBlue(ColorInt value);
unsigned int colorAlpha(ColorInt value);
void UnpackColorToRGBA8(ColorInt color, uint8_t out[4]);
void UnpackColorToRGBA32F(ColorInt color, float out[4]);
void UnpackColorToRGBA32FPremul(ColorInt color, float out[4]);
float colorOpacity(unsigned int value);
ColorInt colorWithAlpha(ColorInt value, unsigned int a);
ColorInt colorWithOpacity(ColorInt value, float opacity);
ColorInt colorModulateOpacity(ColorInt value, float opacity);
ColorInt colorLerp(ColorInt from, ColorInt to, float mix);
} // namespace rive
#endif