home *** CD-ROM | disk | FTP | other *** search
- /*==============================================================================
- Project: POV
-
- Version: 3
-
- File: aeTok.h
-
- Description:
- AppleEvent token-handling utils.
- ------------------------------------------------------------------------------
- Author:
- Eduard [esp] Schwan
- ------------------------------------------------------------------------------
- from Persistence of Vision(tm) Ray Tracer
- Copyright 1996 Persistence of Vision Team
- ------------------------------------------------------------------------------
- NOTICE: This source code file is provided so that users may experiment
- with enhancements to POV-Ray and to port the software to platforms other
- than those supported by the POV-Ray Team. There are strict rules under
- which you are permitted to use this file. The rules are in the file
- named POVLEGAL.DOC which should be distributed with this file. If
- POVLEGAL.DOC is not available or for more info please contact the POV-Ray
- Team Coordinator by leaving a message in CompuServe's Graphics Developer's
- Forum. The latest version of POV-Ray may be found there as well.
-
- This program is based on the popular DKB raytracer version 2.12.
- DKBTrace was originally written by David K. Buck.
- DKBTrace Ver 2.0-2.12 were written by David K. Buck & Aaron A. Collins.
- ------------------------------------------------------------------------------
- Change History:
- 960120 [esp]
- ==============================================================================*/
-
- #ifndef AETOK_H
- #define AETOK_H
-
- //===========================================================================
- // Headers
- //===========================================================================
-
- #include "config.h"
- #include <Types.h>
- #include <AppleEvents.h> // DescType
- #include "povmac.h" // kAppSig
-
-
- //===========================================================================
- // Definitions
- //===========================================================================
-
- // AEvt codes
- #define kThingSuite kAppSignature
- #define cAppPrefs kAppSignature
-
- // Our Token structure
-
- // MyToken.flags values
- #define eTokIsObject 0x01
- #define eTokIsProperty 0x02
-
- typedef struct {
- DescType fClass; // flags=object: this is the object's class.
- // flags=property: this is the class of the object containing the property.
- short fFlags; // A set of bit flags, defined above
- DescType fPropCode; // the property, if flags says this is a property
- long fValue; // object-specific value or id
- } MyToken_t, *MyTokenPtr_t, **MyTokenH_t;
-
- // The following macros make it easier to get to the fields of the token AEDesc
- #define GetTokDescClass(tokenDesc) ((**(MyTokenH_t)((tokenDesc).dataHandle)).fClass)
- #define GetTokDescFlags(tokenDesc) ((**(MyTokenH_t)((tokenDesc).dataHandle)).fFlags)
- #define GetTokDescPropCode(tokenDesc) ((**(MyTokenH_t)((tokenDesc).dataHandle)).fPropCode)
- #define GetTokDescValue(tokenDesc) ((**(MyTokenH_t)((tokenDesc).dataHandle)).fValue)
-
- #endif // AETOK_H
-