mirror of
https://github.com/byteworksinc/ORCA-C.git
synced 2024-06-06 12:29:33 +00:00
1 line
6.2 KiB
C
1 line
6.2 KiB
C
|
/*********************************************************
*
* File: HyperXCMD.h
*
* Definition file for HyperCard XCMDs and XFCNs in C
* For use with HyperCard IIGS Version 1.1
*
* Copyright Apple Computer, Inc. 1990-91
* All Rights Reserved
*
* Copyright 1992, Byte Works, Inc.
*
*********************************************************/
#ifndef __TYPES__
#include <TYPES.h>
#endif
#ifndef __HYPERXCMD__
#define __HYPERXCMD__
#define _CallBackVector 0x00E10220L
/* XCMDBlock constants for event.what... */
#define xOpenEvt 1000 /* the first event after you are created */
#define xCloseEvt 1001 /* your window is being forced close */
#define xHidePalettesEvt 1004 /* someone called HideHCPalettes */
#define xShowPalettesEvt 1005 /* someone called ShowHCPalettes */
#define xCursorWithin 1300 /* cursor is within the window */
/* XWindow styles */
#define xWindoidStyle 0
#define xRectStyle 1
#define xShadowStyle 2
#define xDialogStyle 3
typedef String(19) Str19, *String19Ptr, **String19Handle;
typedef String(31) Str31, *String31Ptr, **String31Handle;
struct XCMDBlock {
int paramCount;
Handle params[16];
Handle returnValue;
Boolean passFlag;
Word userID;
Word returnStat; /* 0 if normal, 1 if error */
};
typedef struct XCMDBlock XCMDBlock, *XCMDPtr;
struct XWEventInfo {
WindowPtr eventWindow;
EventRecord event;
long eventParams[9];
Handle eventResult;
};
typedef struct XWEventInfo XWEventInfo, *XWEventInfoPtr;
/**** HyperTalk Utilities ****/
extern pascal Handle EvalExpr(Str255) inline(0x0002,_CallBackVector);
extern pascal void SendCardMessage(Str255 msg) inline(0x0001,_CallBackVector);
extern pascal void SendHCMessage(Str255) inline(0x0005,_CallBackVector);
/**** Memory Utilities ****/
extern pascal Handle GetGlobal(Str255) inline(0x0012,_CallBackVector);
extern pascal void SetGlobal(Str255, Handle) inline(0x0013,_CallBackVector);
extern pascal void ZeroBytes(Ptr, long) inline(0x0006,_CallBackVector);
/**** String Utilities ****/
extern pascal Boolean GSStringEqual(GSString255Hndl, GSString255Hndl) inline(0x0022,_CallBackVector);
extern pascal void ScanToReturn(Ptr *) inline(0x001C,_CallBackVector);
extern pascal void ScanToZero(Ptr *) inline(0x001D,_CallBackVector);
extern pascal Boolean StringEqual(Str255, Str255) inline(0x001A,_CallBackVector);
extern pascal Longint StringLength(Ptr) inline(0x0003,_CallBackVector);
extern pascal Ptr StringMatch(Str255, Ptr) inline(0x0004,_CallBackVector);
/**** String Conversions ****/
extern pascal Str31 BoolToStr(Boolean) inline(0x0010,_CallBackVector);
extern pascal GSString255Hndl CopyGSString(GSString255Hndl) inline(0x0020,_CallBackVector);
extern pascal Str31 ExtToStr(Extended) inline(0x0011,_CallBackVector);
extern pascal GSString255Hndl GSConcat(GSString255Hndl, GSString255Hndl) inline(0x0021,_CallBackVector);
extern pascal Str255 GSToPString(GSString255Hndl) inline(0x001E,_CallBackVector);
extern pascal Handle GSToZero(GSString255Hndl) inline(0x0023,_CallBackVector);
extern pascal Str31 LongToStr(Longint) inline(0x000D,_CallBackVector);
extern pascal Str19 NumToHex(Longint, word) inline(0x000F,_CallBackVector);
extern pascal Str31 NumToStr(Longint) inline(0x000E,_CallBackVector);
extern pascal void PointToStr(Point, Str255) inline(0x002D,_CallBackVector);
extern pascal Handle PasToZero(Str255) inline(0x0007,_CallBackVector);
extern pascal GSString255Hndl PToGSString(Str255) inline(0x001F,_CallBackVector);
extern pascal void RectToStr(Rect *, Str255) inline(0x002E,_CallBackVector);
extern pascal void ReturnToPas(Ptr, Str255 *) inline(0x001B,_CallBackVector);
extern pascal Boolean StrToBool(Str31) inline(0x000B,_CallBackVector);
extern pascal extended StrToExt(Str31) inline(0x000C,_CallBackVector);
extern pascal Longint StrToLong(Str31) inline(0x0009,_CallBackVector);
extern pascal Longint StrToNum(Str31) inline(0x000A,_CallBackVector);
extern pascal void StrToPoint(Str255, Point) inline(0x002F,_CallBackVector);
extern pascal void StrToRect(Str2
|