include/gr.h File Reference

#include "args.h"
#include "cfile.h"
#include "types.h"
#include "fix.h"

Classes

struct  _grs_point
struct  _grs_font
struct  _grs_bitmap
struct  _new_grs_font
struct  _grs_canvas
struct  _grs_screen

Defines

#define TRANSPARENCY_COLOR   255
#define GR_FADE_LEVELS   34
#define GR_ACTUAL_FADE_LEVELS   32
#define FONTSCALE_X(x)   x
#define FONTSCALE_Y(x)   x
#define BM_LINEAR   0
#define BM_FLAG_TRANSPARENT   1
#define BM_FLAG_SUPER_TRANSPARENT   2
#define BM_FLAG_NO_LIGHTING   4
#define BM_FLAG_RLE   8
#define BM_FLAG_PAGED_OUT   16
#define BM_FLAG_INITIALIZED   32
#define SM(w, h)   ((((u_int32_t)w)<<16)+(((u_int32_t)h)&0xFFFF))
#define SM_W(m)   (m>>16)
#define SM_H(m)   (m&0xFFFF)
#define SM_ORIGINAL   0
#define BM_LINEAR   0
#define BM_RGB15   3
#define BM_SVGA15   4
#define GWIDTH   grd_curcanv->cv_bitmap.bm_w
#define GHEIGHT   grd_curcanv->cv_bitmap.bm_h
#define SWIDTH   (grd_curscreen->sc_w)
#define SHEIGHT   (grd_curscreen->sc_h)
#define FT_COLOR   1
#define FT_PROPORTIONAL   2
#define FT_KERNED   4
#define BM_RGB(r, g, b)   ( (((r)&31)<<10) | (((g)&31)<<5) | ((b)&31) )
#define BM_XRGB(r, g, b)   gr_find_closest_color( (r)*2,(g)*2,(b)*2 )
#define GR_GETCOLOR(r, g, b)   gr_find_closest_color( (r)*2,(g)*2,(b)*2 )
#define gr_getcolor(r, g, b)   gr_find_closest_color( (r)*2,(g)*2,(b)*2 )
#define gr_dotestlock()
#define gr_dotestunlock()
#define gr_testlock()
#define gr_testunlock()
#define gr_lock()   {gr_dotestlock();}
#define gr_unlock()   {gr_dotestunlock();}
#define KEYS_GR_TOGGLE_FULLSCREEN   KEY_CTRLED+KEY_SHIFTED+KEY_PADENTER: case KEY_ALTED+KEY_CTRLED+KEY_PADENTER: case KEY_ALTED+KEY_SHIFTED+KEY_PADENTER: case KEY_ALTED+KEY_ENTER

Typedefs

typedef _grs_point grs_point
typedef _grs_font old_grs_font
typedef _grs_bitmap grs_bitmap
typedef _new_grs_font grs_font
typedef _grs_canvas grs_canvas
typedef _grs_screen grs_screen

Functions

