Serious-Engine/Sources/LWSkaExporter/SDK/lwhost.h
2016-03-11 15:57:17 +02:00

157 lines
5.1 KiB
C

/*
* 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 <lwdialog.h>
/*
* 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