分享
 
 
 

EGL--用户手册

王朝other·作者佚名  2006-01-09
窄屏简体版  字體: |||超大  

GEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEG

G G

G EASY GRAPHICS 库函数用户手册 G

G G

GEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEG

基础函数

///////////////////////////////////////////////////////////////////////////////

/////////////////////////////////////KEY.INC

int GetKey()

接受键盘的输入

返回值: 如果为普通ASCII码,直接返回;

如果为扩展的ASCII码,返回扩展码*100+基本码。

int GetStatusKey(int cmd)

判断CTRL,ALT,SHIFT键的触发状态

如果指定的键按下,返回真

指定的键cmd包括:R_SHIFT L_SHIFT CTRL ALT

int Kbhit()

判断是否键盘中有键已经被按下

有键盘缓冲区中有数据,则返回真

直接读取键盘缓冲区,用以取代TC提供的采用BIOS方式缓慢的按键判断kbhit()

void ClearKeyBuffer()

清空键盘缓冲区

采用直接访问键盘缓冲区方式

////////////////////////////////////////////////////////////////////////////////

////////////////////////MOUSE.INC

void pascal set_event_handler(int call_mask,void far( *location)())

设置鼠标器驱动程序的响应函数

call_mask:鼠标器事件请求的掩码,location 响应函数的地址

location用汇编写成,已编译成目标代码

void near event_processor(int event_status,int button_status,int x,int y)

鼠标器事件处理函数

由鼠标器事件响应函数调用,将传递的事件掩码解释为变量形式

int reset_mouse(void)

复位鼠标器驱动程序或检测鼠标器存在否

如鼠标器不存在,返回假

置光标计数器为-1

位置为屏幕中央

鼠标器事件响应函数为空

光标形状为默认形状光标

void mouse_off(void)

关闭光标的显示

void mouse_on(void)

打开光标的显示

void mouse_shape(int shape[32],int hotx,int hoty)

改变光标的形状

光标是一个16*16点阵位图,前16元素为形状码,后16元素为掩码

改变之前必须关闭光标的显示,否则在图形下会破坏背景

shape形状掩码,hotx,hoty光标热点

void set_mouse_position(int x,int y)

移动光标到新位置

int get_double_press(void)

判断鼠标器双击

如果产生双击事件,返回真

注意:

调用***双击的条件***为为左键下,只有已击键了才检查双击

当鼠标左键非双击,则此次是一次单击事件

即:每次调用双击后,必须再调用一次单击,否则有可能丢失键击状态

if( LBUTTON_DOWN ){

if( get_double_press() ) ... 双击如何

else ...单击如何

LBUTTON_DOWN=0

}

void InstallEvent(void)

安装鼠标器事件响应函数

采用消息通知的手段,提供一个非查询访问鼠标器状态的有效方法

void reset_event_status(void)

清空鼠标器状态变量

其中:

MOUSE_MOVED=0; LBUTTON_DOWN=0;

RBUTTON_DOWN=0; LBUTTON_UP=0;

RBUTTON_UP=0; BSTATE=0;

void set_mousex(int minx,int maxx)

设置光标位置X方向的极值

void set_mousey(int miny,int maxy)

设置光标位置Y方向的极值

///////////////////////////////////////////////////////////////////////////////

///////////////XMS.INC

char *xms_2_basemem_buffer

扩充内存与基本内存之间缓冲区的指针

int xms_init()

扩充内存服务程序初始化

检测HIMEM.SYS存在否,并为扩充内存与基本内存缓冲区分配内存

如HIMEM.SYS未加载,或无法分配缓冲区,返回假

int end_xms()

结束扩充内存服务

如程序中采用了扩充内存服务,在程序退出前要结束扩充内存服务程序

int xms_free(int xms_handle)

释放由句柄占用的扩充内存

xms_handle: 扩充内存块句柄

如未成功释放掉扩充内存块,返回假

int xms_movedata( struct xms_move *m )

将数据在扩充内存与基本内存之间传送

失败返回假

xms_move结构体定义如下:

struct xms_move{

long byte_count; /* 每次传送多少个字节 */

unsigned source_handle; /* 源区句柄 */

long source_offset; /* 源区偏移量 */

unsigned destination_handle; /* 目的区句柄 */

long destination_offset; /* 目的区偏移量 */

};

int xms_malloc( unsigned memKB )

分配扩充内存

分配成功返回句柄,分配失败返回假

memKB要求的扩充内存容量,以KB为单位

void xms_interface(union REGS *inregs,union REGS *outregs)

提供扩充内存服务的接口函数

///////////////////////////////////////////////////////////////////////////////

/////////////////////////////////////DELAY.INC

void InitTimer()

初始化整个延时系统

函数修改了时钟中断0x08,因此这个函数只可被调用一次

在程序中尽量不要再修改时钟中断

在程序结束前必须要调用EndTimer,以恢复0x08中断

int CreateTimer(int dida,unsigned int id)

创建一个要求延时请求的例子

如未申请成功,返回假;原因为例子数组已满

dida:滴达数

id:这个例子的ID,ID 为一个正整数,用来识别不同的例子

int CheckTimeOut(unsigned int id)

判断指定id的例子延时到来否

延时到来,返回真

如返回假,说明延时未到,或指定的ID错误

void Delay(int dida)

用来代替delay函数的代码,使不同机型可产生相等时间的延时

dida:指定的延时单位,以滴达为单位

注意:当要求的滴达较小时,可能会产生延时小于要求的情况

这是采用时钟中断延时固有的缺陷,当要求滴达较大时,

这种情况可能忽略

void ReleaseTimer(int id)

释放指定ID的例子

当要求的例子不用时,应释放,以节省资源

void EndTimer()

结束延时服务,恢复系统状态

当完成延时后应调用,否则在程序退出后,系统可能死机

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
推荐阅读
 
 
 
>>返回首頁<<
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有