📄 curs8.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 */
/* */
/* CURS8.c 1.9 */
/* */
/* COMPONENT */
/* */
/* All */
/* */
/* DESCRIPTION */
/* */
/* This file contains the DefineCursor function. */
/* */
/* 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 DefineCursor loads the specified cursor number, CURSORNBR (0-7),
with the user specifed cursor mask, cursor image, and center spot X,Y.
If the image pointers are NULL, then the original pre-defined data for the
specified cursor number is re-loaded. */
void DefineCursor (int argCNBR, int argHOTX, int argHOTY,
image *argBACKIMG, image *argFOREIMG)
{
#define allowCurSize 32
void HideCursor(void);
void CursorStyle(int argCURNO);
void ShowCursor(void);
void nuResume(grafMap *argGRAFMAP);
short grafErrValue; /* error value */
M_PAUSE(cursBlit.blitDmap); /* pause cursor */
HideCursor(); /* Remove the cursor if visible */
if (argBACKIMG == 0) /* is background image pointer null? */
{ /* load args from pre-defined cursors table */
argBACKIMG = (image *) DefCursorTable[argCNBR][0];
argFOREIMG = (image *) DefCursorTable[argCNBR][1];
argHOTX = (int) DefCursorTable[argCNBR][2];
argHOTY = (int) DefCursorTable[argCNBR][3];
}
if (argBACKIMG->imWidth > allowCurSize) /* can we handle this size of cursor */
{
argBACKIMG->imWidth = allowCurSize;
grafErrValue = c_DefineCu + c_BadCursSiz;
nuGrafErr(grafErrValue); /* report error */
goto DC900;
}
CursorTable[argCNBR][0] = (long)argBACKIMG;
if (argFOREIMG->imWidth > allowCurSize) /* can we handle this size of cursor */
{
argFOREIMG->imWidth = allowCurSize;
grafErrValue = c_DefineCu + c_BadCursSiz;
nuGrafErr(grafErrValue); /* report error */
goto DC900;
}
CursorTable[argCNBR][1] = (long) argFOREIMG;
CursorTable[argCNBR][2] = argHOTX; /* save new hot spots */
CursorTable[argCNBR][3] = argHOTY;
CursorStyle(-1); /* re-cursorstyle in case the current cursor was re-defined */
DC900:
ShowCursor(); /* Restore cursor if visible */
nuResume(cursBlit.blitDmap);
return;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -