?? lsys.h
字號:
/*****************************************************************************
*
* LinSys v1.1 for Watcom C++ 10.0
* By Lin Wei inc 2000,
*
* Header file for the LinSys library.
* This should be included by everyone and everything.
*
* See readme.txt for copyright information.
*/
#ifndef LinSys_H
#define LinSys_H
#define LinSys_Ver 0x110
#pragma off(check_stack)
#define TRUE 1
#define FALSE 0
#ifndef MIN
#define MIN(x,y) (((x) < (y)) ? (x) : (y))
#define MAX(x,y) (((x) > (y)) ? (x) : (y))
#define MID(x,y,z) MAX((x), MIN((y), (z)))
#endif
typedef unsigned char uchar;
typedef unsigned short ushort;
//////////////////////// Base Functions //////////////////////////////////
#define SVGA_MAX_MODE 32
#define SVGA_TYPE_TEXT 0
#define SVGA_TYPE_256 1
#define SVGA_TYPE_X 2
#define SVGA_TYPE_15B 3
#define SVGA_TYPE_16B 4
#define SVGA_TYPE_24B 5
#define SVGA_TYPE_32B 6
#define SVGA_TEXT 0x00
#define SVGA_320X200 0x01
#define SVGA_640X480 0x02
#define SVGA_800X600 0x03
#define SVGA_VESA640X480 0x04
#define SVGA_VESA800X600 0x05
#define SVGA_VESA320X200 0x06
#define SVGA_VESA320X240 0x07
#define SVGA_VESA512X384 0x08
#define SVGA_MODEX320X240 0x09
#define SVGA_MODEX400X300 0x0a
extern char *VideoBuf, // Video Mem addr in graph mode
*VideoTextBuf, // Video Mem addr in text mode
*DrawBuf; // Doble Graph Mem addr
struct TGModeTable
{ short VGAMODE, GMTYPE, LEN, WID;
}; // TGModeTable
extern struct TGModeTable GModeTable[SVGA_MAX_MODE],
GModeData;
//////////////////////// Surface Access ////////////////////////////////
struct LSURFACE // To descripe a surface
{ int len; // len of the bitmap
int wid; // wid of the bitmap
int mode; // bitmap mode 0 NULL, 1 SCREEN, 2 MEMORY
int *index; // the offset of the first pixel in each line
char *memory; // data point to the bitmap
}; // LSURFACE
extern char lsys_message[];
extern int LineBase[2000], *DrawLb;
extern short DrawLen, DrawWid;
/////////// SYSTEM TIMER PROCESS //////////////
// These are new functions copy from allegro 3.0
void lt_install_timer();
void lt_remove_timer();
long lt_clock(char swit); // 0: 1.19MHz 1: 200Hz
char lt_install_int_ex(void (*proc)(),long speed);
char lt_install_int(void (*proc)(),long speed);
void lt_remove_int(void (*proc)());
///////////////////////////////////////
short lEnterGraph(short mode);
short lInitGraph (short mode_index);
void lCloseGraph();
void lpixel(short x, short y, uchar color);
void lFillLine(short x,short y,short len,uchar color);
void lScanLine(short x,short y,short len,char *p);
void lScanLine2(short x,short y,short len,char *p);
void lGetLine(short x,short y,short len,char *p);
////////////// Surface Access ///////////////////
#define LSM_SCREEN 1
#define LSM_MEMORY 2
#define LSM_SHADOW 3
short lCreateSurface(short len,short wid,LSURFACE *SFACE,char *shadow,int mode);
void lDeleteSurface(LSURFACE *SFACE);
char lBlitFast(LSURFACE *TSFACE,short tx,short ty,short sx1,short sy1,
short sx2,short sy2,LSURFACE *SSFACE,short blit_mode);
char lOutToScr(LSURFACE *SFACE,short tx,short ty,short sx1,short sy1,
short sx2,short sy2);
void lActiveSurface(LSURFACE *SFACE);
void lClearSurface(LSURFACE *SFACE,char color);
//////////////// Dmac Access ////////////////////
char *lsys_dos_alloc(int size,short *selector);
void lsys_dos_free(short selector);
void lsys_mem_lock(void *mem,ushort size);
void lsys_mem_unlock(void *mem,ushort size);
char lsys_dma_alloc(int size,long *phy,short *selector);
char lsys_dma_free(int size,long phy,short selector);
void lsys_dma_start(char channel,unsigned long addr,short size,char auto_init,char input);
void lsys_dma_stop(char channel);
long lsys_dma_todo(char channel);
#endif
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -