yore5.c
来自「nucleus 文件系统,内核和彩色图形系统,在小系统上非常好用」· C语言 代码 · 共 99 行
C
99 行
/*************************************************************************/
/* */
/* 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 */
/* */
/* YORE5.c 1.9 */
/* */
/* COMPONENT */
/* */
/* All */
/* */
/* DESCRIPTION */
/* */
/* This file contains the WriteImage function. */
/* */
/* AUTHOR */
/* */
/* Giac Dinh, Accelerated Technology, Inc. */
/* */
/* DATA STRUCTURES */
/* */
/* None */
/* */
/* FUNCTIONS */
/* */
/* None */
/* */
/* DEPENDENCIES */
/* */
/* None */
/* */
/* HISTORY */
/* */
/* NAME DATE REMARKS */
/* */
/* */
/*************************************************************************/
#include "meta_wnd.h"
#include "metconst.h" /* MetaWINDOW Constant & Stucture Definitions */
#include "metports.h" /* MetaWINDOW Port & Bitmap Definitions */
#include "grafdata.h"
#include "metmacs3.h"
/* Function WriteImage writes the raster image from the specified "srcIMAGE"
array into the rectangular area specified by dstR in the current bitmap. */
void WriteImage (rect * dstR, image * srcImage )
{
rect tmpR;
if(globalLevel > 0)
{
U2GR(*dstR, &tmpR, 0);
}
else
{
tmpR = *dstR;
}
/* Normally the write image primitives will color translate monochrome source
images using the blitBack and blitFore colors. However, if the destination
grafmap is monochrome as well, then this behavior is not desireable.
So in this case, the blitFore and blitBack are set such that no color
translation will occur. In other words, color grafmaps will expand
monochrome sources, otherwise no translation takes affect. */
grafBlist.Xmin = tmpR.Xmin;
grafBlist.Xmax = tmpR.Xmax;
grafBlist.Ymin = tmpR.Ymin;
grafBlist.Ymax = tmpR.Ymax;
/* Is it monochrome */
if(grafPort.portMap->pixBits <= 1)
if(grafPort.portMap->pixPlanes <= 1)
{
grafBlit.blitBack = 0;
grafBlit.blitFore = -1;
}
grafBlit.blitSmap = (grafMap *) srcImage;
(grafBlit.blitDmap->prWrImg)(&grafBlit);
/* Restore grafBlit entries */
grafBlit.blitBack = grafPort.bkColor;
grafBlit.blitFore = grafPort.pnColor;
return;
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?