int gr_init ()
void gr_set_bitmap_data (grs_bitmap *bm, unsigned char *data)
void gr_enable_default_palette_loading ()
void gr_disable_default_palette_loading ()
void gr_pal_fade_out (unsigned char *pal)
void gr_pal_fade_in (unsigned char *pal)
void gr_pal_clear ()
void gr_pal_setblock (int start, int number, unsigned char *pal)
void gr_pal_getblock (int start, int number, unsigned char *pal)
void gr_close ()
int gr_check_mode (u_int32_t mode)
int gr_set_mode (u_int32_t mode)
grs_canvasgr_create_canvas (int w, int h)
grs_canvasgr_create_sub_canvas (grs_canvas *canv, int x, int y, int w, int h)
void gr_init_canvas (grs_canvas *canv, unsigned char *pixdata, int pixtype, int w, int h)
void gr_init_sub_canvas (grs_canvas *New, grs_canvas *src, int x, int y, int w, int h)
void gr_free_canvas (grs_canvas *canv)
void gr_free_sub_canvas (grs_canvas *canv)
void gr_clear_canvas (int color)
void gr_init_bitmap (grs_bitmap *bm, int mode, int x, int y, int w, int h, int bytesperline, unsigned char *data)
void gr_init_sub_bitmap (grs_bitmap *bm, grs_bitmap *bmParent, int x, int y, int w, int h)
void gr_init_bitmap_alloc (grs_bitmap *bm, int mode, int x, int y, int w, int h, int bytesperline)
grs_bitmapgr_create_bitmap (int w, int h)
grs_bitmapgr_create_bitmap_raw (int w, int h, unsigned char *raw_data)
grs_bitmapgr_create_sub_bitmap (grs_bitmap *bm, int x, int y, int w, int h)
void gr_free_bitmap (grs_bitmap *bm)
void gr_free_bitmap_data (grs_bitmap *bm)
void gr_init_bitmap_data (grs_bitmap *bm)
void gr_free_sub_bitmap (grs_bitmap *bm)
void gr_bm_pixel (grs_bitmap *bm, int x, int y, unsigned char color)
void gr_bm_upixel (grs_bitmap *bm, int x, int y, unsigned char color)
void gr_bm_ubitblt (int w, int h, int dx, int dy, int sx, int sy, grs_bitmap *src, grs_bitmap *dest)
void gr_bm_ubitbltm (int w, int h, int dx, int dy, int sx, int sy, grs_bitmap *src, grs_bitmap *dest)
void gr_bitblt_cockpit (grs_bitmap *bm)
void gr_update_buffer (void *sbuf1, void *sbuf2, void *dbuf, int size)
void gr_set_bitmap_flags (grs_bitmap *pbm, int flags)
void gr_set_transparent (grs_bitmap *pbm, int bTransparent)
void gr_set_super_transparent (grs_bitmap *pbm, int bTransparent)
void gr_use_palette_table (char *filename)
void gr_set_drawmode (int mode)
void gr_setcolor (int color)
void gr_poly (int nverts, int *verts)
void gr_upoly (int nverts, int *verts)
void gr_pixel (int x, int y)
void gr_upixel (int x, int y)
unsigned char gr_gpixel (grs_bitmap *bitmap, int x, int y)
unsigned char gr_ugpixel (grs_bitmap *bitmap, int x, int y)
int gr_line (fix x0, fix y0, fix x1, fix y1)
int gr_uline (fix x0, fix y0, fix x1, fix y1)
int gr_aaline (fix x0, fix y0, fix x1, fix y1)
int gr_uaaline (fix x0, fix y0, fix x1, fix y1)
void gr_bitmap (int x, int y, grs_bitmap *bm)
void gr_ubitmap (int x, int y, grs_bitmap *bm)
void scale_line (byte *in, byte *out, int ilen, int olen)
void gr_bitmap_scale_to (grs_bitmap *src, grs_bitmap *dst)
void show_fullscr (grs_bitmap *bm)
void gr_bitmapm (int x, int y, grs_bitmap *bm)
void gr_ubitmapm (int x, int y, grs_bitmap *bm)
void gr_rect (int left, int top, int right, int bot)
void gr_urect (int left, int top, int right, int bot)
int gr_disk (fix x, fix y, fix r)
int gr_udisk (fix x, fix y, fix r)
int gr_circle (fix x, fix y, fix r)
int gr_ucircle (fix x, fix y, fix r)
void gr_box (int left, int top, int right, int bot)
void gr_ubox (int left, int top, int right, int bot)
void gr_scanline (int x1, int x2, int y)
void gr_uscanline (int x1, int x2, int y)
grs_fontgr_init_font (char *fontfile)
void gr_close_font (grs_font *font)
void gr_set_fontcolor (int fg, int bg)
void gr_set_curfont (grs_font *New)
int gr_string (int x, int y, char *s)
int gr_ustring (int x, int y, char *s)
int gr_printf (int x, int y, char *format,...)
int gr_uprintf (int x, int y, char *format,...)
void gr_get_string_size (char *s, int *string_width, int *string_height, int *average_width)
void rotate_bitmap (grs_bitmap *bp, grs_point *vertbuf, int light_value)
void scale_bitmap (grs_bitmap *bp, grs_point *vertbuf)
unsigned int FixDivide (unsigned int x, unsigned int y)
void gr_show_canvas (grs_canvas *canv)
void gr_set_current_canvas (grs_canvas *canv)
void gr_snow_out (int num_dots)
void test_rotate_bitmap (void)
void gr_remap_bitmap (grs_bitmap *bmp, ubyte *palette, int transparent_color, int super_transparent_color)
void gr_remap_bitmap_good (grs_bitmap *bmp, ubyte *palette, int transparent_color, int super_transparent_color)
void gr_palette_step_up (int r, int g, int b)
void gr_bitmap_check_transparency (grs_bitmap *bmp)
int gr_find_closest_color (int r, int g, int b)
void gr_merge_textures (ubyte *lower, ubyte *upper, ubyte *dest)
void gr_merge_textures_1 (ubyte *lower, ubyte *upper, ubyte *dest)
void gr_merge_textures_2 (ubyte *lower, ubyte *upper, ubyte *dest)
void gr_merge_textures_3 (ubyte *lower, ubyte *upper, ubyte *dest)
void gr_sync_display ()
void build_colormap_good (ubyte *palette, ubyte *colormap, int *freq)
void gr_update ()
int gr_toggle_fullscreen_menu (void)
 _GR_H

