]> 4ch.mooo.com Git - 16.git/blobdiff - 16/x_/modex.h
wwww
[16.git] / 16 / x_ / modex.h
diff --git a/16/x_/modex.h b/16/x_/modex.h
new file mode 100755 (executable)
index 0000000..2c1f1eb
--- /dev/null
@@ -0,0 +1,153 @@
+/*\r
+    MODEX.H - C/C++ include file for the MODEX library\r
+    Copyright (c) 1994 Alessandro Scotti\r
+*/\r
+\r
+#ifndef _MODEX_H_               // Avoid nested inclusions\r
+#define _MODEX_H_\r
+\r
+//\r
+// Video modes\r
+//\r
+#define MX_TEXT     0           // 80x25 text\r
+#define MX_320x175  1           // 320x175x256\r
+#define MX_320x200  2           // 320x200x256, 4 pages, aspect 6:5\r
+#define MX_320x240  3           // 320x240x256, 3 pages, aspect 1:1\r
+#define MX_320x350  4           // 320x350x256\r
+#define MX_320x400  5           // 320x400x256, 2 pages\r
+#define MX_320x480  6           // 320x480x256, 1 page\r
+#define MX_360x175  7           // 360x175x256\r
+#define MX_360x200  8           // 360x200x256, 3 pages\r
+#define MX_360x240  9           // 360x240x256, 2 pages\r
+#define MX_360x350  10          // 360x350x256\r
+#define MX_360x400  11          // 360x400x256, 1 page\r
+#define MX_360x480  12          // 360x480x256, 1 page\r
+#define MX_400x600  13          // 400x600x256, 1 page\r
+\r
+//\r
+// Fade effects\r
+//\r
+#define MX_FADEIN   0\r
+#define MX_FADEOUT  1\r
+\r
+//\r
+// Raster ops\r
+//\r
+#define OP_SET      0           // No operator\r
+#define OP_AND      1           // And\r
+#define OP_OR       2           // Or\r
+#define OP_XOR      3           // Xor\r
+#define OP_TRANS    4           // Transparent\r
+#define OP_ADD      5           // Additive\r
+#define OP_MOVE     0           // Alias for OP_SET\r
+\r
+//\r
+// Temporary definitions\r
+//\r
+#define MXBYTE      unsigned char\r
+#define MXBOOL      short int\r
+#define MXSINT      short int\r
+#define MXUINT      unsigned short int\r
+#define MXAPI       far pascal\r
+#define MXPTR       void far *\r
+\r
+// Functions\r
+\r
+#ifdef __cplusplus                      // Avoid C++ name mangling\r
+extern "C" {\r
+#endif\r
+\r
+//\r
+// Initialization\r
+//\r
+MXSINT  MXAPI mxInit( void );             // Returns 0 if successful\r
+void    MXAPI mxTerm( void );\r
+MXUINT  MXAPI mxGetVersion( void );\r
+//\r
+// Mode setting\r
+//\r
+void    MXAPI mxChangeMode( MXUINT mode );\r
+void    MXAPI mxSetMode( MXUINT mode );\r
+void    MXAPI mxGetAspect( MXUINT far *aspectx, MXUINT far *aspecty );\r
+void    MXAPI mxGetScreenSize( MXUINT far *width, MXUINT far *height );\r
+//\r
+// Hardware support\r
+//\r
+void    MXAPI mxWriteMode( MXBYTE wm );\r
+void    MXAPI mxSplitScreen( MXUINT line );\r
+void    MXAPI mxStartAddress( MXUINT sa );\r
+void    MXAPI mxStartLine( MXUINT sl );\r
+void    MXAPI mxWaitDisplay( void );\r
+void    MXAPI mxWaitRetrace( void );\r
+void    MXAPI mxWritePlane( MXBYTE wp );\r
+void    MXAPI mxReadPlane( MXBYTE rp );\r
+void    MXAPI mxRowAddress( MXBYTE ra );\r
+//\r
+// Virtual screen\r
+//\r
+void    MXAPI mxGetVirtualScreen( MXUINT far *width, MXUINT far *height );\r
+void    MXAPI mxSetVirtualScreen( MXUINT width, MXUINT height );\r
+void    MXAPI mxPan( MXUINT x, MXUINT y );\r
+//\r
+// Clipping\r
+//\r
+MXBOOL  MXAPI mxGetClip( void );\r
+MXBOOL  MXAPI mxGetClipRegion( MXSINT far *x, MXSINT far *y, MXSINT far *w, MXSINT far *h );\r
+MXBOOL  MXAPI mxSetClip( MXBOOL );\r
+void    MXAPI mxSetClipRegion( MXUINT x, MXUINT y, MXUINT width, MXUINT height );\r
+//\r
+// Graphics\r
+//\r
+void    MXAPI mxBitBlt( MXSINT sx, MXSINT sy, MXUINT width, MXUINT height, MXSINT dx, MXSINT dy );\r
+void    MXAPI mxFillBox( MXSINT x, MXSINT y, MXUINT width, MXUINT height, MXUINT color, MXUINT op );\r
+MXBYTE  MXAPI mxGetPixel( MXSINT x, MXSINT y );\r
+void    MXAPI mxPutPixel( MXSINT x, MXSINT y, MXBYTE color );\r
+void    MXAPI mxLine( MXSINT x1, MXSINT y1, MXSINT x2, MXSINT y2, MXUINT color, MXUINT op );\r
+void    MXAPI mxGetImage( MXPTR img, MXSINT x, MXSINT y, MXUINT width, MXUINT height );\r
+void    MXAPI mxPutImage( MXPTR img, MXSINT x, MXSINT y, MXUINT w, MXUINT h, MXUINT op );\r
+void    MXAPI mxPutTile( MXPTR tile, MXSINT x, MXSINT y, MXUINT width, MXUINT height );\r
+void    MXAPI mxTransPutTile( MXPTR tile, MXSINT x, MXSINT y, MXUINT w, MXUINT h );\r
+void    MXAPI mxCircle( MXSINT x, MXSINT y, MXUINT radius, MXBYTE color );\r
+void    MXAPI mxStretchImage( MXPTR img, MXSINT x, MXSINT y, MXUINT w, MXUINT h, MXUINT neww, MXUINT newh, MXUINT op );\r
+//\r
+// Palette\r
+//\r
+void    MXAPI mxColorToGray( MXPTR source, MXPTR dest, MXUINT count );\r
+void    MXAPI mxGammaCorrect( MXPTR source, MXPTR dest, MXUINT count );\r
+void    MXAPI mxGetColor( MXUINT index, MXSINT far *r, MXSINT far *g, MXSINT far *b );\r
+void    MXAPI mxSetColor( MXUINT index, MXSINT red, MXSINT green, MXSINT blue );\r
+void    MXAPI mxGetPalette( MXPTR palette, MXUINT index, MXUINT count );\r
+void    MXAPI mxSetPalette( MXPTR palette, MXUINT index, MXUINT count );\r
+void    MXAPI mxFadePalette( MXPTR, MXUINT, MXUINT, MXUINT, MXUINT, MXUINT, MXUINT );\r
+void    MXAPI mxRotatePalette( MXPTR palette, MXUINT count, MXSINT step );\r
+//\r
+// Text\r
+//\r
+MXSINT  MXAPI mxSetFont( MXPTR font, MXUINT charwidth, MXUINT charheight );\r
+void    MXAPI mxSetTextColor( MXUINT color, MXUINT op );\r
+void    MXAPI mxGetTextStep( MXSINT far *deltax, MXSINT far *deltay );\r
+void    MXAPI mxSetTextStep( MXSINT deltax, MXSINT deltay );\r
+void    MXAPI mxOutChar( MXSINT x, MXSINT y, char c );\r
+void    MXAPI mxOutText( MXSINT x, MXSINT y, char far *sz );\r
+//\r
+// Convex polygons\r
+//\r
+void    MXAPI mxFillPoly( MXUINT, MXPTR, MXPTR, MXUINT, MXUINT );\r
+void    MXAPI mxGouraudPoly( MXUINT, MXPTR, MXPTR, MXPTR, MXUINT, MXUINT );\r
+void    MXAPI mxTexturePoly( MXUINT, MXPTR, MXPTR, MXPTR, MXPTR, MXUINT, MXUINT );\r
+\r
+#ifdef __cplusplus\r
+}\r
+#endif\r
+\r
+//\r
+// Remove temporary defines\r
+//\r
+#undef  MXBYTE\r
+#undef  MXBOOL\r
+#undef  MXSINT\r
+#undef  MXUINT\r
+#undef  MXPTR\r
+#undef  MXAPI\r
+\r
+#endif  // _MODEX_H_\r