📄 block.c
字号:
/*-----------------------------------------------------------
函数 _Block : 在屏幕上指定位置显示一矩形块。
-----------------------------------------------------------*/
#include <hanenv.h>
void _Cdecl _Block(col,line,width,high,color)
int col; /* 屏幕矩形块左上角列坐标(以字节为单位) */
int line; /* 屏幕矩形块左上角行坐标(以象素为单位) */
int width; /* 屏幕矩形块宽度(以字节为单位) */
int high; /* 屏幕矩形块高度(以象素为单位) */
int color; /* 屏幕矩形块颜色 */
{
register char far *addr;
register i,j;
/*-- 设置显示寄存器操作标志 -----------*/
_VideoBusy = YES;
/*-- 确定块在显示存储器(VRAM)中的地址 -*/
addr = (char far *)0xa0000000+(line+_ScreenTop)*_ScreenWidth+col;
/*-- 设置块颜色 -----------------------*/
outportb(0x3ce,0);
outportb(0x3cf,color);
/*-- 颜色数据由置位/复位寄存器提供 ----*/
outportb(0x3ce,1);
outportb(0x3cf,0x0f);
for(i=0;i<high;i++)
{
for(j=0;j<width;j++)
*(addr+j)&=0xff; /*- 先读后写 -*/
addr+=_ScreenWidth;
}
/*- 恢复置位/复位和允许置位/复位寄存器 */
outportb(0x3ce,1);
outportb(0x3cf,0);
outportb(0x3ce,0);
outportb(0x3cf,0x0f);
_VideoBusy = NO;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -