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

📄 graf0.c

📁 nucleus 文件系统,内核和彩色图形系统,在小系统上非常好用
💻 C
📖 第 1 页 / 共 2 页
字号:
/*************************************************************************/
/*                                                                       */
/*         Copyright (c) 1997 - 1999 Accelerated Technology, Inc.        */
/*                                                                       */
/* PROPRIETARY RIGHTS of Accelerated Technology are involved in the      */
/* subject matter of this material.  All manufacturing, reproduction,    */
/* use, and sales rights pertaining to this subject matter are governed  */
/* by the license agreement.  The recipient of this software implicitly  */
/* accepts the terms of the license.                                     */
/*                                                                       */
/*************************************************************************/

/*************************************************************************/
/*                                                                       */
/* FILE NAME                                            VERSION          */
/*                                                                       */
/*      GRAF0.c                                          1.9             */
/*                                                                       */
/* COMPONENT                                                             */
/*                                                                       */
/*      All                                                              */
/*                                                                       */
/* DESCRIPTION                                                           */
/*                                                                       */
/*      This file contains generates grafdata code all others reference	 */
/*		it by offset.													 */
/*                                                                       */
/* AUTHOR                                                                */
/*                                                                       */
/*      Robert G. Burrill, Accelerated Technology, Inc.                  */
/*                                                                       */
/* DATA STRUCTURES                                                       */
/*                                                                       */
/*      None                                                             */
/*                                                                       */
/* FUNCTIONS                                                             */
/*                                                                       */
/*      None                                                             */
/*                                                                       */
/* DEPENDENCIES                                                          */
/*                                                                       */
/*      None                                                             */
/*                                                                       */
/* HISTORY                                                               */
/*                                                                       */
/*         NAME            DATE                    REMARKS               */
/*                                                                       */
/*                                                                       */
/*************************************************************************/

#include "meta_wnd.h"

short mwGrafLink;	/* referenced to force this module to link */
#if	SIZEOFF == 4
	byte mwGrafLinkTemp[2];
#endif
#include "metconst.h"    /* MetaWINDOW Constant & Stucture Definitions */
#include "metports.h"    /* MetaWINDOW Port & Bitmap Definitions */
#include "metfonts.h"

#include "grafdata.h"

/* ======================= imbeded system font ========================
 NOTE: This MUST be the last item in graf0. */
#include "system08.h"

