Modified source engine (2017) developed by valve and leaked in 2020. Not for commercial purporses
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

897 lines
22 KiB

5 years ago
/*
File: QD3DStyle.h
Contains: Q3Style types and routines
Version: Technology: Quickdraw 3D 1.6
Release: QuickTime 7.3
Copyright: (c) 2007 (c) 1995-1998 by Apple Computer, Inc., all rights reserved.
Bugs?: For bug reports, consult the following page on
the World Wide Web:
http://developer.apple.com/bugreporter/
*/
#ifndef __QD3DSTYLE__
#define __QD3DSTYLE__
#ifndef __QD3D__
#include <QD3D.h>
#endif
#if PRAGMA_ONCE
#pragma once
#endif
#ifdef __cplusplus
extern "C" {
#endif
#if PRAGMA_IMPORT
#pragma import on
#endif
#if PRAGMA_STRUCT_ALIGN
#pragma options align=power
#elif PRAGMA_STRUCT_PACKPUSH
#pragma pack(push, 2)
#elif PRAGMA_STRUCT_PACK
#pragma pack(2)
#endif
#if PRAGMA_ENUM_ALWAYSINT
#if defined(__fourbyteints__) && !__fourbyteints__
#define __QD3DSTYLE__RESTORE_TWOBYTEINTS
#pragma fourbyteints on
#endif
#pragma enumsalwaysint on
#elif PRAGMA_ENUM_OPTIONS
#pragma option enum=int
#elif PRAGMA_ENUM_PACK
#if __option(pack_enums)
#define __QD3DSTYLE__RESTORE_PACKED_ENUMS
#pragma options(!pack_enums)
#endif
#endif
/******************************************************************************
** **
** Style Base Class Routines **
** **
*****************************************************************************/
#if CALL_NOT_IN_CARBON
/*
* Q3Style_GetType()
*
* Availability:
* Non-Carbon CFM: not available
* CarbonLib: not available
* Mac OS X: not available
*/
EXTERN_API_C( TQ3ObjectType )
Q3Style_GetType(TQ3StyleObject style);
/*
* Q3Style_Submit()
*
* Availability:
* Non-Carbon CFM: not available
* CarbonLib: not available
* Mac OS X: not available
*/
EXTERN_API_C( TQ3Status )
Q3Style_Submit(
TQ3StyleObject style,
TQ3ViewObject view);
/******************************************************************************
** **
** Subdivision **
** **
*****************************************************************************/
#endif /* CALL_NOT_IN_CARBON */
enum TQ3SubdivisionMethod {
kQ3SubdivisionMethodConstant = 0,
kQ3SubdivisionMethodWorldSpace = 1,
kQ3SubdivisionMethodScreenSpace = 2
};
typedef enum TQ3SubdivisionMethod TQ3SubdivisionMethod;
struct TQ3SubdivisionStyleData {
TQ3SubdivisionMethod method;
float c1;
float c2;
};
typedef struct TQ3SubdivisionStyleData TQ3SubdivisionStyleData;
#if CALL_NOT_IN_CARBON
/*
* Q3SubdivisionStyle_New()
*
* Availability:
* Non-Carbon CFM: not available
* CarbonLib: not available
* Mac OS X: not available
*/
EXTERN_API_C( TQ3StyleObject )
Q3SubdivisionStyle_New(const TQ3SubdivisionStyleData * data);
/*
* Q3SubdivisionStyle_Submit()
*
* Availability:
* Non-Carbon CFM: not available
* CarbonLib: not available
* Mac OS X: not available
*/
EXTERN_API_C( TQ3Status )
Q3SubdivisionStyle_Submit(
const TQ3SubdivisionStyleData * data,
TQ3ViewObject view);
/*
* Q3SubdivisionStyle_SetData()
*
* Availability:
* Non-Carbon CFM: not available
* CarbonLib: not available
* Mac OS X: not available
*/
EXTERN_API_C( TQ3Status )
Q3SubdivisionStyle_SetData(
TQ3StyleObject subdiv,
const TQ3SubdivisionStyleData * data);
/*
* Q3SubdivisionStyle_GetData()
*
* Availability:
* Non-Carbon CFM: not available
* CarbonLib: not available
* Mac OS X: not available
*/
EXTERN_API_C( TQ3Status )
Q3SubdivisionStyle_GetData(
TQ3StyleObject subdiv,
TQ3SubdivisionStyleData * data);
/******************************************************************************
** **
** Pick ID **
** **
*****************************************************************************/
/*
* Q3PickIDStyle_New()
*
* Availability:
* Non-Carbon CFM: not available
* CarbonLib: not available
* Mac OS X: not available
*/
EXTERN_API_C( TQ3StyleObject )
Q3PickIDStyle_New(unsigned long id);
/*
* Q3PickIDStyle_Submit()
*
* Availability:
* Non-Carbon CFM: not available
* CarbonLib: not available
* Mac OS X: not available
*/
EXTERN_API_C( TQ3Status )
Q3PickIDStyle_Submit(
unsigned long id,
TQ3ViewObject view);
/*
* Q3PickIDStyle_Get()
*
* Availability:
* Non-Carbon CFM: not available
* CarbonLib: not available
* Mac OS X: not available
*/
EXTERN_API_C( TQ3Status )
Q3PickIDStyle_Get(
TQ3StyleObject pickIDObject,
unsigned long * id);
/*
* Q3PickIDStyle_Set()
*
* Availability:
* Non-Carbon CFM: not available
* CarbonLib: not available
* Mac OS X: not available
*/
EXTERN_API_C( TQ3Status )
Q3PickIDStyle_Set(
TQ3StyleObject pickIDObject,
unsigned long id);
/******************************************************************************
** **
** Pick Parts **
** **
*****************************************************************************/
#endif /* CALL_NOT_IN_CARBON */
enum TQ3PickPartsMasks {
kQ3PickPartsObject = 0,
kQ3PickPartsMaskFace = 1 << 0,
kQ3PickPartsMaskEdge = 1 << 1,
kQ3PickPartsMaskVertex = 1 << 2
};
typedef enum TQ3PickPartsMasks TQ3PickPartsMasks;
typedef unsigned long TQ3PickParts;
#if CALL_NOT_IN_CARBON
/*
* Q3PickPartsStyle_New()
*
* Availability:
* Non-Carbon CFM: not available
* CarbonLib: not available
* Mac OS X: not available
*/
EXTERN_API_C( TQ3StyleObject )
Q3PickPartsStyle_New(TQ3PickParts parts);
/*
* Q3PickPartsStyle_Submit()
*
* Availability:
* Non-Carbon CFM: not available
* CarbonLib: not available
* Mac OS X: not available
*/
EXTERN_API_C( TQ3Status )
Q3PickPartsStyle_Submit(
TQ3PickParts parts,
TQ3ViewObject view);
/*
* Q3PickPartsStyle_Get()
*
* Availability:
* Non-Carbon CFM: not available
* CarbonLib: not available
* Mac OS X: not available
*/
EXTERN_API_C( TQ3Status )
Q3PickPartsStyle_Get(
TQ3StyleObject pickPartsObject,
TQ3PickParts * parts);
/*
* Q3PickPartsStyle_Set()
*
* Availability:
* Non-Carbon CFM: not available
* CarbonLib: not available
* Mac OS X: not available
*/
EXTERN_API_C( TQ3Status )
Q3PickPartsStyle_Set(
TQ3StyleObject pickPartsObject,
TQ3PickParts parts);
/******************************************************************************
** **
** Receive Shadows **
** **
*****************************************************************************/
/*
* Q3ReceiveShadowsStyle_New()
*
* Availability:
* Non-Carbon CFM: not available
* CarbonLib: not available
* Mac OS X: not available
*/
EXTERN_API_C( TQ3StyleObject )
Q3ReceiveShadowsStyle_New(TQ3Boolean receives);
/*
* Q3ReceiveShadowsStyle_Submit()
*
* Availability:
* Non-Carbon CFM: not available
* CarbonLib: not available
* Mac OS X: not available
*/
EXTERN_API_C( TQ3Status )
Q3ReceiveShadowsStyle_Submit(
TQ3Boolean receives,
TQ3ViewObject view);
/*
* Q3ReceiveShadowsStyle_Get()
*
* Availability:
* Non-Carbon CFM: not available
* CarbonLib: not available
* Mac OS X: not available
*/
EXTERN_API_C( TQ3Status )
Q3ReceiveShadowsStyle_Get(
TQ3StyleObject styleObject,
TQ3Boolean * receives);
/*
* Q3ReceiveShadowsStyle_Set()
*
* Availability:
* Non-Carbon CFM: not available
* CarbonLib: not available
* Mac OS X: not available
*/
EXTERN_API_C( TQ3Status )
Q3ReceiveShadowsStyle_Set(
TQ3StyleObject styleObject,
TQ3Boolean receives);
/******************************************************************************
** **
** Fill Styles **
** **
*****************************************************************************/
#endif /* CALL_NOT_IN_CARBON */
enum TQ3FillStyle {
kQ3FillStyleFilled = 0,
kQ3FillStyleEdges = 1,
kQ3FillStylePoints = 2
};
typedef enum TQ3FillStyle TQ3FillStyle;
#if CALL_NOT_IN_CARBON
/*
* Q3FillStyle_New()
*
* Availability:
* Non-Carbon CFM: not available
* CarbonLib: not available
* Mac OS X: not available
*/
EXTERN_API_C( TQ3StyleObject )
Q3FillStyle_New(TQ3FillStyle fillStyle);
/*
* Q3FillStyle_Submit()
*
* Availability:
* Non-Carbon CFM: not available
* CarbonLib: not available
* Mac OS X: not available
*/
EXTERN_API_C( TQ3Status )
Q3FillStyle_Submit(
TQ3FillStyle fillStyle,
TQ3ViewObject view);
/*
* Q3FillStyle_Get()
*
* Availability:
* Non-Carbon CFM: not available
* CarbonLib: not available
* Mac OS X: not available
*/
EXTERN_API_C( TQ3Status )
Q3FillStyle_Get(
TQ3StyleObject styleObject,
TQ3FillStyle * fillStyle);
/*
* Q3FillStyle_Set()
*
* Availability:
* Non-Carbon CFM: not available
* CarbonLib: not available
* Mac OS X: not available
*/
EXTERN_API_C( TQ3Status )
Q3FillStyle_Set(
TQ3StyleObject styleObject,
TQ3FillStyle fillStyle);
/******************************************************************************
** **
** Backfacing Styles **
** **
*****************************************************************************/
#endif /* CALL_NOT_IN_CARBON */
enum TQ3BackfacingStyle {
kQ3BackfacingStyleBoth = 0,
kQ3BackfacingStyleRemove = 1,
kQ3BackfacingStyleFlip = 2
};
typedef enum TQ3BackfacingStyle TQ3BackfacingStyle;
#if CALL_NOT_IN_CARBON
/*
* Q3BackfacingStyle_New()
*
* Availability:
* Non-Carbon CFM: not available
* CarbonLib: not available
* Mac OS X: not available
*/
EXTERN_API_C( TQ3StyleObject )
Q3BackfacingStyle_New(TQ3BackfacingStyle backfacingStyle);
/*
* Q3BackfacingStyle_Submit()
*
* Availability:
* Non-Carbon CFM: not available
* CarbonLib: not available
* Mac OS X: not available
*/
EXTERN_API_C( TQ3Status )
Q3BackfacingStyle_Submit(
TQ3BackfacingStyle backfacingStyle,
TQ3ViewObject view);
/*
* Q3BackfacingStyle_Get()
*
* Availability:
* Non-Carbon CFM: not available
* CarbonLib: not available
* Mac OS X: not available
*/
EXTERN_API_C( TQ3Status )
Q3BackfacingStyle_Get(
TQ3StyleObject backfacingObject,
TQ3BackfacingStyle * backfacingStyle);
/*
* Q3BackfacingStyle_Set()
*
* Availability:
* Non-Carbon CFM: not available
* CarbonLib: not available
* Mac OS X: not available
*/
EXTERN_API_C( TQ3Status )
Q3BackfacingStyle_Set(
TQ3StyleObject backfacingObject,
TQ3BackfacingStyle backfacingStyle);
/******************************************************************************
** **
** Interpolation Types **
** **
*****************************************************************************/
#endif /* CALL_NOT_IN_CARBON */
enum TQ3InterpolationStyle {
kQ3InterpolationStyleNone = 0,
kQ3InterpolationStyleVertex = 1,
kQ3InterpolationStylePixel = 2
};
typedef enum TQ3InterpolationStyle TQ3InterpolationStyle;
#if CALL_NOT_IN_CARBON
/*
* Q3InterpolationStyle_New()
*
* Availability:
* Non-Carbon CFM: not available
* CarbonLib: not available
* Mac OS X: not available
*/
EXTERN_API_C( TQ3StyleObject )
Q3InterpolationStyle_New(TQ3InterpolationStyle interpolationStyle);
/*
* Q3InterpolationStyle_Submit()
*
* Availability:
* Non-Carbon CFM: not available
* CarbonLib: not available
* Mac OS X: not available
*/
EXTERN_API_C( TQ3Status )
Q3InterpolationStyle_Submit(
TQ3InterpolationStyle interpolationStyle,
TQ3ViewObject view);
/*
* Q3InterpolationStyle_Get()
*
* Availability:
* Non-Carbon CFM: not available
* CarbonLib: not available
* Mac OS X: not available
*/
EXTERN_API_C( TQ3Status )
Q3InterpolationStyle_Get(
TQ3StyleObject interpolationObject,
TQ3InterpolationStyle * interpolationStyle);
/*
* Q3InterpolationStyle_Set()
*
* Availability:
* Non-Carbon CFM: not available
* CarbonLib: not available
* Mac OS X: not available
*/
EXTERN_API_C( TQ3Status )
Q3InterpolationStyle_Set(
TQ3StyleObject interpolationObject,
TQ3InterpolationStyle interpolationStyle);
/******************************************************************************
** **
** Highlight Style **
** **
*****************************************************************************/
/*
* Q3HighlightStyle_New()
*
* Availability:
* Non-Carbon CFM: not available
* CarbonLib: not available
* Mac OS X: not available
*/
EXTERN_API_C( TQ3StyleObject )
Q3HighlightStyle_New(TQ3AttributeSet highlightAttribute);
/*
* Q3HighlightStyle_Submit()
*
* Availability:
* Non-Carbon CFM: not available
* CarbonLib: not available
* Mac OS X: not available
*/
EXTERN_API_C( TQ3Status )
Q3HighlightStyle_Submit(
TQ3AttributeSet highlightAttribute,
TQ3ViewObject view);
/*
* Q3HighlightStyle_Get()
*
* Availability:
* Non-Carbon CFM: not available
* CarbonLib: not available
* Mac OS X: not available
*/
EXTERN_API_C( TQ3Status )
Q3HighlightStyle_Get(
TQ3StyleObject highlight,
TQ3AttributeSet * highlightAttribute);
/*
* Q3HighlightStyle_Set()
*
* Availability:
* Non-Carbon CFM: not available
* CarbonLib: not available
* Mac OS X: not available
*/
EXTERN_API_C( TQ3Status )
Q3HighlightStyle_Set(
TQ3StyleObject highlight,
TQ3AttributeSet highlightAttribute);
/******************************************************************************
** **
** FrontFacing Direction Styles **
** **
*****************************************************************************/
#endif /* CALL_NOT_IN_CARBON */
enum TQ3OrientationStyle {
kQ3OrientationStyleCounterClockwise = 0,
kQ3OrientationStyleClockwise = 1
};
typedef enum TQ3OrientationStyle TQ3OrientationStyle;
#if CALL_NOT_IN_CARBON
/*
* Q3OrientationStyle_New()
*
* Availability:
* Non-Carbon CFM: not available
* CarbonLib: not available
* Mac OS X: not available
*/
EXTERN_API_C( TQ3StyleObject )
Q3OrientationStyle_New(TQ3OrientationStyle frontFacingDirection);
/*
* Q3OrientationStyle_Submit()
*
* Availability:
* Non-Carbon CFM: not available
* CarbonLib: not available
* Mac OS X: not available
*/
EXTERN_API_C( TQ3Status )
Q3OrientationStyle_Submit(
TQ3OrientationStyle frontFacingDirection,
TQ3ViewObject view);
/*
* Q3OrientationStyle_Get()
*
* Availability:
* Non-Carbon CFM: not available
* CarbonLib: not available
* Mac OS X: not available
*/
EXTERN_API_C( TQ3Status )
Q3OrientationStyle_Get(
TQ3StyleObject frontFacingDirectionObject,
TQ3OrientationStyle * frontFacingDirection);
/*
* Q3OrientationStyle_Set()
*
* Availability:
* Non-Carbon CFM: not available
* CarbonLib: not available
* Mac OS X: not available
*/
EXTERN_API_C( TQ3Status )
Q3OrientationStyle_Set(
TQ3StyleObject frontFacingDirectionObject,
TQ3OrientationStyle frontFacingDirection);
/******************************************************************************
** **
** AntiAlias Style **
** **
*****************************************************************************/
#endif /* CALL_NOT_IN_CARBON */
enum TQ3AntiAliasModeMasks {
kQ3AntiAliasModeMaskEdges = 1 << 0,
kQ3AntiAliasModeMaskFilled = 1 << 1
};
typedef enum TQ3AntiAliasModeMasks TQ3AntiAliasModeMasks;
typedef unsigned long TQ3AntiAliasMode;
struct TQ3AntiAliasStyleData {
TQ3Switch state;
TQ3AntiAliasMode mode;
float quality;
};
typedef struct TQ3AntiAliasStyleData TQ3AntiAliasStyleData;
#if CALL_NOT_IN_CARBON
/*
* Q3AntiAliasStyle_New()
*
* Availability:
* Non-Carbon CFM: not available
* CarbonLib: not available
* Mac OS X: not available
*/
EXTERN_API_C( TQ3StyleObject )
Q3AntiAliasStyle_New(const TQ3AntiAliasStyleData * data);
/*
* Q3AntiAliasStyle_Submit()
*
* Availability:
* Non-Carbon CFM: not available
* CarbonLib: not available
* Mac OS X: not available
*/
EXTERN_API_C( TQ3Status )
Q3AntiAliasStyle_Submit(
const TQ3AntiAliasStyleData * data,
TQ3ViewObject view);
/*
* Q3AntiAliasStyle_GetData()
*
* Availability:
* Non-Carbon CFM: not available
* CarbonLib: not available
* Mac OS X: not available
*/
EXTERN_API_C( TQ3Status )
Q3AntiAliasStyle_GetData(
TQ3StyleObject styleObject,
TQ3AntiAliasStyleData * data);
/*
* Q3AntiAliasStyle_SetData()
*
* Availability:
* Non-Carbon CFM: not available
* CarbonLib: not available
* Mac OS X: not available
*/
EXTERN_API_C( TQ3Status )
Q3AntiAliasStyle_SetData(
TQ3StyleObject styleObject,
const TQ3AntiAliasStyleData * data);
/******************************************************************************
** **
** Fog Style **
** **
*****************************************************************************/
#endif /* CALL_NOT_IN_CARBON */
enum TQ3FogMode {
kQ3FogModeLinear = 0,
kQ3FogModeExponential = 1,
kQ3FogModeExponentialSquared = 2,
kQ3FogModeAlpha = 3
};
typedef enum TQ3FogMode TQ3FogMode;
struct TQ3FogStyleData {
TQ3Switch state;
TQ3FogMode mode;
float fogStart;
float fogEnd;
float density;
TQ3ColorARGB color;
};
typedef struct TQ3FogStyleData TQ3FogStyleData;
#if CALL_NOT_IN_CARBON
/*
* Q3FogStyle_New()
*
* Availability:
* Non-Carbon CFM: not available
* CarbonLib: not available
* Mac OS X: not available
*/
EXTERN_API_C( TQ3StyleObject )
Q3FogStyle_New(const TQ3FogStyleData * data);
/*
* Q3FogStyle_Submit()
*
* Availability:
* Non-Carbon CFM: not available
* CarbonLib: not available
* Mac OS X: not available
*/
EXTERN_API_C( TQ3Status )
Q3FogStyle_Submit(
const TQ3FogStyleData * data,
TQ3ViewObject view);
/*
* Q3FogStyle_GetData()
*
* Availability:
* Non-Carbon CFM: not available
* CarbonLib: not available
* Mac OS X: not available
*/
EXTERN_API_C( TQ3Status )
Q3FogStyle_GetData(
TQ3StyleObject styleObject,
TQ3FogStyleData * data);
/*
* Q3FogStyle_SetData()
*
* Availability:
* Non-Carbon CFM: not available
* CarbonLib: not available
* Mac OS X: not available
*/
EXTERN_API_C( TQ3Status )
Q3FogStyle_SetData(
TQ3StyleObject styleObject,
const TQ3FogStyleData * data);
#endif /* CALL_NOT_IN_CARBON */
#if PRAGMA_ENUM_ALWAYSINT
#pragma enumsalwaysint reset
#ifdef __QD3DSTYLE__RESTORE_TWOBYTEINTS
#pragma fourbyteints off
#endif
#elif PRAGMA_ENUM_OPTIONS
#pragma option enum=reset
#elif defined(__QD3DSTYLE__RESTORE_PACKED_ENUMS)
#pragma options(pack_enums)
#endif
#if PRAGMA_STRUCT_ALIGN
#pragma options align=reset
#elif PRAGMA_STRUCT_PACKPUSH
#pragma pack(pop)
#elif PRAGMA_STRUCT_PACK
#pragma pack()
#endif
#ifdef PRAGMA_IMPORT_OFF
#pragma import off
#elif PRAGMA_IMPORT
#pragma import reset
#endif
#ifdef __cplusplus
}
#endif
#endif /* __QD3DSTYLE__ */