?? putblock.c
字號:
/*-----------------------------------------------------------
函數 putblock : 恢復屏幕映象塊。
-----------------------------------------------------------*/
#include <hanenv.h>
#include <alloc.h>
void putblock(col,line,width,high,block)
int col; /* 屏幕圖象塊左上角列坐標(以字節為單位) */
int line; /* 屏幕圖象塊左上角行坐標(以象素為單位) */
int width; /* 屏幕圖象塊寬度(以字節為單位) */
int high; /* 屏幕圖象塊高度(以象素為單位) */
char **block; /* 屏幕圖象塊存儲緩沖區 */
{
register unsigned i,j,k;
char *p;
if(block)
{
_VideoBusy = YES;
for(i=1,j=0;i<9;i*=2,j++)
{
p = block[j];
outportb(0x3c4,2); /* 選擇顏色平面允許寫寄存器 */
outportb(0x3c5,i); /* 允許寫第i個平面 */
for(k=0;k<high;k++)
{
movedata(FP_SEG(p),FP_OFF(p),0xa000,(line+k+_ScreenTop)*_ScreenWidth+col,width);
p += width;
}
free(block[j]);
}
outportb(0x3c4,2); /* 恢復允許寫所有位平面 */
outportb(0x3c5,0x0f);
_VideoBusy = NO;
free(block);
}
}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -