22#ifndef AGS_LIB_ALLEGRO_COLOR_H
23#define AGS_LIB_ALLEGRO_COLOR_H
25#include "common/scummsys.h"
26#include "graphics/screen.h"
27#include "ags/lib/allegro/base.h"
28#include "ags/lib/allegro/alconfig.h"
34#define MASK_COLOR_15 0x7C1F
35#define MASK_COLOR_16 0xF81F
36#define MASK_COLOR_24 0xFF00FF
37#define MASK_COLOR_32 0xFF00FF
47#include "common/pack-start.h"
56 r = g = b = filler = 0;
61typedef RGB PALETTE[PAL_SIZE];
63#include "common/pack-end.h"
66 byte data[32][32][32];
70 byte data[PAL_SIZE][PAL_SIZE];
79 kAlphaPreservedBlenderMode,
86extern int makecol(
byte r,
byte g,
byte b);
88AL_ARRAY(
const int, _rgb_scale_5);
89AL_ARRAY(
const int, _rgb_scale_6);
91AL_FUNC(
void, set_palette, (AL_CONST PALETTE p));
92AL_FUNC(
void, set_palette_range, (AL_CONST PALETTE p,
int from,
int to,
int retracesync));
94AL_FUNC(
void, get_color, (
int idx, RGB *p));
95AL_FUNC(
void, get_palette, (PALETTE p));
96AL_FUNC(
void, get_palette_range, (PALETTE p,
int from,
int to));
98AL_FUNC(
void, fade_interpolate, (AL_CONST PALETTE source, AL_CONST PALETTE dest, PALETTE output,
int pos,
int from,
int to));
100AL_FUNC(
void, select_palette, (AL_CONST PALETTE p));
101AL_FUNC(
void, unselect_palette, (
void));
103AL_FUNC(
void, create_rgb_table, (RGB_MAP *table, AL_CONST PALETTE pal, AL_METHOD(
void, callback, (
int pos))));
104AL_FUNC(
void, create_light_table, (COLOR_MAP *table, AL_CONST PALETTE pal,
int r,
int g,
int b, AL_METHOD(
void, callback, (
int pos))));
105AL_FUNC(
void, create_trans_table, (COLOR_MAP *table, AL_CONST PALETTE pal,
int r,
int g,
int b, AL_METHOD(
void, callback, (
int pos))));
107AL_FUNC(
void, set_blender_mode, (BlenderMode,
int r,
int g,
int b,
int a));
108AL_FUNC(
void, set_alpha_blender, (
void));
109AL_FUNC(
void, set_trans_blender, (
int r,
int g,
int b,
int a));
111AL_FUNC(
void, hsv_to_rgb, (
float h,
float s,
float v,
int *r,
int *g,
int *b));
112AL_FUNC(
void, rgb_to_hsv, (
int r,
int g,
int b,
float *h,
float *s,
float *v));
114AL_FUNC(
int, bestfit_color, (AL_CONST PALETTE pal,
int r,
int g,
int b));
116AL_FUNC(
int, makecol8, (
int r,
int g,
int b));
117AL_FUNC(
int, makecol_depth, (
int color_depth,
int r,
int g,
int b));
119AL_FUNC(
int, makeacol_depth, (
int color_depth,
int r,
int g,
int b,
int a));
121AL_FUNC(
int, getr, (
int c));
122AL_FUNC(
int, getg, (
int c));
123AL_FUNC(
int, getb, (
int c));
124AL_FUNC(
int, geta, (
int c));
126AL_FUNC(
int, getr_depth, (
int color_depth,
int c));
127AL_FUNC(
int, getg_depth, (
int color_depth,
int c));
128AL_FUNC(
int, getb_depth, (
int color_depth,
int c));
129AL_FUNC(
int, geta_depth, (
int color_depth,
int c));
131extern int makecol15(
int r,
int g,
int b);
132extern int makecol16(
int r,
int g,
int b);
133extern int makecol24(
int r,
int g,
int b);
134extern int makecol32(
int r,
int g,
int b);
135extern int makeacol32(
int r,
int g,
int b,
int a);
136extern int getr8(
int c);
137extern int getg8(
int c);
138extern int getb8(
int c);
139extern int getr15(
int c);
140extern int getg15(
int c);
141extern int getb15(
int c);
142extern int getr16(
int c);
143extern int getg16(
int c);
144extern int getb16(
int c);
145extern int getr24(
int c);
146extern int getg24(
int c);
147extern int getb24(
int c);
148extern int getr32(
int c);
149extern int getg32(
int c);
150extern int getb32(
int c);
151extern int geta32(
int c);