22 #ifndef AGS_LIB_ALLEGRO_GRAPHICS_H 23 #define AGS_LIB_ALLEGRO_GRAPHICS_H 25 #include "graphics/managed_surface.h" 26 #include "ags/lib/allegro/base.h" 27 #include "ags/lib/allegro/fixed.h" 28 #include "ags/lib/allegro/surface.h" 29 #include "common/array.h" 34 #define GFX_AUTODETECT 0 35 #define GFX_AUTODETECT_FULLSCREEN 1 36 #define GFX_AUTODETECT_WINDOWED 2 37 #define GFX_SAFE AL_ID('S','A','F','E') 38 #define GFX_NONE AL_ID('N','O','N','E') 41 #define GFX_TYPE_UNKNOWN 0 42 #define GFX_TYPE_WINDOWED 1 43 #define GFX_TYPE_FULLSCREEN 2 44 #define GFX_TYPE_DEFINITE 4 45 #define GFX_TYPE_MAGIC 8 48 #define DRAW_SPRITE_NORMAL 0 49 #define DRAW_SPRITE_LIT 1 50 #define DRAW_SPRITE_TRANS 2 53 #define DRAW_SPRITE_NO_FLIP 0x0 54 #define DRAW_SPRITE_H_FLIP 0x1 55 #define DRAW_SPRITE_V_FLIP 0x2 56 #define DRAW_SPRITE_VH_FLIP 0x3 59 #define blender_mode_none 0 60 #define blender_mode_trans 1 61 #define blender_mode_add 2 62 #define blender_mode_burn 3 63 #define blender_mode_color 4 64 #define blender_mode_difference 5 65 #define blender_mode_dissolve 6 66 #define blender_mode_dodge 7 67 #define blender_mode_hue 8 68 #define blender_mode_invert 9 69 #define blender_mode_luminance 10 70 #define blender_mode_multiply 11 71 #define blender_mode_saturation 12 72 #define blender_mode_screen 13 73 #define blender_mode_alpha 14 76 #define SCREEN_W (gfx_driver ? gfx_driver->w : 0) 77 #define SCREEN_H (gfx_driver ? gfx_driver->h : 0) 79 #define VIRTUAL_W (screen ? screen->w : 0) 80 #define VIRTUAL_H (screen ? screen->h : 0) 82 #define COLORCONV_NONE 0 84 #define COLORCONV_8_TO_15 1 85 #define COLORCONV_8_TO_16 2 86 #define COLORCONV_8_TO_24 4 87 #define COLORCONV_8_TO_32 8 89 #define COLORCONV_15_TO_8 0x10 90 #define COLORCONV_15_TO_16 0x20 91 #define COLORCONV_15_TO_24 0x40 92 #define COLORCONV_15_TO_32 0x80 94 #define COLORCONV_16_TO_8 0x100 95 #define COLORCONV_16_TO_15 0x200 96 #define COLORCONV_16_TO_24 0x400 97 #define COLORCONV_16_TO_32 0x800 99 #define COLORCONV_24_TO_8 0x1000 100 #define COLORCONV_24_TO_15 0x2000 101 #define COLORCONV_24_TO_16 0x4000 102 #define COLORCONV_24_TO_32 0x8000 104 #define COLORCONV_32_TO_8 0x10000 105 #define COLORCONV_32_TO_15 0x20000 106 #define COLORCONV_32_TO_16 0x40000 107 #define COLORCONV_32_TO_24 0x80000 109 #define COLORCONV_32A_TO_8 0x100000 110 #define COLORCONV_32A_TO_15 0x200000 111 #define COLORCONV_32A_TO_16 0x400000 112 #define COLORCONV_32A_TO_24 0x800000 114 #define COLORCONV_DITHER_PAL 0x1000000 115 #define COLORCONV_DITHER_HI 0x2000000 116 #define COLORCONV_KEEP_TRANS 0x4000000 118 #define COLORCONV_DITHER (COLORCONV_DITHER_PAL | \ 121 #define COLORCONV_EXPAND_256 (COLORCONV_8_TO_15 | \ 122 COLORCONV_8_TO_16 | \ 123 COLORCONV_8_TO_24 | \ 126 #define COLORCONV_REDUCE_TO_256 (COLORCONV_15_TO_8 | \ 127 COLORCONV_16_TO_8 | \ 128 COLORCONV_24_TO_8 | \ 129 COLORCONV_32_TO_8 | \ 132 #define COLORCONV_EXPAND_15_TO_16 COLORCONV_15_TO_16 134 #define COLORCONV_REDUCE_16_TO_15 COLORCONV_16_TO_15 136 #define COLORCONV_EXPAND_HI_TO_TRUE (COLORCONV_15_TO_24 | \ 137 COLORCONV_15_TO_32 | \ 138 COLORCONV_16_TO_24 | \ 141 #define COLORCONV_REDUCE_TRUE_TO_HI (COLORCONV_24_TO_15 | \ 142 COLORCONV_24_TO_16 | \ 143 COLORCONV_32_TO_15 | \ 146 #define COLORCONV_24_EQUALS_32 (COLORCONV_24_TO_32 | \ 149 #define COLORCONV_TOTAL (COLORCONV_EXPAND_256 | \ 150 COLORCONV_REDUCE_TO_256 | \ 151 COLORCONV_EXPAND_15_TO_16 | \ 152 COLORCONV_REDUCE_16_TO_15 | \ 153 COLORCONV_EXPAND_HI_TO_TRUE | \ 154 COLORCONV_REDUCE_TRUE_TO_HI | \ 155 COLORCONV_24_EQUALS_32 | \ 156 COLORCONV_32A_TO_15 | \ 157 COLORCONV_32A_TO_16 | \ 160 #define COLORCONV_PARTIAL (COLORCONV_EXPAND_15_TO_16 | \ 161 COLORCONV_REDUCE_16_TO_15 | \ 162 COLORCONV_24_EQUALS_32) 164 #define COLORCONV_MOST (COLORCONV_EXPAND_15_TO_16 | \ 165 COLORCONV_REDUCE_16_TO_15 | \ 166 COLORCONV_EXPAND_HI_TO_TRUE | \ 167 COLORCONV_REDUCE_TRUE_TO_HI | \ 168 COLORCONV_24_EQUALS_32) 170 #define COLORCONV_KEEP_ALPHA (COLORCONV_TOTAL \ 171 & ~(COLORCONV_32A_TO_8 | \ 172 COLORCONV_32A_TO_15 | \ 173 COLORCONV_32A_TO_16 | \ 174 COLORCONV_32A_TO_24)) 176 AL_FUNC(
void, set_color_conversion, (
int mode));
177 AL_FUNC(
int, get_color_conversion, ());
178 AL_FUNC(
int, set_gfx_mode, (
int card,
int w,
int h,
int depth));
180 AL_FUNC(
void, set_clip_rect, (BITMAP *bitmap,
int x1,
int y1,
int x2,
int y2));
181 AL_FUNC(
void, get_clip_rect, (BITMAP *bitmap,
int *x1,
int *y1,
int *x2,
int *y2));
182 AL_FUNC(
void, clear_bitmap, (BITMAP *bitmap));
184 AL_FUNC(
void, acquire_bitmap, (BITMAP *bitmap));
185 AL_FUNC(
void, release_bitmap, (BITMAP *bitmap));
186 AL_FUNC(
void, draw_sprite, (BITMAP *bmp,
const BITMAP *sprite,
int x,
int y));
187 AL_FUNC(
void, stretch_sprite, (BITMAP *bmp,
const BITMAP *sprite,
int x,
int y,
int w,
int h));
189 extern void clear_to_color(BITMAP *bitmap,
int color);
190 extern int bitmap_color_depth(BITMAP *bmp);
191 extern int bitmap_mask_color(BITMAP *bmp);
193 extern void blit(
const BITMAP *src, BITMAP *dest,
int src_x,
int src_y,
int dst_x,
int dst_y,
int width,
int height);
194 extern void masked_blit(
const BITMAP *src, BITMAP *dest,
int src_x,
int src_y,
int dst_x,
int dst_y,
int width,
int height);
195 extern void stretch_blit(
const BITMAP *src, BITMAP *dest,
int source_x,
int source_y,
int source_width,
int source_height,
196 int dest_x,
int dest_y,
int dest_width,
int dest_height);
197 extern void masked_stretch_blit(
const BITMAP *src, BITMAP *dest,
int source_x,
int source_y,
int source_width,
int source_height,
198 int dest_x,
int dest_y,
int dest_width,
int dest_height);
199 extern void draw_trans_sprite(BITMAP *bmp,
const BITMAP *sprite,
int x,
int y);
200 extern void draw_lit_sprite(BITMAP *bmp,
const BITMAP *sprite,
int x,
int y,
int color);
201 extern void draw_sprite_h_flip(BITMAP *bmp,
const BITMAP *sprite,
int x,
int y);
202 extern void draw_sprite_v_flip(BITMAP *bmp,
const BITMAP *sprite,
int x,
int y);
203 extern void draw_sprite_vh_flip(BITMAP *bmp,
const BITMAP *sprite,
int x,
int y);
204 extern void rotate_sprite(BITMAP *bmp,
const BITMAP *sprite,
int x,
int y, fixed angle);
205 extern void pivot_sprite(BITMAP *bmp,
const BITMAP *sprite,
int x,
int y,
int cx,
int cy, fixed angle);
207 extern bool is_screen_bitmap(BITMAP *bmp);
208 extern bool is_video_bitmap(BITMAP *bmp);
209 extern bool is_linear_bitmap(BITMAP *bmp);
210 extern bool is_same_bitmap(BITMAP *bmp1, BITMAP *bmp2);
211 extern bool is_planar_bitmap(BITMAP *bmp);
212 extern void bmp_select(BITMAP *bmp);
213 extern byte *bmp_write_line(BITMAP *bmp,
int line);
214 extern void bmp_write8(byte *addr,
int color);
215 extern void bmp_write15(byte *addr,
int color);
216 extern void bmp_write16(byte *addr,
int color);
217 extern void bmp_write24(byte *addr,
int color);
218 extern void bmp_write32(byte *addr,
int color);
219 extern void memory_putpixel(BITMAP *bmp,
int x,
int y,
int color);
220 extern void putpixel(BITMAP *bmp,
int x,
int y,
int color);
221 extern void _putpixel(BITMAP *bmp,
int x,
int y,
int color);
222 extern void _putpixel15(BITMAP *bmp,
int x,
int y,
int color);
223 extern void _putpixel16(BITMAP *bmp,
int x,
int y,
int color);
224 extern void _putpixel24(BITMAP *bmp,
int x,
int y,
int color);
225 extern void _putpixel32(BITMAP *bmp,
int x,
int y,
int color);
226 extern int getpixel(
const BITMAP *bmp,
int x,
int y);
227 extern int _getpixel(
const BITMAP *bmp,
int x,
int y);
228 extern int _getpixel15(
const BITMAP *bmp,
int x,
int y);
229 extern int _getpixel16(
const BITMAP *bmp,
int x,
int y);
230 extern int _getpixel24(
const BITMAP *bmp,
int x,
int y);
231 extern int _getpixel32(
const BITMAP *bmp,
int x,
int y);
232 extern void line(BITMAP *bmp,
int x1,
int y_1,
int x2,
int y2,
int color);
233 extern void rect(BITMAP *bmp,
int x1,
int y_1,
int x2,
int y2,
int color);
234 extern void rectfill(BITMAP *bmp,
int x1,
int y_1,
int x2,
int y2,
int color);
235 extern void triangle(BITMAP *bmp,
int x1,
int y_1,
int x2,
int y2,
int x3,
int y3,
int color);
236 extern void circlefill(BITMAP *bmp,
int x,
int y,
int radius,
int color);
Definition: managed_surface.h:51