Variables

int Gr_scanline_darkening_level
int fixedfont
int hiresfont
grs_canvasgrd_curcanv
grs_screengrd_curscreen
unsigned char Test_bitmap_data [64 *64]
ubyte gr_palette [256 *3]
ubyte gr_fade_table [256 *GR_FADE_LEVELS]
ubyte gr_inverse_table [32 *32 *32]
ushort gr_palette_selector
ushort gr_inverse_table_selector
ushort gr_fade_table_selector

Define Documentation

#define BM_FLAG_INITIALIZED   32
 

#define BM_FLAG_NO_LIGHTING   4
 

#define BM_FLAG_PAGED_OUT   16
 

#define BM_FLAG_RLE   8
 

#define BM_FLAG_SUPER_TRANSPARENT   2
 

#define BM_FLAG_TRANSPARENT   1
 

#define BM_LINEAR   0
 

#define BM_LINEAR   0
 

#define BM_RGB r,
g,
 )     ( (((r)&31)<<10) | (((g)&31)<<5) | ((b)&31) )
 

#define BM_RGB15   3
 

#define BM_SVGA15   4
 

#define BM_XRGB r,
g,
 )     gr_find_closest_color( (r)*2,(g)*2,(b)*2 )
 

#define FONTSCALE_X  )     x
 

#define FONTSCALE_Y  )     x
 

#define FT_COLOR   1
 

#define FT_KERNED   4
 

#define FT_PROPORTIONAL   2
 

#define GHEIGHT   grd_curcanv->cv_bitmap.bm_h
 

#define GR_ACTUAL_FADE_LEVELS   32
 

 
#define gr_dotestlock  ) 
 

 
#define gr_dotestunlock  ) 
 

#define GR_FADE_LEVELS   34
 

#define gr_getcolor r,
g,
 )     gr_find_closest_color( (r)*2,(g)*2,(b)*2 )
 

#define GR_GETCOLOR r,
g,
 )     gr_find_closest_color( (r)*2,(g)*2,(b)*2 )
 

 
#define gr_lock  )     {gr_dotestlock();}
 

 
#define gr_testlock  ) 
 

 
#define gr_testunlock  ) 
 

 
#define gr_unlock  )     {gr_dotestunlock();}
 

#define GWIDTH   grd_curcanv->cv_bitmap.bm_w
 

#define KEYS_GR_TOGGLE_FULLSCREEN   KEY_CTRLED+KEY_SHIFTED+KEY_PADENTER: case KEY_ALTED+KEY_CTRLED+KEY_PADENTER: case KEY_ALTED+KEY_SHIFTED+KEY_PADENTER: case KEY_ALTED+KEY_ENTER
 

