📄 npen7.c
字号:
/*************************************************************************/
/* */
/* 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 */
/* */
/* NPEN7.c 1.9 */
/* */
/* COMPONENT */
/* */
/* All */
/* */
/* DESCRIPTION */
/* */
/* This file contains the PenShape & mwOL2 functions. */
/* */
/* AUTHOR */
/* */
/* Robert G. Burrill, 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"
void mwOL2(void);
/* Function PenShape sets the port's current pen shape (thePort.pnFlags &
pnShapeFlg) to:
pnShapeFlg Metconst Define
------------------------------------------------
Elliptical 0 shapeOval
Square 1 shapeRect
This routine also smart links oval lines. */
void PenShape(int shape)
{
void mwOPL(short numpoints, point *points);
if (shape != shapeRect)
{ /* clear shape flag */
grafPort.pnFlags &= ~pnShapeFlg;
}
else
{ /* mark rectangular */
grafPort.pnFlags |= pnShapeFlg;
}
thePort->pnFlags = grafPort.pnFlags; /* update user port */
lineOvPolyIDV = (long) mwOPL; /* smart link oval poly lines */
lineOvalIDV = (long) mwOL2; /* smart link oval lines */
SETLINESTYLE(grafPort.pnFlags); /* refresh current line style vector */
return;
}
/* Function mwOL2 is the generic line call handler for oval lines. Converts
blit record call to a polyline call. */
void mwOL2()
{
point tmpPoints[2];
void (*ovPLPntr)();
globalLevel--; /* already in global */
/* set up the two points from the default blit list and call oval polyline */
tmpPoints[0].X = grafBlist.Xmin;
tmpPoints[0].Y = grafBlist.Ymin;
tmpPoints[1].X = grafBlist.Xmax;
tmpPoints[1].Y = grafBlist.Ymax;
ovPLPntr = (void (*)()) lineOvPolyIDV;
ovPLPntr(2, &tmpPoints[0]);
globalLevel++; /* restore globalLevel */
return;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -