Virtuelle Zockhalle 0.05 beta

alhelper.h

gehe zur Dokumentation dieser Datei
00001 /* -*- coding: utf-8 -*- */
00002 
00003 /***********************************************************************
00004  *
00005  * $Id: alhelper.h,v 1.4 2010/11/19 07:50:11 elias Beta $
00006  * Diese Datei gehört zur Virtuellen Zockhalle
00007  *
00008  * Virtuelle Zockhalle 
00009  * (c) 2010 Elias Schwerdtfeger
00010  * http://www.tamagothi.de/
00011  *
00012  * Dieses Programm ist freie Software, lizenziert unter den sinngemäß
00013  * anzuwendenden Bedingungen meiner Lizenz für freie Musik,
00014  * http://www.tamagothi.de/alben/lizenz.html
00015  *
00016  ***********************************************************************/
00017 
00018 
00019 #ifndef _ALHELPER_H
00020 #define _ALHELPER_H
00021 
00022 
00030 #include <allegro.h>
00031 #include "eshelper.h"
00032 
00033 
00040 DATAFILE *eload_datafile (const char *path);
00048 BITMAP *ecreate_bitmap (int w, int h);
00059 BITMAP *ecreate_sub_bitmap (BITMAP *bm, int x, int y, int w, int h);
00066 BITMAP *edup_bitmap (BITMAP *bm);
00073 RLE_SPRITE *eget_rle_sprite (BITMAP *bm);
00080 void pattern_blit (BITMAP *pat, BITMAP *dest);
00088 #define r_load_datafile(RMB, PATH) \
00089   _MAKEREMEMBER_1 ((RMB), DATAFILE *, eload_datafile, unload_datafile, (PATH))
00090 
00098 #define r_create_bitmap(RMB, W, H)                                      \
00099   _MAKEREMEMBER_2 ((RMB), BITMAP *, ecreate_bitmap, destroy_bitmap, (W), (H))
00100 
00111 #define r_create_sub_bitmap(RMB, BM, X, Y, W, H)                \
00112   _MAKEREMEMBER_5 ((RMB), BITMAP *, ecreate_sub_bitmap,         \
00113                    destroy_bitmap, (BM), (X), (Y), (W), (H))
00114 
00121 #define r_dup_bitmap(RMB, BM)                                           \
00122   _MAKEREMEMBER_1 ((RMB), BITMAP *, edup_bitmap, destroy_bitmap, (BM))
00123 
00130 #define r_get_rle_sprite(RMB, BM)                    \
00131   _MAKEREMEMBER_1 ((RMB), BITMAP *, eget_rle_sprite, \
00132                    destroy_rle_sprite, (BM))
00133 
00144 #define makexcol(HEXCOL)                        \
00145   makecol (((HEXCOL) >> 16) & 0xFF,             \
00146            ((HEXCOL) >> 8) & 0xFF,              \
00147            ((HEXCOL) >> 0) & 0xFF)
00148 
00152 struct blend_chain
00153 {
00159   void (*blend_f) (int r, int g, int b, int a);
00161   BITMAP *blend_bm;
00163   int color;
00165   short int r;
00167   short int g;
00169   short int b;
00171   short int a;
00178   short int lit;
00179 };
00180 
00187 void chainblend (BITMAP *bm, struct blend_chain *chain);
00188 
00189 #endif /* _ALHELPER_H */