#define SHEIGHT   (grd_curscreen->sc_h)
 

#define SM w,
 )     ((((u_int32_t)w)<<16)+(((u_int32_t)h)&0xFFFF))
 

#define SM_H  )     (m&0xFFFF)
 

#define SM_ORIGINAL   0
 

#define SM_W  )     (m>>16)
 

#define SWIDTH   (grd_curscreen->sc_w)
 

#define TRANSPARENCY_COLOR   255
 


Typedef Documentation

typedef struct _grs_bitmap grs_bitmap
 

typedef struct _grs_canvas grs_canvas
 

typedef struct _new_grs_font grs_font
 

typedef struct _grs_point grs_point
 

typedef struct _grs_screen grs_screen
 

typedef struct _grs_font old_grs_font
 


Function Documentation

void build_colormap_good ubyte palette,
ubyte colormap,
int *  freq
 

unsigned int FixDivide unsigned int  x,
unsigned int  y
 

int gr_aaline fix  x0,
fix  y0,
fix  x1,
fix  y1
 

void gr_bitblt_cockpit grs_bitmap bm  ) 
 

void gr_bitmap int  x,
int  y,
grs_bitmap bm
 

void gr_bitmap_check_transparency grs_bitmap bmp  ) 
 

void gr_bitmap_scale_to grs_bitmap src,
grs_bitmap dst
 

void gr_bitmapm int  x,
int  y,
grs_bitmap bm
 

void gr_bm_pixel grs_bitmap bm,
int  x,
int  y,
unsigned char  color
 

void gr_bm_ubitblt int  w,
int  h,
int  dx,
int  dy,
int  sx,
int  sy,
grs_bitmap src,
grs_bitmap dest
 

void gr_bm_ubitbltm int  w,
int  h,
int  dx,
int  dy,
int  sx,
int  sy,
grs_bitmap src,
grs_bitmap dest
 

void gr_bm_upixel grs_bitmap bm,
int  x,
int  y,
unsigned char  color
[inline]
 

void gr_box int  left,
int  top,
int  right,
int  bot
 

int gr_check_mode u_int32_t  mode  ) 
 

int gr_circle fix  x,
fix  y,
fix  r
 

void gr_clear_canvas int  color  ) 
 

void gr_close  ) 
 

void gr_close_font grs_font font  ) 
 

grs_bitmap* gr_create_bitmap int  w,
int  h
 

grs_bitmap* gr_create_bitmap_raw int  w,
int  h,
unsigned char *  raw_data
 

grs_canvas* gr_create_canvas int  w,
int  h
 

grs_bitmap* gr_create_sub_bitmap grs_bitmap bm,
int  x,
int  y,
int  w,
int  h
 

grs_canvas* gr_create_sub_canvas grs_canvas canv,
int  x,
int  y,
int  w,
int  h
 

void gr_disable_default_palette_loading  ) 
 

int gr_disk fix  x,
fix  y,
fix  r
 

void gr_enable_default_palette_loading  ) 
 

int gr_find_closest_color int  r,
int  g,
int  b
 

void gr_free_bitmap grs_bitmap bm  ) 
 

void gr_free_bitmap_data grs_bitmap bm  ) 
 

void gr_free_canvas grs_canvas canv  ) 
 

void gr_free_sub_bitmap grs_bitmap bm  ) 
 

void gr_free_sub_canvas grs_canvas canv  ) 
 

void gr_get_string_size char *  s,
int *  string_width,
int *  string_height,
int *  average_width
 

unsigned char gr_gpixel grs_bitmap bitmap,
int  x,
int  y
 

int gr_init  ) 
 

void gr_init_bitmap grs_bitmap bm,
int  mode,
int  x,
int  y,
int  w,
int  h,
int  bytesperline,
unsigned char *  data
 

void gr_init_bitmap_alloc grs_bitmap bm,
int  mode,
int  x,
int  y,
int  w,
int  h,
int  bytesperline