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

📄 cfb_console.c

📁 S3C2440+SM501在wince环境下的应用!
💻 C
字号:
#include <string.h>#include "video_fb.h"#include "sm501.h"static GraphicDevice *pGD;	/* Pointer to Graphic array */static void *video_fb_address;          /* frame buffer address */static void *video_console_address;     /* console buffer start address */static int console_col = 0;		/* cursor col */static int console_row = 0;		/* cursor row */static unsigned long eorx, fgx, bgx;  /* color pats */#define VIDEO_VISIBLE_COLS      (pGD->winSizeX)#define VIDEO_VISIBLE_ROWS      (pGD->winSizeY)#define VIDEO_PIXEL_SIZE        (pGD->gdfBytesPP)#define VIDEO_DATA_FORMAT       (pGD->gdfIndex)#define VIDEO_FB_ADRS           (pGD->frameAdrs)static void video_clear (void){	int	size = pGD->winSizeX * pGD->winSizeY * pGD->gdfBytesPP;			memset ((void *)pGD->frameAdrs, 0x0, size);}int video_init(void){	unsigned long color8;		    if ((pGD=video_hw_init()) == NULL)		return -1;    video_fb_address = (void*)VIDEO_FB_ADRS;    /* Init drawing pats */		// 初始化画图时序    switch (VIDEO_DATA_FORMAT)    {	    case GDF__8BIT_INDEX:			video_set_lut (0x01, CONSOLE_FG_COL, CONSOLE_FG_COL, CONSOLE_FG_COL);			video_set_lut (0x00, CONSOLE_BG_COL, CONSOLE_BG_COL, CONSOLE_BG_COL);			fgx = 0x01010101;			bgx = 0x00000000;			break;		case GDF__8BIT_332RGB:			color8 = ((CONSOLE_FG_COL & 0xe0) | ((CONSOLE_FG_COL>>3) & 0x1c) | CONSOLE_FG_COL>>6);			fgx = (color8<<24) | (color8<<16) | (color8<<8) | color8;			color8 = ((CONSOLE_BG_COL & 0xe0) | ((CONSOLE_BG_COL>>3) & 0x1c) | CONSOLE_BG_COL>>6);			bgx = (color8<<24) | (color8<<16) | (color8<<8) | color8;			break;		case GDF_15BIT_555RGB:			fgx = (((CONSOLE_FG_COL>>3)<<26) | ((CONSOLE_FG_COL>>3)<<21) | ((CONSOLE_FG_COL>>3)<<16) |				   ((CONSOLE_FG_COL>>3)<<10) | ((CONSOLE_FG_COL>>3)<<5)  |  (CONSOLE_FG_COL>>3));			bgx = (((CONSOLE_BG_COL>>3)<<26) | ((CONSOLE_BG_COL>>3)<<21) | ((CONSOLE_BG_COL>>3)<<16) |				   ((CONSOLE_BG_COL>>3)<<10) | ((CONSOLE_BG_COL>>3)<<5)  |  (CONSOLE_BG_COL>>3));			break;    	case GDF_16BIT_565RGB:			fgx = (((CONSOLE_FG_COL>>3)<<27) | ((CONSOLE_FG_COL>>2)<<21) | ((CONSOLE_FG_COL>>3)<<16) |				   ((CONSOLE_FG_COL>>3)<<11) | ((CONSOLE_FG_COL>>2)<<5)  |  (CONSOLE_FG_COL>>3));			bgx = (((CONSOLE_BG_COL>>3)<<27) | ((CONSOLE_BG_COL>>2)<<21) | ((CONSOLE_BG_COL>>3)<<16) |				   ((CONSOLE_BG_COL>>3)<<11) | ((CONSOLE_BG_COL>>2)<<5)  |  (CONSOLE_BG_COL>>3));			break;		case GDF_32BIT_X888RGB:			fgx = (CONSOLE_FG_COL<<16) | (CONSOLE_FG_COL<<8) | CONSOLE_FG_COL;			bgx = (CONSOLE_BG_COL<<16) | (CONSOLE_BG_COL<<8) | CONSOLE_BG_COL;			break;		case GDF_24BIT_888RGB:			fgx = (CONSOLE_FG_COL<<24) | (CONSOLE_FG_COL<<16) | (CONSOLE_FG_COL<<8) | CONSOLE_FG_COL;			bgx = (CONSOLE_BG_COL<<24) | (CONSOLE_BG_COL<<16) | (CONSOLE_BG_COL<<8) | CONSOLE_BG_COL;			break;	}//switch	fgx = 0xffffffff;    eorx = fgx ^ bgx;	video_clear ();		// 清屏    video_console_address = video_fb_address;    /* Initialize the console */	// 初始化控制台    console_col  = 0;    console_row  = 0;    return 0 ;}//video_init()

⌨️ 快捷键说明

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