void NU_InitGrafVars()
{
	/*  Initializing certain variables  */

	register int i, j;
	pattern *FillPtr;
	IMAGSTRUCT CursorHdr;

	void curs_ega(void);
	void InitDevcTbls(void);

	/* Dash list data */
	const byte dashList1Init[8] = {82,21, 0, 0, 0, 0, 0, 0};
	const byte dashList2Init[8] = {48,21, 0, 0, 0, 0, 0, 0};
	const byte dashList3Init[8] = {14,14, 0, 0, 0, 0, 0, 0};
	const byte dashList4Init[8] = { 7, 7, 0, 0, 0, 0, 0, 0};
	const byte dashList5Init[8] = {48,14,14,14,14,14, 0, 0};
	const byte dashList6Init[8] = {48,14, 7,14, 7,14,48,14};
	const byte dashList7Init[8] = {48,14, 7,14, 7,14, 0, 0};

	/* Default cursor data */
/* Arrow Cursor */
	const byte CursorMask0Data[32] = {
	0xC0, 0x00, 0xE0, 0x00, 0xF0, 0x00, 0xF8, 0x00,
	0xFC, 0x00, 0xFE, 0x00, 0xFF, 0x00, 0xFF, 0x80,
	0xFF, 0xC0, 0xFF, 0xE0, 0xFE, 0x00, 0xEF, 0x00,
	0xCF, 0x00, 0x87, 0x80, 0x07, 0x80, 0x03, 0x80};

	const byte CursorImag0Data[32] = {
	0xC0, 0x00, 0xA0, 0x00, 0x90, 0x00, 0x88, 0x00,
	0x84, 0x00, 0x82, 0x00, 0x81, 0x00, 0x80, 0x80,
	0x80, 0x40, 0x83, 0xE0, 0x92, 0x00, 0xA9, 0x00,
	0xC9, 0x00, 0x84, 0x80, 0x04, 0x80, 0x03, 0x80};

/* Checkmark Cursor */
	const byte CursorMask1Data[32] = {
	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
	0x00, 0x07, 0x00, 0x0F, 0x00, 0x1E, 0x00, 0x3C,
	0x00, 0x78, 0x00, 0xF0, 0xF1, 0xE0, 0xFB, 0xC0,
	0x7F, 0x80, 0x1F, 0x00, 0x0E, 0x00, 0x04, 0x00};

	const byte CursorImag1Data[32] = {
	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
	0x00, 0x07, 0x00, 0x09, 0x00, 0x12, 0x00, 0x24,
	0x00, 0x48, 0x00, 0x90, 0xF1, 0x20, 0x8A, 0x40,
	0x64, 0x80, 0x11, 0x00, 0x0A, 0x00, 0x04, 0x00};

/* Crosshair Cursor */
	const byte CursorMask2Data[32] = {
	0x00, 0x00, 0x03, 0x80, 0x03, 0x80, 0x03, 0x80,
	0x03, 0x80, 0x03, 0x80, 0xFF, 0xFE, 0xFF, 0xFE,
	0xFF, 0xFE, 0x03, 0x80, 0x03, 0x80, 0x03, 0x80,
	0x03, 0x80, 0x03, 0x80, 0x00, 0x00, 0x00, 0x00};

	const byte CursorImag2Data[32] = {
	0x00, 0x00, 0x03, 0x80, 0x02, 0x80, 0x02, 0x80,
	0x02, 0x80, 0x02, 0x80, 0xFE, 0xFE, 0x80, 0x02,
	0xFE, 0xFE, 0x02, 0x80, 0x02, 0x80, 0x02, 0x80,
	0x02, 0x80, 0x03, 0x80, 0x00, 0x00, 0x00, 0x00};

/* Box Cursor */
	const byte CursorMask3Data[32] = {
	0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF,
	0xFF, 0xFF, 0xE0, 0x07, 0xE0, 0x07, 0xE0, 0x07,
	0xE0, 0x07, 0xE0, 0x07, 0xE0, 0x07, 0xE0, 0x07,
	0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00};

	const byte CursorImag3Data[32] = {
	0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x80, 0x01,
	0xBF, 0xFD, 0xA0, 0x05, 0xA0, 0x05, 0xA0, 0x05,
	0xA0, 0x05, 0xA0, 0x05, 0xA0, 0x05, 0xA0, 0x05,
	0xBF, 0xFD, 0x80, 0x01, 0xFF, 0xFF, 0x00, 0x00};

/* Pointing-Hand Cursor */
	const byte CursorMask4Data[32] = {
	0x00, 0x00, 0x07, 0x00, 0x0F, 0x80, 0x1F, 0x80,
	0x3F, 0x00, 0x7F, 0xFE, 0xFF, 0xFF, 0xFF, 0xFF,
	0xFF, 0xFF, 0xFF, 0xFE, 0xFF, 0xF0, 0xFF, 0xE0,
	0xFF, 0xE0, 0xFF, 0xC0, 0x7F, 0xC0, 0x3F, 0xC0};

	const byte CursorImag4Data[32] = {
	0x00, 0x00, 0x07, 0x00, 0x08, 0x80, 0x16, 0x80,
	0x2D, 0x00, 0x59, 0xFE, 0x98, 0x01, 0xB3, 0xFE,
	0xA8, 0x01, 0x9B, 0xDE, 0xB8, 0x10, 0xBB, 0xA0,
	0xB8, 0x20, 0x9B, 0x40, 0x40, 0x40, 0x3F, 0xC0};

/* "Hold"ing Hand Cursor */
	const byte CursorMask5Data[32] = {
	0x01, 0xC0, 0x07, 0xF0, 0x0F, 0xF8, 0x0F, 0xFC,
	0x0F, 0xFE, 0x0F, 0xFE, 0xFF, 0xFE, 0xFF, 0xFE,
	0xFF, 0xFE, 0xFF, 0xFE, 0x7F, 0xFE, 0x3F, 0xFE,
	0x3F, 0xFE, 0x1F, 0xFC, 0x0F, 0xF8, 0x07, 0xF0};

	const byte CursorImag5Data[32] = {
	0x01, 0xC0, 0x06, 0x30, 0x08, 0x88, 0x0A, 0xAC,
	0x0A, 0xA2, 0x0A, 0xAA, 0xFA, 0xAA, 0x8A, 0xAA,
	0xAA, 0xAA, 0xB0, 0x02, 0x57, 0xFA, 0x2F, 0xFA,
	0x27, 0xF2, 0x13, 0xE4, 0x08, 0x08, 0x07, 0xF0};

/* Question Cursor */
	const byte CursorMask6Data[32] = {
	0x00, 0x00, 0x1F, 0xF0, 0x3F, 0xF8, 0x7F, 0xFC,
	0xFF, 0xFE, 0xFF, 0xFE, 0xFF, 0xFE, 0xFF, 0xFE,
	0xFF, 0xFE, 0xFF, 0xFE, 0xFF, 0xFE, 0xFF, 0xFE,
	0xFF, 0xFE, 0x7F, 0xFC, 0x3F, 0xF8, 0x1F, 0xF0};

	const byte CursorImag6Data[32] = {
	0x00, 0x00, 0x1F, 0xF0, 0x20, 0x08, 0x40, 0x04,
	0x87, 0xC2, 0x8C, 0x62, 0x8C, 0x62, 0x80, 0xC2,
	0x81, 0x82, 0x81, 0x82, 0x80, 0x02, 0x81, 0x82,
	0x81, 0x82, 0x40, 0x04, 0x20, 0x08, 0x1F, 0xF0};

/* Hourglass Cursor */
	const byte CursorMask7Data[32] = {
	0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
	0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
	0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
	0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF};

	const byte CursorImag7Data[32] = {
	0x00, 0x00, 0x00, 0x00, 0xBF, 0xFD, 0x8F, 0xF1,
	0xA3, 0xC5, 0xB0, 0x0D, 0xB8, 0x1D, 0xBC, 0x3D,
	0xBD, 0xBD, 0xBB, 0xDD, 0xB6, 0x6D, 0xAC, 0x35,
	0x98, 0x19, 0xB0, 0x0D, 0x00, 0x00, 0x00, 0x00};

	const ImageHeader FillPatHDRInit = {
	/* Width,Height,Align,Flags,RowBytes,Bits,Planes */
		 8,    8,     0,    0,     1,     1,    1};

	const byte FillPatData[32][8] = { 
	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,	/* Pat00 */
	0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,	/* Pat01 */
	0xEE, 0xBB, 0xEE, 0xBB, 0xEE, 0xBB, 0xEE, 0xBB,	/* Pat02 */
	0xAA, 0x55, 0xAA, 0x55, 0xAA, 0x55, 0xAA, 0x55,	/* Pat03 */
	0x88, 0x22, 0x88, 0x22, 0x88, 0x22, 0x88, 0x22,	/* Pat04 */
	0x88, 0x00, 0x22, 0x00, 0x88, 0x00, 0x22, 0x00,	/* Pat05 */
	0x80, 0x00, 0x08, 0x00, 0x80, 0x00, 0x08, 0x00,	/* Pat06 */
	0x80, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00,	/* Pat07 */
	0x80, 0x40, 0x20, 0x10, 0x08, 0x04, 0x02, 0x01,	/* Pat08 */
	0xC1, 0xE0, 0x70, 0x38, 0x1C, 0x0E, 0x07, 0x83,	/* Pat09 */
	0x00, 0x44, 0x22, 0x11, 0x00, 0x44, 0x22, 0x11,	/* Pat10 */
	0x88, 0x44, 0x22, 0x11, 0x88, 0x44, 0x22, 0x11,	/* Pat11 */
	0xE3, 0xF1, 0xF8, 0x7C, 0x3E, 0x1F, 0x8F, 0xC7,	/* Pat12 */
	0x01, 0x02, 0x04, 0x08, 0x10, 0x20, 0x40, 0x80,	/* Pat13 */
	0x83, 0x07, 0x0E, 0x1C, 0x38, 0x70, 0xE0, 0xC1,	/* Pat14 */
	0x00, 0x22, 0x44, 0x88, 0x00, 0x22, 0x44, 0x88,	/* Pat15 */
	0x11, 0x22, 0x44, 0x88, 0x11, 0x22, 0x44, 0x88,	/* Pat16 */
	0xC7, 0x8F, 0x1F, 0x3E, 0x7C, 0xF8, 0xF1, 0xE3,	/* Pat17 */
	0x00, 0x00, 0x00, 0x0E, 0x00, 0x00, 0x00, 0xE0,	/* Pat18 */
	0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF,	/* Pat19 */
	0x80, 0x80, 0x80, 0x00, 0x08, 0x08, 0x08, 0x00,	/* Pat20 */
	0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88,	/* Pat21 */
	0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0xFF,	/* Pat22 */
	0x88, 0x88, 0x88, 0xFF, 0x88, 0x88, 0x88, 0xFF,	/* Pat23 */
	0x81, 0x42, 0x24, 0x18, 0x18, 0x24, 0x42, 0x81,	/* Pat24 */
	0x11, 0xAA, 0x44, 0xAA, 0x11, 0xAA, 0x44, 0xAA,	/* Pat25 */
	0xFF, 0x08, 0x08, 0x08, 0xFF, 0x80, 0x80, 0x80,	/* Pat26 */
	0xF8, 0x88, 0x88, 0x88, 0x8F, 0x88, 0x88, 0x88,	/* Pat27 */
	0x41, 0x80, 0x80, 0xE3, 0x14, 0x08, 0x08, 0x3E,	/* Pat28 */
	0x00, 0x08, 0x04, 0x02, 0x00, 0x20, 0x40, 0x80,	/* Pat29 */
	0x81, 0x42, 0x24, 0x18, 0x08, 0x04, 0x02, 0x01,	/* Pat30 */
	0x00, 0x00, 0x0A, 0x04, 0x00, 0x00, 0xA0, 0x40};/* Pat31 */

	const unsigned short DefPalInit[16][3] = {  /* Default color palette */
	0x0000, 0x0000, 0x0000,		/* Color 0, black */
	0xA800, 0x0000, 0x0000, 	/* Color 1, red */
	0x0000, 0xA800, 0x0000, 	/* Color 2, green */
	0xA800, 0x5400, 0x0000, 	/* Color 3, brown */
	0x0000, 0x0000, 0xA800, 	/* Color 4, blue */
	0xA800, 0x0000, 0xA800, 	/* Color 5, magenta */
	0x0000, 0xA800, 0xA800, 	/* Color 6, cyan, turquoise */
	0xA800, 0xA800, 0xA800, 	/* Color 7, white, light grey */
	0x5400, 0x5400, 0x5400, 	/* Color 8, dark grey */
	0xFFFF, 0x5400, 0x5400, 	/* Color 9, light red */
	0x5400, 0xFFFF, 0x5400, 	/* Color A, light green */
	0xFFFF, 0xFFFF, 0x5400, 	/* Color B, yellow */
	0x5400, 0x5400, 0xFFFF, 	/* Color C, light blue */
	0xFFFF, 0x5400, 0xFFFF, 	/* Color D, light magenta */
	0x5400, 0xFFFF, 0xFFFF, 	/* Color E, light cyan */
    0xFFFF, 0xFFFF, 0xFFFF}; 	/* Color F, bright white */

	/*  Copyright Notice  */
	const char CopyrightNotice[] = "Copyright (c) 1984-1992  Metagraphics All Rights Reserved";



/*  Do the actual initializations  */

	gFlags=0;				/* Graphic flags */

	/*  Line style lookup table  */

⌨️ 快捷键说明

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