bits3.c
来自「与Nucleus Plus配套的图形库」· 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 */
/* */
/* BITS3.c 1.9 */
/* */
/* COMPONENT */
/* */
/* All */
/* */
/* DESCRIPTION */
/* */
/* This file contains the SETPIXEL function. */
/* */
/* AUTHOR */
/* */
/* Robert G. Burrill, Accelerated Technology, Inc. */
/* */
/* DATA STRUCTURES */
/* */
/* None */
/* */
/* FUNCTIONS */
/* */
/* None */
/* */
/* DEPENDENCIES */
/* */
/* None */
/* */
/* HISTORY */
/* */
/* NAME DATE REMARKS */
/* */
/* BobB 12/9/98 Corrected fill routine name */
/* */
/*************************************************************************/
#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 SETPIXEL sets the specified X,Y local coordinate position using
the current foreground pen color pnColor, pnMode, and pnPat.
It NO LONGER moves the current pen location "pnLoc" to X,Y !! */
void SetPixel( int argX, int argY)
{
if (grafPort.pnLevel<0) return; /* exit */
if (globalLevel > 0)
{
/* convert from user to global */
U2GP(argX, argY, &LocX, &LocY, 1);
}
else
{
LocX = argX; /* update global pen location */
LocY = argY;
}
grafBlist.Xmin = LocX;
grafBlist.Ymin = LocY;
/* set primitive can only handle replace, solid */
if (((grafBlit.blitRop & 0x0f) == 0) && (grafBlit.blitPat <= 1))
{
(grafBlit.blitDmap->prSetPx)(&grafBlit);
}
else
{
/* use filler to set the pixel */
grafBlist.Xmax = LocX + 1; /* build 1 pixel rect */
grafBlist.Ymax = LocY + 1;
/* BobB 12/9/98 - Corrected the following line to point to the fill routine
(grafBlit.blitDmap->prSetPx)(&grafBlit); */
(grafBlit.blitDmap->prFill)(&grafBlit);
}
return;
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?