summaryrefslogtreecommitdiff
path: root/common/quicktime_win32/QD3DLight.h
diff options
context:
space:
mode:
authorFluorescentCIAAfricanAmerican <[email protected]>2020-04-22 12:56:21 -0400
committerFluorescentCIAAfricanAmerican <[email protected]>2020-04-22 12:56:21 -0400
commit3bf9df6b2785fa6d951086978a3e66f49427166a (patch)
tree2c0f1f0c63c4832882bc93814ebd2c2b1c6224e5 /common/quicktime_win32/QD3DLight.h
downloadarchived-source-engine-2018-hl2-src-master.tar.xz
archived-source-engine-2018-hl2-src-master.zip
Diffstat (limited to 'common/quicktime_win32/QD3DLight.h')
-rw-r--r--common/quicktime_win32/QD3DLight.h810
1 files changed, 810 insertions, 0 deletions
diff --git a/common/quicktime_win32/QD3DLight.h b/common/quicktime_win32/QD3DLight.h
new file mode 100644
index 0000000..e94d385
--- /dev/null
+++ b/common/quicktime_win32/QD3DLight.h
@@ -0,0 +1,810 @@
+/*
+ File: QD3DLight.h
+
+ Contains: Generic light 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 __QD3DLIGHT__
+#define __QD3DLIGHT__
+
+#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 __QD3DLIGHT__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 __QD3DLIGHT__RESTORE_PACKED_ENUMS
+ #pragma options(!pack_enums)
+ #endif
+#endif
+
+/******************************************************************************
+ ** **
+ ** Enum Definitions **
+ ** **
+ *****************************************************************************/
+enum TQ3AttenuationType {
+ kQ3AttenuationTypeNone = 0,
+ kQ3AttenuationTypeInverseDistance = 1,
+ kQ3AttenuationTypeInverseDistanceSquared = 2
+};
+typedef enum TQ3AttenuationType TQ3AttenuationType;
+
+
+enum TQ3FallOffType {
+ kQ3FallOffTypeNone = 0,
+ kQ3FallOffTypeLinear = 1,
+ kQ3FallOffTypeExponential = 2,
+ kQ3FallOffTypeCosine = 3
+};
+typedef enum TQ3FallOffType TQ3FallOffType;
+
+
+/******************************************************************************
+ ** **
+ ** Data Structure Definitions **
+ ** **
+ *****************************************************************************/
+struct TQ3LightData {
+ TQ3Boolean isOn;
+ float brightness;
+ TQ3ColorRGB color;
+};
+typedef struct TQ3LightData TQ3LightData;
+struct TQ3DirectionalLightData {
+ TQ3LightData lightData;
+ TQ3Boolean castsShadows;
+ TQ3Vector3D direction;
+};
+typedef struct TQ3DirectionalLightData TQ3DirectionalLightData;
+struct TQ3PointLightData {
+ TQ3LightData lightData;
+ TQ3Boolean castsShadows;
+ TQ3AttenuationType attenuation;
+ TQ3Point3D location;
+};
+typedef struct TQ3PointLightData TQ3PointLightData;
+struct TQ3SpotLightData {
+ TQ3LightData lightData;
+ TQ3Boolean castsShadows;
+ TQ3AttenuationType attenuation;
+ TQ3Point3D location;
+ TQ3Vector3D direction;
+ float hotAngle;
+ float outerAngle;
+ TQ3FallOffType fallOff;
+};
+typedef struct TQ3SpotLightData TQ3SpotLightData;
+/******************************************************************************
+ ** **
+ ** Light routines (apply to all TQ3LightObjects) **
+ ** **
+ *****************************************************************************/
+#if CALL_NOT_IN_CARBON
+/*
+ * Q3Light_GetType()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3ObjectType )
+Q3Light_GetType(TQ3LightObject light);
+
+
+/*
+ * Q3Light_GetState()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3Light_GetState(
+ TQ3LightObject light,
+ TQ3Boolean * isOn);
+
+
+/*
+ * Q3Light_GetBrightness()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3Light_GetBrightness(
+ TQ3LightObject light,
+ float * brightness);
+
+
+/*
+ * Q3Light_GetColor()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3Light_GetColor(
+ TQ3LightObject light,
+ TQ3ColorRGB * color);
+
+
+/*
+ * Q3Light_SetState()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3Light_SetState(
+ TQ3LightObject light,
+ TQ3Boolean isOn);
+
+
+/*
+ * Q3Light_SetBrightness()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3Light_SetBrightness(
+ TQ3LightObject light,
+ float brightness);
+
+
+/*
+ * Q3Light_SetColor()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3Light_SetColor(
+ TQ3LightObject light,
+ const TQ3ColorRGB * color);
+
+
+/*
+ * Q3Light_GetData()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3Light_GetData(
+ TQ3LightObject light,
+ TQ3LightData * lightData);
+
+
+/*
+ * Q3Light_SetData()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3Light_SetData(
+ TQ3LightObject light,
+ const TQ3LightData * lightData);
+
+
+
+/******************************************************************************
+ ** **
+ ** Specific Light Routines **
+ ** **
+ *****************************************************************************/
+/******************************************************************************
+ ** **
+ ** Ambient Light **
+ ** **
+ *****************************************************************************/
+/*
+ * Q3AmbientLight_New()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3LightObject )
+Q3AmbientLight_New(const TQ3LightData * lightData);
+
+
+/*
+ * Q3AmbientLight_GetData()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3AmbientLight_GetData(
+ TQ3LightObject light,
+ TQ3LightData * lightData);
+
+
+/*
+ * Q3AmbientLight_SetData()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3AmbientLight_SetData(
+ TQ3LightObject light,
+ const TQ3LightData * lightData);
+
+
+
+/******************************************************************************
+ ** **
+ ** Directional Light **
+ ** **
+ *****************************************************************************/
+/*
+ * Q3DirectionalLight_New()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3LightObject )
+Q3DirectionalLight_New(const TQ3DirectionalLightData * directionalLightData);
+
+
+/*
+ * Q3DirectionalLight_GetCastShadowsState()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3DirectionalLight_GetCastShadowsState(
+ TQ3LightObject light,
+ TQ3Boolean * castsShadows);
+
+
+/*
+ * Q3DirectionalLight_GetDirection()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3DirectionalLight_GetDirection(
+ TQ3LightObject light,
+ TQ3Vector3D * direction);
+
+
+/*
+ * Q3DirectionalLight_SetCastShadowsState()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3DirectionalLight_SetCastShadowsState(
+ TQ3LightObject light,
+ TQ3Boolean castsShadows);
+
+
+/*
+ * Q3DirectionalLight_SetDirection()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3DirectionalLight_SetDirection(
+ TQ3LightObject light,
+ const TQ3Vector3D * direction);
+
+
+/*
+ * Q3DirectionalLight_GetData()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3DirectionalLight_GetData(
+ TQ3LightObject light,
+ TQ3DirectionalLightData * directionalLightData);
+
+
+/*
+ * Q3DirectionalLight_SetData()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3DirectionalLight_SetData(
+ TQ3LightObject light,
+ const TQ3DirectionalLightData * directionalLightData);
+
+
+
+/******************************************************************************
+ ** **
+ ** Point Light **
+ ** **
+ *****************************************************************************/
+/*
+ * Q3PointLight_New()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3LightObject )
+Q3PointLight_New(const TQ3PointLightData * pointLightData);
+
+
+/*
+ * Q3PointLight_GetCastShadowsState()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3PointLight_GetCastShadowsState(
+ TQ3LightObject light,
+ TQ3Boolean * castsShadows);
+
+
+/*
+ * Q3PointLight_GetAttenuation()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3PointLight_GetAttenuation(
+ TQ3LightObject light,
+ TQ3AttenuationType * attenuation);
+
+
+/*
+ * Q3PointLight_GetLocation()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3PointLight_GetLocation(
+ TQ3LightObject light,
+ TQ3Point3D * location);
+
+
+/*
+ * Q3PointLight_GetData()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3PointLight_GetData(
+ TQ3LightObject light,
+ TQ3PointLightData * pointLightData);
+
+
+/*
+ * Q3PointLight_SetCastShadowsState()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3PointLight_SetCastShadowsState(
+ TQ3LightObject light,
+ TQ3Boolean castsShadows);
+
+
+/*
+ * Q3PointLight_SetAttenuation()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3PointLight_SetAttenuation(
+ TQ3LightObject light,
+ TQ3AttenuationType attenuation);
+
+
+/*
+ * Q3PointLight_SetLocation()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3PointLight_SetLocation(
+ TQ3LightObject light,
+ const TQ3Point3D * location);
+
+
+/*
+ * Q3PointLight_SetData()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3PointLight_SetData(
+ TQ3LightObject light,
+ const TQ3PointLightData * pointLightData);
+
+
+
+/******************************************************************************
+ ** **
+ ** Spot Light **
+ ** **
+ *****************************************************************************/
+/*
+ * Q3SpotLight_New()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3LightObject )
+Q3SpotLight_New(const TQ3SpotLightData * spotLightData);
+
+
+/*
+ * Q3SpotLight_GetCastShadowsState()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3SpotLight_GetCastShadowsState(
+ TQ3LightObject light,
+ TQ3Boolean * castsShadows);
+
+
+/*
+ * Q3SpotLight_GetAttenuation()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3SpotLight_GetAttenuation(
+ TQ3LightObject light,
+ TQ3AttenuationType * attenuation);
+
+
+/*
+ * Q3SpotLight_GetLocation()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3SpotLight_GetLocation(
+ TQ3LightObject light,
+ TQ3Point3D * location);
+
+
+/*
+ * Q3SpotLight_GetDirection()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3SpotLight_GetDirection(
+ TQ3LightObject light,
+ TQ3Vector3D * direction);
+
+
+/*
+ * Q3SpotLight_GetHotAngle()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3SpotLight_GetHotAngle(
+ TQ3LightObject light,
+ float * hotAngle);
+
+
+/*
+ * Q3SpotLight_GetOuterAngle()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3SpotLight_GetOuterAngle(
+ TQ3LightObject light,
+ float * outerAngle);
+
+
+/*
+ * Q3SpotLight_GetFallOff()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3SpotLight_GetFallOff(
+ TQ3LightObject light,
+ TQ3FallOffType * fallOff);
+
+
+/*
+ * Q3SpotLight_GetData()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3SpotLight_GetData(
+ TQ3LightObject light,
+ TQ3SpotLightData * spotLightData);
+
+
+/*
+ * Q3SpotLight_SetCastShadowsState()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3SpotLight_SetCastShadowsState(
+ TQ3LightObject light,
+ TQ3Boolean castsShadows);
+
+
+/*
+ * Q3SpotLight_SetAttenuation()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3SpotLight_SetAttenuation(
+ TQ3LightObject light,
+ TQ3AttenuationType attenuation);
+
+
+/*
+ * Q3SpotLight_SetLocation()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3SpotLight_SetLocation(
+ TQ3LightObject light,
+ const TQ3Point3D * location);
+
+
+/*
+ * Q3SpotLight_SetDirection()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3SpotLight_SetDirection(
+ TQ3LightObject light,
+ const TQ3Vector3D * direction);
+
+
+/*
+ * Q3SpotLight_SetHotAngle()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3SpotLight_SetHotAngle(
+ TQ3LightObject light,
+ float hotAngle);
+
+
+/*
+ * Q3SpotLight_SetOuterAngle()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3SpotLight_SetOuterAngle(
+ TQ3LightObject light,
+ float outerAngle);
+
+
+/*
+ * Q3SpotLight_SetFallOff()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3SpotLight_SetFallOff(
+ TQ3LightObject light,
+ TQ3FallOffType fallOff);
+
+
+/*
+ * Q3SpotLight_SetData()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3SpotLight_SetData(
+ TQ3LightObject light,
+ const TQ3SpotLightData * spotLightData);
+
+
+
+
+
+#endif /* CALL_NOT_IN_CARBON */
+
+
+#if PRAGMA_ENUM_ALWAYSINT
+ #pragma enumsalwaysint reset
+ #ifdef __QD3DLIGHT__RESTORE_TWOBYTEINTS
+ #pragma fourbyteints off
+ #endif
+#elif PRAGMA_ENUM_OPTIONS
+ #pragma option enum=reset
+#elif defined(__QD3DLIGHT__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 /* __QD3DLIGHT__ */
+