/* * LWSDK Header File * Copyright 1999, NewTek, Inc. * * LWHOST.H -- LightWave Host Services * * This header contains the declarations for globals provided by all * LightWave host applications. */ #ifndef LWSDK_HOST_H #define LWSDK_HOST_H #include /* * File Request Function. This function is returned as the "File Request" * global service. It gets a simple filename from the user. */ #define LWFILEREQFUNC_GLOBAL "File Request" typedef int LWFileReqFunc (const char *hail, char *name, char *path, char *fullName, int buflen); /* * File Request Activate Function. This function is returned as the * "File Request 2" global service. It takes a file request local struct * and version number and returns the activation code directly. */ #define LWFILEACTIVATEFUNC_GLOBAL "File Request 2" typedef int LWFileActivateFunc (int version, LWFileReqLocal *); /* * Color Picker Activate Function. This function is returned as the * "Color Picker" global service. It takes a color picker local struct * and version number and returns the activation code directly. */ #define LWCOLORACTIVATEFUNC_GLOBAL "Color Picker" typedef int LWColorActivateFunc (int version, LWColorPickLocal *); /* * File Type Function. This function is returned as the "File Type Pattern" * global service. It returns filename pattern strings given file type * code strings. */ #define LWFILETYPEFUNC_GLOBAL "File Type Pattern" typedef const char * LWFileTypeFunc (const char *); /* * Directory Function. This function is returned as the "Directory Info" * global service. It returns filename pattern strings given file type * code strings. */ #define LWDIRINFOFUNC_GLOBAL "Directory Info" typedef const char * LWDirInfoFunc (const char *); /* * These file type code strings are recognized by the File Type and Directory Info * Functions. They correspond with the current configuration for the system. */ #define LWFTYPE_ANIMATION "Animations" #define LWFTYPE_IMAGE "Images" #define LWFTYPE_ENVELOPE "Envelopes" #define LWFTYPE_MOTION "Motions" #define LWFTYPE_OBJECT "Objects" #define LWFTYPE_PLUGIN "Plug-ins" #define LWFTYPE_PREVIEW "Previews" #define LWFTYPE_PSFONT "PSFonts" #define LWFTYPE_SCENE "Scenes" #define LWFTYPE_SETTING "Settings" #define LWFTYPE_SURFACE "Surfaces" /**** * Message Functions. This block of functions is returned as the * "Info Messages 2" global service. They display various info * and other confirmation dialogs to the user. * The return codes are as follows: * OKCancel ok(1) cancel(0) * YesNo yes(1) no(0) * YesNoCancel yes(2) no(1) cancel(0) * YesNoAll yesAll(3) yes(2) no(1) cancel(0) **** */ #define LWMESSAGEFUNCS_GLOBAL "Info Messages 2" typedef struct st_LWMessageFuncs { void (*info) (const char *, const char *); void (*error) (const char *, const char *); void (*warning) (const char *, const char *); int (*okCancel) (const char *ttl, const char *, const char *); int (*yesNo) (const char *ttl, const char *, const char *); int (*yesNoCan) (const char *ttl, const char *, const char *); int (*yesNoAll) (const char *ttl, const char *, const char *); } LWMessageFuncs; /* * System Information. The value returned as the "System ID" global is * a value that should be parsed into bits. The low bits are the dongle * serial number and the high bits are the application code. */ #define LWSYSTEMID_GLOBAL "System ID" #define LWSYS_TYPEBITS 0xF0000000 #define LWSYS_SERIALBITS 0x0FFFFFFF #define LWSYS_LAYOUT 0x00000000 #define LWSYS_MODELER 0x10000000 #define LWSYS_SCREAMERNET 0x20000000 /* * Product Information. The value returned as the "Product Info" global * is a value that should be parsed into bits. The various groups of * bits contain codes for the specific product and revision. */ #define LWPRODUCTINFO_GLOBAL "Product Info" #define LWINF_PRODUCT 0x0000000F #define LWINF_BUILD 0x0000FFF0 #define LWINF_MINORREV 0x000F0000 #define LWINF_MAJORREV 0x00F00000 #define LWINF_RESERVED 0xFF000000 #define LWINF_PRODLWAV 0x00000001 #define LWINF_PRODINSP3D 0x00000002 #define LWINF_PRODOTHER 0x00000004 #define LWINF_GETMAJOR(x) (((x) & LWINF_MAJORREV) >> 20) #define LWINF_GETMINOR(x) (((x) & LWINF_MINORREV) >> 16) #define LWINF_GETBUILD(x) (((x) & LWINF_BUILD) >> 4) /* * Locale Information. The value returned as the "Locale Info" global * is a value whose low bits contain the locale ID for the host * application. The possible values are the LANGID codes defined in * lwserver. */ #define LWLOCALEINFO_GLOBAL "Locale Info" #define LWLOC_LANGID 0x0000FFFF #define LWLOC_RESERVED 0xFFFF0000 #endif