Category : C Source Code
Archive   : TTGA10.ZIP
Filename : HICOLOR.H

 
Output of file : HICOLOR.H contained in archive : TTGA10.ZIP
/*
* HiColor.H
*
* Copyright 1990,1991 Synergrafix Consulting
* All Rights Reserved.
*
* November 19,1991
*
*/

#ifndef HC_INCLUDE

#define HC_INCLUDE 1

#include
#include
#include

#define HC_SVGALO 0 /* 640x350 */ /* Not all modes supported on all */
#define HC_SVGAMED 1 /* 640x400 */ /* graphics hardware!!! */
#define HC_SVGAHI 2 /* 640x480 */
#define HC_SVGAHI2 3 /* 800x600 */

#define XOR 0
#define OR 1
#define COPY 2

/* TSENG Modes: 0x2D=640x350; 0x2E=640x480; 0x2F=640x400; 0x30=800x600 */

#define FALSE 0
#define TRUE 1

#define SCREENSEG 0xA000
#define GCSEGSEL 0x3CD

#define DAC_MASK 0x3C6 /* DAC pixel mask reg address, also Sierra
command reg address when enabled */

#define DAC_WADDR 0x3C8 /* DAC write address reg address */

typedef unsigned char BYTE;
typedef unsigned int WORD;
typedef unsigned long DWORD;

#define RGB256INT(r,g,b) (WORD)( ( ((r)>>3)<<10 ) | ( ((g)>>3)<<5 ) | ((b)>>3) )
//#define RGB256INT(r,g,b) (WORD)( _rlu[r] | _glu[g] | _blu[b] )
#define RGBINT(r,g,b) (WORD)( ((r)<<10) | ((g)<<5) | (b) )
#define INTRED(c) ((c)>>10)
#define INTGREEN(c) (((c)<<5)>>10)
#define INTBLUE(c) ((c)&31)
#define INTRED256(c) (INTRED(c)<<3)
#define INTGREEN256(c) (INTGREEN(c)<<3)
#define INTBLUE256(c) (INTBLUE(c)<<3)
#define SWAP(a,b) { a^=b; b^=a; a^=b; }

#define BANK(b) { if (b!=hcoldbank) { \
outp(GCSEGSEL, (b<<4)|b); \
hcoldbank=b; \
} \
}

#define DOBANK BANK(*(((WORD *)&hcbitmap)+1));

extern WORD hcoldbank;
extern DWORD hcbitmap;
//extern WORD _rlu[256],_glu[256],_blu[256];

/* HICOLOR.C 19/12/91 10.11.22 */

int hicolorDAC (void);
int tseng4000 (void);
int hcsetmodetseng (int Mode);
int hcmodesize(int picwidth,int picheight);
void hctextmode (void);
void hcputpoint (WORD x, WORD y, WORD color);
void hcputpointxor (WORD x, WORD y, WORD color);
void hcputpointrgb (WORD x, WORD y, WORD r, WORD g, WORD b);
WORD rgb265int (WORD r, WORD g, WORD b);
WORD rgbint (WORD r, WORD g, WORD b);
void intrgb256 (WORD color, WORD *r, WORD *g, WORD *b);
void intrgb (WORD color, WORD *r, WORD *g, WORD *b);
WORD hcgetpoint (WORD x, WORD y);
void hcgetpointrgb (WORD x, WORD y, WORD *r, WORD *g, WORD *b);
WORD hcgetmaxx (void);
WORD hcgetmaxy (void);
void hchline (WORD x, WORD y, WORD x1, register WORD color);
void hcvline (WORD x, WORD y, WORD y1, register WORD color);
void hchlinexor (WORD x, WORD y, WORD x1, register WORD color);
void hcvlinexor (WORD x, WORD y, WORD y1, register WORD color);
void hcrectangle (WORD x, WORD y, WORD x1, WORD y1, WORD color);
void hcrectanglexor (WORD x, WORD y, WORD x1, WORD y1, WORD color);
void hcline(int a1, int b1, int a2, int b2, WORD lcolor);
void hclinexor(int a1, int b1, int a2, int b2, WORD lcolor);
void hccircle(WORD xc,WORD yc,WORD rad,WORD color);
void hcfillcircle(WORD xc,WORD yc,WORD rad,WORD color);
void hcbar (WORD x, WORD y, WORD x1, WORD y1, register WORD color);
void hcclrscr (WORD color);
void hcputrow (WORD x, WORD y, register WORD w, register WORD *buf);
void hcputrowxor (WORD x, WORD y, register WORD w, register WORD *buf);
void hcputrowor (WORD x, WORD y, register WORD w, register WORD *buf);
void hcgetrow (WORD x, WORD y, register WORD w, register WORD *buf);
DWORD hcgetimagesize (register WORD left, register WORD top, register WORD right,register WORD bottom);
void hcgetimage (WORD left, WORD top, WORD right, WORD bottom, WORD *bitmap);
void hcputimage (WORD left, WORD top, WORD *bitmap, WORD drawtype);
void hcputchr (unsigned char ch, WORD xpos, WORD ypos, WORD fg, WORD background);
void hcputstr (char *str, WORD xpos, WORD ypos, WORD fg, WORD background);
void hcfill(int x,int y,int ncolor);
void hcpfill(int x,int y,int bordcol,WORD *pat,int pw,int ph);
WORD *hcimagetopattern(WORD *bitmap,WORD *w,WORD *h);

/* MOUSE.C */

#define GRCURSORSIZEX 11 /* Max. graphics cursor width in pixels */
#define GRCURSORSIZEY 15 /* Max. cursor height in pixels + 1 */
#define GRCURSORNUM 10 /* Max number of default and definable cursors */

#define ARROWCURSOR 0 /* Graphics cursor types */
#define SMALLARROWCURSOR 1
#define CROSSHAIR 2
#define SMALLCROSSHAIR 3
#define DIAGCROSSHAIR 4

typedef int grcursortype[GRCURSORSIZEX][GRCURSORSIZEY];
typedef char mousestr[80];

/* Mouse driver control */

int initmouse(void); /* Init. mouse driver */
void showmouse(void); /* Show (text) cursor */
void hidemouse(void); /* Unshow (text) cursor */
void getmouse(int *x,int *y,int *buttons);/* Get position */
void putmouse(int x,int y); /* Place mouse */
void getmousebuttonon(int button,int *buttonstate,
int *numpresses,int *x,int *y);/* Get buttons pressed */
void getmousebuttonoff(int button,int *buttonstate,
int *numreleases,int *x,int *y);/* Get buttons released */
void setmouserange(int x,int y,int x1,int y1); /* Set range */
void getmousemotion(int *x,int *y); /* Get movement */
void setmousemove(int x,int y); /* Set sensitivity */

/* Mouse cursor routines for BGI Graphics */

void setgrcursor(int index,grcursortype newgrcursor);/* Set cursor bitmap */
void putgrcursor(int x,int y); /* Place graphics cursor */
void unputgrcursor(void); /* Remove graphics cursor */
int getgrcursorx(void); /* Get current postn */
int getgrcursory(void);
int initgrcursor(int grcursorindex,int color);/* Init. graphics cursor */
void closegrcursor(void);

#endif


  3 Responses to “Category : C Source Code
Archive   : TTGA10.ZIP
Filename : HICOLOR.H

  1. Very nice! Thank you for this wonderful archive. I wonder why I found it only now. Long live the BBS file archives!

  2. This is so awesome! 😀 I’d be cool if you could download an entire archive of this at once, though.

  3. But one thing that puzzles me is the “mtswslnkmcjklsdlsbdmMICROSOFT” string. There is an article about it here. It is definitely worth a read: http://www.os2museum.com/wp/mtswslnk/