dv_resto.c

来自「一个c语言写做的编译器的源码」· C语言 代码 · 共 27 行

C
27
字号
/*@A (C) 1992 Allen I. Holub                                                */
#include <stdio.h>
#include <tools/termlib.h>
#include "video.h"

SBUF	*dv_restore( sbuf )
SBUF	*sbuf;
{
    /* Restore a region saved with a previous dv_save() call. The cursor is
     * not modified. Note that the memory used by sbuf is not freed, you must
     * do that yourself with a dv_freesbuf(sbuf) call.
     */

    int	    ysize, xsize, x, y ;
    IMAGEP  p;

    xsize = ( sbuf->right  - sbuf->left ) + 1 ;
    ysize = ( sbuf->bottom - sbuf->top  ) + 1 ;
    p     = sbuf->image;

    for( y = 0; y < ysize ; ++y )
	for( x = 0; x < xsize ; ++x )
    	    VSCREEN[ y + sbuf->top ][ x + sbuf->left ] = *p++;

    return sbuf;
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?