📄 hcvp0.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 */
/* */
/* HCVP0.c 1.9 */
/* */
/* COMPONENT */
/* */
/* All */
/* */
/* DESCRIPTION */
/* */
/* This file contains the Gbl2LclPt & Gbl2LclRect 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"
#include "metmacs3.h"
/* Function Gbl2LclPt converts the specified global bitmap point, argPT,
into what would be local coordinates for the current grafPort.
Note: the current port may be in virtual mode, this must be ignored. */
void Gbl2LclPt(point *argPT)
{
argPT->X += (grafPort.portRect.Xmin - grafPort.portOrgn.X);
if (grafPort.portFlags & pfUpper)
{ /* upper left: Yl = Yg + portYmin + -portoriginY */
argPT->Y += (grafPort.portRect.Ymin - grafPort.portOrgn.Y);
}
else
{ /* lower left: Yl = -Yg + portYmax + portoriginY */
argPT->Y = -argPT->Y + grafPort.portRect.Ymin + grafPort.portOrgn.Y;
}
return;
}
/* Function Gbl2LclRect converts the specified global bitmap rectangle,
argR, into what would be local coordinates for the current grafPort. */
void Gbl2LclRect(rect *argR)
{
point tempPt;
/* convert first point */
tempPt.X = argR->Xmin;
tempPt.Y = argR->Ymin;
Gbl2LclPt(&tempPt);
argR->Xmin = tempPt.X;
argR->Ymin = tempPt.Y;
/* convert second point */
tempPt.X = argR->Xmax;
tempPt.Y = argR->Ymax;
Gbl2LclPt(&tempPt);
/* lower origin will cause Ymax < Ymin */
if (tempPt.Y > argR->Ymin)
{
argR->Ymax = tempPt.Y;
}
else
{
argR->Ymax = argR->Ymin;
argR->Ymin = tempPt.Y;
}
return;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -