mirror of
https://github.com/nillerusr/source-engine.git
synced 2026-08-08 01:39:36 +00:00
1
This commit is contained in:
@@ -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_ */
|
||||
|
||||
Reference in New Issue
Block a user