⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 vgaclear.c

📁 linux 下svgalib编的一个界面程序示例
💻 C
字号:
/* VGAlib version 1.2 - (c) 1993 Tommy Frandsen                    *//*                                                                 *//* This library is free software; you can redistribute it and/or   *//* modify it without any restrictions. This library is distributed *//* in the hope that it will be useful, but without any warranty.   *//* Multi-chipset support Copyright 1993 Harm Hanemaayer *//* partially copyrighted (C) 1993 by Hartmut Schirmer */#include <stdio.h>#include <string.h>#include "vga.h"#include "libvga.h"#include "vgabg.h"int vga_clear(void){    vga_screenoff();#ifdef BACKGROUND    __svgalib_dont_switch_vt_yet();#endif    if (MODEX)	goto modeX;    switch (CM) {    case G320x200x256:    case G320x240x256:    case G320x400x256:    case G360x480x256:      modeX:#ifdef BACKGROUND        if (vga_oktowrite())	    {#endif        	/* write to all planes */	port_out(0x02, SEQ_I);	port_out(0x0F, SEQ_D);	/* clear video memory */	memset(GM, 0, 65536);#ifdef BACKGROUND	    }	  else	    {	     int i;	     	     for (i = 0; i < 4; i++) {	        /* save plane i */	        __svgalib_fast_setpage(i);	        memset(GM, 0, GRAPH_SIZE);               }	    }#endif	break;    default:	switch (CI.colors) {	case 2:	case 16:	    vga_setcolor(0);#ifdef BACKGROUND        if (vga_oktowrite())	    {#endif	    /* write to all bits */	    port_out(0x08, GRA_I);	    port_out(0xFF, GRA_D);#ifdef BACKGROUND	    }#endif	default:	    {		int i;		int pages = (CI.ydim * CI.xbytes + 65535) >> 16;#if defined(CONFIG_ALPHA_JENSEN)		int j;#endif#ifdef BACKGROUND                if (!vga_oktowrite())	              {		       switch (CI.colors) {	                case 2:	                case 16:			pages*=4;                       }		      }#endif		for (i = 0; i < pages; ++i) {		    vga_setpage(i);#if defined(CONFIG_ALPHA_JENSEN)		    for (j = 0; j < 65536; j += 2)			gr_writew(0, j);#else		    /* clear video memory */		    memset(GM, 0, 65536);#endif		}	    }	    break;	}	break;    }    vga_setcolor(15);#ifdef BACKGROUND    __svgalib_is_vt_switching_needed();#endif    vga_screenon();    return 0;}

⌨️ 快捷键说明

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