2 MODEX.H - C/C++ include file for the MODEX library
\r
3 Copyright (c) 1994 Alessandro Scotti
\r
6 #ifndef _MODEX_H_ // Avoid nested inclusions
\r
12 #define MX_TEXT 0 // 80x25 text
\r
13 #define MX_320x175 1 // 320x175x256
\r
14 #define MX_320x200 2 // 320x200x256, 4 pages, aspect 6:5
\r
15 #define MX_320x240 3 // 320x240x256, 3 pages, aspect 1:1
\r
16 #define MX_320x350 4 // 320x350x256
\r
17 #define MX_320x400 5 // 320x400x256, 2 pages
\r
18 #define MX_320x480 6 // 320x480x256, 1 page
\r
19 #define MX_360x175 7 // 360x175x256
\r
20 #define MX_360x200 8 // 360x200x256, 3 pages
\r
21 #define MX_360x240 9 // 360x240x256, 2 pages
\r
22 #define MX_360x350 10 // 360x350x256
\r
23 #define MX_360x400 11 // 360x400x256, 1 page
\r
24 #define MX_360x480 12 // 360x480x256, 1 page
\r
25 #define MX_400x600 13 // 400x600x256, 1 page
\r
31 #define MX_FADEOUT 1
\r
36 #define OP_SET 0 // No operator
\r
37 #define OP_AND 1 // And
\r
38 #define OP_OR 2 // Or
\r
39 #define OP_XOR 3 // Xor
\r
40 #define OP_TRANS 4 // Transparent
\r
41 #define OP_ADD 5 // Additive
\r
42 #define OP_MOVE 0 // Alias for OP_SET
\r
45 // Temporary definitions
\r
47 #define MXBYTE unsigned char
\r
48 #define MXBOOL short int
\r
49 #define MXSINT short int
\r
50 #define MXUINT unsigned short int
\r
51 #define MXAPI far pascal
\r
52 #define MXPTR void far *
\r
56 #ifdef __cplusplus // Avoid C++ name mangling
\r
63 MXSINT MXAPI mxInit( void ); // Returns 0 if successful
\r
64 void MXAPI mxTerm( void );
\r
65 MXUINT MXAPI mxGetVersion( void );
\r
69 void MXAPI mxChangeMode( MXUINT mode );
\r
70 void MXAPI mxSetMode( MXUINT mode );
\r
71 void MXAPI mxGetAspect( MXUINT far *aspectx, MXUINT far *aspecty );
\r
72 void MXAPI mxGetScreenSize( MXUINT far *width, MXUINT far *height );
\r
76 void MXAPI mxWriteMode( MXBYTE wm );
\r
77 void MXAPI mxSplitScreen( MXUINT line );
\r
78 void MXAPI mxStartAddress( MXUINT sa );
\r
79 void MXAPI mxStartLine( MXUINT sl );
\r
80 void MXAPI mxWaitDisplay( void );
\r
81 void MXAPI mxWaitRetrace( void );
\r
82 void MXAPI mxWritePlane( MXBYTE wp );
\r
83 void MXAPI mxReadPlane( MXBYTE rp );
\r
84 void MXAPI mxRowAddress( MXBYTE ra );
\r
88 void MXAPI mxGetVirtualScreen( MXUINT far *width, MXUINT far *height );
\r
89 void MXAPI mxSetVirtualScreen( MXUINT width, MXUINT height );
\r
90 void MXAPI mxPan( MXUINT x, MXUINT y );
\r
94 MXBOOL MXAPI mxGetClip( void );
\r
95 MXBOOL MXAPI mxGetClipRegion( MXSINT far *x, MXSINT far *y, MXSINT far *w, MXSINT far *h );
\r
96 MXBOOL MXAPI mxSetClip( MXBOOL );
\r
97 void MXAPI mxSetClipRegion( MXUINT x, MXUINT y, MXUINT width, MXUINT height );
\r
101 void MXAPI mxBitBlt( MXSINT sx, MXSINT sy, MXUINT width, MXUINT height, MXSINT dx, MXSINT dy );
\r
102 void MXAPI mxFillBox( MXSINT x, MXSINT y, MXUINT width, MXUINT height, MXUINT color, MXUINT op );
\r
103 MXBYTE MXAPI mxGetPixel( MXSINT x, MXSINT y );
\r
104 void MXAPI mxPutPixel( MXSINT x, MXSINT y, MXBYTE color );
\r
105 void MXAPI mxLine( MXSINT x1, MXSINT y1, MXSINT x2, MXSINT y2, MXUINT color, MXUINT op );
\r
106 void MXAPI mxGetImage( MXPTR img, MXSINT x, MXSINT y, MXUINT width, MXUINT height );
\r
107 void MXAPI mxPutImage( MXPTR img, MXSINT x, MXSINT y, MXUINT w, MXUINT h, MXUINT op );
\r
108 void MXAPI mxPutTile( MXPTR tile, MXSINT x, MXSINT y, MXUINT width, MXUINT height );
\r
109 void MXAPI mxTransPutTile( MXPTR tile, MXSINT x, MXSINT y, MXUINT w, MXUINT h );
\r
110 void MXAPI mxCircle( MXSINT x, MXSINT y, MXUINT radius, MXBYTE color );
\r
111 void MXAPI mxStretchImage( MXPTR img, MXSINT x, MXSINT y, MXUINT w, MXUINT h, MXUINT neww, MXUINT newh, MXUINT op );
\r
115 void MXAPI mxColorToGray( MXPTR source, MXPTR dest, MXUINT count );
\r
116 void MXAPI mxGammaCorrect( MXPTR source, MXPTR dest, MXUINT count );
\r
117 void MXAPI mxGetColor( MXUINT index, MXSINT far *r, MXSINT far *g, MXSINT far *b );
\r
118 void MXAPI mxSetColor( MXUINT index, MXSINT red, MXSINT green, MXSINT blue );
\r
119 void MXAPI mxGetPalette( MXPTR palette, MXUINT index, MXUINT count );
\r
120 void MXAPI mxSetPalette( MXPTR palette, MXUINT index, MXUINT count );
\r
121 void MXAPI mxFadePalette( MXPTR, MXUINT, MXUINT, MXUINT, MXUINT, MXUINT, MXUINT );
\r
122 void MXAPI mxRotatePalette( MXPTR palette, MXUINT count, MXSINT step );
\r
126 MXSINT MXAPI mxSetFont( MXPTR font, MXUINT charwidth, MXUINT charheight );
\r
127 void MXAPI mxSetTextColor( MXUINT color, MXUINT op );
\r
128 void MXAPI mxGetTextStep( MXSINT far *deltax, MXSINT far *deltay );
\r
129 void MXAPI mxSetTextStep( MXSINT deltax, MXSINT deltay );
\r
130 void MXAPI mxOutChar( MXSINT x, MXSINT y, char c );
\r
131 void MXAPI mxOutText( MXSINT x, MXSINT y, char far *sz );
\r
135 void MXAPI mxFillPoly( MXUINT, MXPTR, MXPTR, MXUINT, MXUINT );
\r
136 void MXAPI mxGouraudPoly( MXUINT, MXPTR, MXPTR, MXPTR, MXUINT, MXUINT );
\r
137 void MXAPI mxTexturePoly( MXUINT, MXPTR, MXPTR, MXPTR, MXPTR, MXUINT, MXUINT );
\r
144 // Remove temporary defines
\r
153 #endif // _MODEX_H_
\r