diff options
| author | FluorescentCIAAfricanAmerican <[email protected]> | 2020-04-22 12:56:21 -0400 |
|---|---|---|
| committer | FluorescentCIAAfricanAmerican <[email protected]> | 2020-04-22 12:56:21 -0400 |
| commit | 3bf9df6b2785fa6d951086978a3e66f49427166a (patch) | |
| tree | 2c0f1f0c63c4832882bc93814ebd2c2b1c6224e5 /common/quicktime_win32/CGColorSpace.h | |
| download | archived-source-engine-2018-hl2-src-master.tar.xz archived-source-engine-2018-hl2-src-master.zip | |
Diffstat (limited to 'common/quicktime_win32/CGColorSpace.h')
| -rw-r--r-- | common/quicktime_win32/CGColorSpace.h | 328 |
1 files changed, 328 insertions, 0 deletions
diff --git a/common/quicktime_win32/CGColorSpace.h b/common/quicktime_win32/CGColorSpace.h new file mode 100644 index 0000000..08f5900 --- /dev/null +++ b/common/quicktime_win32/CGColorSpace.h @@ -0,0 +1,328 @@ +/* + File: CGColorSpace.h + + Contains: CoreGraphics color space + + Version: QuickTime 7.3 + + Copyright: (c) 2007 (c) 2000-2001 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 CGCOLORSPACE_H_ +#define CGCOLORSPACE_H_ + +#ifndef __CGBASE__ +#include <CGBase.h> +#endif + +#ifndef __CGDATAPROVIDER__ +#include <CGDataProvider.h> +#endif + + + + +#if PRAGMA_ONCE +#pragma once +#endif + +#ifdef __cplusplus +extern "C" { +#endif + +#if PRAGMA_IMPORT +#pragma import on +#endif + +#if PRAGMA_ENUM_ALWAYSINT + #if defined(__fourbyteints__) && !__fourbyteints__ + #define __CGCOLORSPACE__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 __CGCOLORSPACE__RESTORE_PACKED_ENUMS + #pragma options(!pack_enums) + #endif +#endif + +typedef struct CGColorSpace* CGColorSpaceRef; +enum CGColorRenderingIntent { + kCGRenderingIntentDefault = 0, + kCGRenderingIntentAbsoluteColorimetric = 1, + kCGRenderingIntentRelativeColorimetric = 2, + kCGRenderingIntentPerceptual = 3, + kCGRenderingIntentSaturation = 4 +}; +typedef enum CGColorRenderingIntent CGColorRenderingIntent; + + +/** Device-dependent color spaces. **/ +/* Create a DeviceGray colorspace. */ +/* + * CGColorSpaceCreateDeviceGray() + * + * Availability: + * Non-Carbon CFM: not available + * CarbonLib: not available + * Mac OS X: in version 10.0 and later + */ +EXTERN_API_C( CGColorSpaceRef ) +CGColorSpaceCreateDeviceGray(void); + + +/* Create a DeviceRGB colorspace. */ +/* + * CGColorSpaceCreateDeviceRGB() + * + * Availability: + * Non-Carbon CFM: not available + * CarbonLib: not available + * Mac OS X: in version 10.0 and later + */ +EXTERN_API_C( CGColorSpaceRef ) +CGColorSpaceCreateDeviceRGB(void); + + +/* Create a DeviceCMYK colorspace. */ +/* + * CGColorSpaceCreateDeviceCMYK() + * + * Availability: + * Non-Carbon CFM: not available + * CarbonLib: not available + * Mac OS X: in version 10.0 and later + */ +EXTERN_API_C( CGColorSpaceRef ) +CGColorSpaceCreateDeviceCMYK(void); + + +/** Device-independent color spaces. **/ +/* Create a calibrated gray colorspace. `whitePoint' is an array of 3 + * numbers specifying the tristimulus value, in the CIE 1931 XYZ-space, of + * the diffuse white point. `blackPoint' is an array of 3 numbers + * specifying the tristimulus value, in CIE 1931 XYZ-space, of the diffuse + * black point. `gamma' defines the gamma for the gray component. */ +/* + * CGColorSpaceCreateCalibratedGray() + * + * Availability: + * Non-Carbon CFM: not available + * CarbonLib: not available + * Mac OS X: in version 10.0 and later + */ +EXTERN_API_C( CGColorSpaceRef ) +CGColorSpaceCreateCalibratedGray( + const float whitePoint[3], + const float blackPoint[3], + float gamma); + + +/* Create a calibrated RGB colorspace. `whitePoint' is an array of 3 + * numbers specifying the tristimulus value, in the CIE 1931 XYZ-space, of + * the diffuse white point. `blackPoint' is an array of 3 numbers + * specifying the tristimulus value, in CIE 1931 XYZ-space, of the diffuse + * black point. `gamma' is an array of 3 numbers specifying the gamma for + * the red, green, and blue components of the color space. `matrix' is an + * array of 9 numbers specifying the linear interpretation of the + * gamma-modified RGB values of the colorspace with respect to the final + * XYZ representation. */ +/* + * CGColorSpaceCreateCalibratedRGB() + * + * Availability: + * Non-Carbon CFM: not available + * CarbonLib: not available + * Mac OS X: in version 10.0 and later + */ +EXTERN_API_C( CGColorSpaceRef ) +CGColorSpaceCreateCalibratedRGB( + const float whitePoint[3], + const float blackPoint[3], + const float gamma[3], + const float matrix[9]); + + +/* Create an L*a*b* colorspace. `whitePoint' is an array of 3 numbers + * specifying the tristimulus value, in the CIE 1931 XYZ-space, of the + * diffuse white point. `blackPoint' is an array of 3 numbers specifying + * the tristimulus value, in CIE 1931 XYZ-space, of the diffuse black + * point. `range' is an array of four numbers specifying the range of valid + * values for the a* and b* components of the color space. */ +/* + * CGColorSpaceCreateLab() + * + * Availability: + * Non-Carbon CFM: not available + * CarbonLib: not available + * Mac OS X: in version 10.0 and later + */ +EXTERN_API_C( CGColorSpaceRef ) +CGColorSpaceCreateLab( + const float whitePoint[3], + const float blackPoint[3], + const float range[4]); + + +/* Create an ICC-based colorspace. `nComponents' specifies the number of + * color components in the color space defined by the ICC profile data. + * This must match the number of components actually in the ICC profile, + * and must be 1, 3, or 4. `range' is an array of 2*nComponents numbers + * specifying the minimum and maximum valid values of the corresponding + * color components, so that for color component k, range[2*k] <= c[k] <= + * range[2*k+1], where c[k] is the k'th color component. `profile' is a + * data provider specifying the ICC profile. `alternate' specifies an + * alternate colorspace to be used in case the ICC profile is not + * supported. It must have `nComponents' color components. If `alternate' + * is NULL, then the color space used will be DeviceGray, DeviceRGB, or + * DeviceCMYK, depending on whether `nComponents' is 1, 3, or 4, + * respectively. */ +/* + * CGColorSpaceCreateICCBased() + * + * Availability: + * Non-Carbon CFM: not available + * CarbonLib: not available + * Mac OS X: in version 10.0 and later + */ +EXTERN_API_C( CGColorSpaceRef ) +CGColorSpaceCreateICCBased( + size_t nComponents, + const float * range, + CGDataProviderRef profile, + CGColorSpaceRef alternateSpace); + + +/** Special colorspaces. **/ +/* Create an indexed colorspace. A sample value in an indexed color space + * is treated as an index into the color table of the color space. `base' + * specifies the base color space in which the values in the color table + * are to be interpreted. `lastIndex' is an integer which specifies the + * maximum valid index value; it must be less than or equal to 255. + * `colorTable' is an array of m * (lastIndex + 1) bytes, where m is + * the number of color components in the base color space. Each byte + * is an unsigned integer in the range 0 to 255 that is scaled to the + * range of the corresponding color component in the base color space. */ +/* + * CGColorSpaceCreateIndexed() + * + * Availability: + * Non-Carbon CFM: not available + * CarbonLib: not available + * Mac OS X: in version 10.0 and later + */ +EXTERN_API_C( CGColorSpaceRef ) +CGColorSpaceCreateIndexed( + CGColorSpaceRef baseSpace, + size_t lastIndex, + const unsigned char * colorTable); + + +/* Create a pattern colorspace. `baseSpace' is the underlying colorspace of + * the pattern colorspace. For colored patterns, `baseSpace' should be + * NULL; for uncolored patterns, `baseSpace' specifies the colorspace of + * colors which will be painted through the pattern. */ +/* + * CGColorSpaceCreatePattern() + * + * Availability: + * Non-Carbon CFM: not available + * CarbonLib: not available + * Mac OS X: in version 10.1 and later + */ +EXTERN_API_C( CGColorSpaceRef ) +CGColorSpaceCreatePattern(CGColorSpaceRef baseSpace); + + +/* Create a CGColorSpace using `platformColorSpaceReference', a pointer to + * a platform-specific color space reference. For MacOS X, + * `platformColorSpaceReference' should be a pointer to a CMProfileRef. */ +/* + * CGColorSpaceCreateWithPlatformColorSpace() + * + * Availability: + * Non-Carbon CFM: not available + * CarbonLib: not available + * Mac OS X: in version 10.1 and later + */ +EXTERN_API_C( CGColorSpaceRef ) +CGColorSpaceCreateWithPlatformColorSpace(void * platformColorSpaceReference); + + + +/** Colorspace information. **/ +/* Return the number of color components supported by the colorspace `cs'. */ +/* + * CGColorSpaceGetNumberOfComponents() + * + * Availability: + * Non-Carbon CFM: not available + * CarbonLib: not available + * Mac OS X: in version 10.0 and later + */ +EXTERN_API_C( size_t ) +CGColorSpaceGetNumberOfComponents(CGColorSpaceRef cs); + + +/** Retaining & releasing colorspaces. **/ +/* Increment the retain count of `cs' and return it. All colorspaces are + * created with an initial retain count of 1. */ +/* + * CGColorSpaceRetain() + * + * Availability: + * Non-Carbon CFM: not available + * CarbonLib: not available + * Mac OS X: in version 10.0 and later + */ +EXTERN_API_C( CGColorSpaceRef ) +CGColorSpaceRetain(CGColorSpaceRef cs); + + +/* Decrement the retain count of `cs'. If the retain count reaches 0, then + * release it and any associated resources. */ +/* + * CGColorSpaceRelease() + * + * Availability: + * Non-Carbon CFM: not available + * CarbonLib: not available + * Mac OS X: in version 10.0 and later + */ +EXTERN_API_C( void ) +CGColorSpaceRelease(CGColorSpaceRef cs); + + + +#if PRAGMA_ENUM_ALWAYSINT + #pragma enumsalwaysint reset + #ifdef __CGCOLORSPACE__RESTORE_TWOBYTEINTS + #pragma fourbyteints off + #endif +#elif PRAGMA_ENUM_OPTIONS + #pragma option enum=reset +#elif defined(__CGCOLORSPACE__RESTORE_PACKED_ENUMS) + #pragma options(pack_enums) +#endif + +#ifdef PRAGMA_IMPORT_OFF +#pragma import off +#elif PRAGMA_IMPORT +#pragma import reset +#endif + +#ifdef __cplusplus +} +#endif + +#endif /* CGCOLORSPACE_H_ */ + |