Team Fortress 2 Source Code as on 22/4/2020
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.

344 lines
8.0 KiB

  1. /*
  2. File: CGImage.h
  3. Contains: CoreGraphics images
  4. Version: QuickTime 7.3
  5. Copyright: (c) 2007 (c) 2000-2001 by Apple Computer, Inc., all rights reserved.
  6. Bugs?: For bug reports, consult the following page on
  7. the World Wide Web:
  8. http://developer.apple.com/bugreporter/
  9. */
  10. #ifndef CGIMAGE_H_
  11. #define CGIMAGE_H_
  12. #ifndef __CGBASE__
  13. #include <CGBase.h>
  14. #endif
  15. #ifndef __CGCOLORSPACE__
  16. #include <CGColorSpace.h>
  17. #endif
  18. #ifndef __CGDATAPROVIDER__
  19. #include <CGDataProvider.h>
  20. #endif
  21. #if PRAGMA_ONCE
  22. #pragma once
  23. #endif
  24. #ifdef __cplusplus
  25. extern "C" {
  26. #endif
  27. #if PRAGMA_IMPORT
  28. #pragma import on
  29. #endif
  30. #if PRAGMA_ENUM_ALWAYSINT
  31. #if defined(__fourbyteints__) && !__fourbyteints__
  32. #define __CGIMAGE__RESTORE_TWOBYTEINTS
  33. #pragma fourbyteints on
  34. #endif
  35. #pragma enumsalwaysint on
  36. #elif PRAGMA_ENUM_OPTIONS
  37. #pragma option enum=int
  38. #elif PRAGMA_ENUM_PACK
  39. #if __option(pack_enums)
  40. #define __CGIMAGE__RESTORE_PACKED_ENUMS
  41. #pragma options(!pack_enums)
  42. #endif
  43. #endif
  44. typedef struct CGImage* CGImageRef;
  45. enum CGImageAlphaInfo {
  46. kCGImageAlphaNone = 0,
  47. kCGImageAlphaPremultipliedLast = 1, /* For example, premultiplied RGBA */
  48. kCGImageAlphaPremultipliedFirst = 2, /* For example, premultiplied ARGB */
  49. kCGImageAlphaLast = 3, /* For example, non-premultiplied RGBA */
  50. kCGImageAlphaFirst = 4, /* For example, non-premultiplied ARGB */
  51. kCGImageAlphaNoneSkipLast = 5, /* Equivalent to kCGImageAlphaNone. */
  52. kCGImageAlphaNoneSkipFirst = 6
  53. };
  54. typedef enum CGImageAlphaInfo CGImageAlphaInfo;
  55. /* Create an image. */
  56. /*
  57. * CGImageCreate()
  58. *
  59. * Availability:
  60. * Non-Carbon CFM: not available
  61. * CarbonLib: not available
  62. * Mac OS X: in version 10.0 and later
  63. */
  64. EXTERN_API_C( CGImageRef )
  65. CGImageCreate(
  66. size_t width,
  67. size_t height,
  68. size_t bitsPerComponent,
  69. size_t bitsPerPixel,
  70. size_t bytesPerRow,
  71. CGColorSpaceRef colorspace,
  72. CGImageAlphaInfo alphaInfo,
  73. CGDataProviderRef provider,
  74. const float decode[],
  75. int shouldInterpolate,
  76. CGColorRenderingIntent intent);
  77. /* Create an image mask. */
  78. /*
  79. * CGImageMaskCreate()
  80. *
  81. * Availability:
  82. * Non-Carbon CFM: not available
  83. * CarbonLib: not available
  84. * Mac OS X: in version 10.0 and later
  85. */
  86. EXTERN_API_C( CGImageRef )
  87. CGImageMaskCreate(
  88. size_t width,
  89. size_t height,
  90. size_t bitsPerComponent,
  91. size_t bitsPerPixel,
  92. size_t bytesPerRow,
  93. CGDataProviderRef provider,
  94. const float decode[],
  95. int shouldInterpolate);
  96. /* Create an image from `source', a data provider of JPEG-encoded data. */
  97. /*
  98. * CGImageCreateWithJPEGDataProvider()
  99. *
  100. * Availability:
  101. * Non-Carbon CFM: not available
  102. * CarbonLib: not available
  103. * Mac OS X: in version 10.1 and later
  104. */
  105. EXTERN_API_C( CGImageRef )
  106. CGImageCreateWithJPEGDataProvider(
  107. CGDataProviderRef source,
  108. const float decode[],
  109. int shouldInterpolate,
  110. CGColorRenderingIntent intent);
  111. /* Increment the retain count of `image' and return it. All images are
  112. * created with an initial retain count of 1. */
  113. /*
  114. * CGImageRetain()
  115. *
  116. * Availability:
  117. * Non-Carbon CFM: not available
  118. * CarbonLib: not available
  119. * Mac OS X: in version 10.0 and later
  120. */
  121. EXTERN_API_C( CGImageRef )
  122. CGImageRetain(CGImageRef image);
  123. /* Decrement the retain count of `image'. If the retain count reaches 0,
  124. * then release it and any associated resources. */
  125. /*
  126. * CGImageRelease()
  127. *
  128. * Availability:
  129. * Non-Carbon CFM: not available
  130. * CarbonLib: not available
  131. * Mac OS X: in version 10.0 and later
  132. */
  133. EXTERN_API_C( void )
  134. CGImageRelease(CGImageRef image);
  135. /* Return 1 if `image' is an image mask, 0 otherwise. */
  136. /*
  137. * CGImageIsMask()
  138. *
  139. * Availability:
  140. * Non-Carbon CFM: not available
  141. * CarbonLib: not available
  142. * Mac OS X: in version 10.0 and later
  143. */
  144. EXTERN_API_C( int )
  145. CGImageIsMask(CGImageRef image);
  146. /* Return the width of `image'. */
  147. /*
  148. * CGImageGetWidth()
  149. *
  150. * Availability:
  151. * Non-Carbon CFM: not available
  152. * CarbonLib: not available
  153. * Mac OS X: in version 10.0 and later
  154. */
  155. EXTERN_API_C( size_t )
  156. CGImageGetWidth(CGImageRef image);
  157. /* Return the height of `image'. */
  158. /*
  159. * CGImageGetHeight()
  160. *
  161. * Availability:
  162. * Non-Carbon CFM: not available
  163. * CarbonLib: not available
  164. * Mac OS X: in version 10.0 and later
  165. */
  166. EXTERN_API_C( size_t )
  167. CGImageGetHeight(CGImageRef image);
  168. /* Return the number of bits/component of `image'. */
  169. /*
  170. * CGImageGetBitsPerComponent()
  171. *
  172. * Availability:
  173. * Non-Carbon CFM: not available
  174. * CarbonLib: not available
  175. * Mac OS X: in version 10.0 and later
  176. */
  177. EXTERN_API_C( size_t )
  178. CGImageGetBitsPerComponent(CGImageRef image);
  179. /* Return the number of bits/pixel of `image'. */
  180. /*
  181. * CGImageGetBitsPerPixel()
  182. *
  183. * Availability:
  184. * Non-Carbon CFM: not available
  185. * CarbonLib: not available
  186. * Mac OS X: in version 10.0 and later
  187. */
  188. EXTERN_API_C( size_t )
  189. CGImageGetBitsPerPixel(CGImageRef image);
  190. /* Return the number of bytes/row of `image'. */
  191. /*
  192. * CGImageGetBytesPerRow()
  193. *
  194. * Availability:
  195. * Non-Carbon CFM: not available
  196. * CarbonLib: not available
  197. * Mac OS X: in version 10.0 and later
  198. */
  199. EXTERN_API_C( size_t )
  200. CGImageGetBytesPerRow(CGImageRef image);
  201. /* Return the colorspace of `image', or NULL if `image' is an image
  202. * mask. */
  203. /*
  204. * CGImageGetColorSpace()
  205. *
  206. * Availability:
  207. * Non-Carbon CFM: not available
  208. * CarbonLib: not available
  209. * Mac OS X: in version 10.0 and later
  210. */
  211. EXTERN_API_C( CGColorSpaceRef )
  212. CGImageGetColorSpace(CGImageRef image);
  213. /* Return the alpha info of `image'. */
  214. /*
  215. * CGImageGetAlphaInfo()
  216. *
  217. * Availability:
  218. * Non-Carbon CFM: not available
  219. * CarbonLib: not available
  220. * Mac OS X: in version 10.0 and later
  221. */
  222. EXTERN_API_C( CGImageAlphaInfo )
  223. CGImageGetAlphaInfo(CGImageRef image);
  224. /*Return the data provider of `image'. */
  225. /*
  226. * CGImageGetDataProvider()
  227. *
  228. * Availability:
  229. * Non-Carbon CFM: not available
  230. * CarbonLib: not available
  231. * Mac OS X: in version 10.0 and later
  232. */
  233. EXTERN_API_C( CGDataProviderRef )
  234. CGImageGetDataProvider(CGImageRef image);
  235. /* Return the decode array of `image'. */
  236. /*
  237. * CGImageGetDecode()
  238. *
  239. * Availability:
  240. * Non-Carbon CFM: not available
  241. * CarbonLib: not available
  242. * Mac OS X: in version 10.0 and later
  243. */
  244. EXTERN_API_C( const float * )
  245. CGImageGetDecode(CGImageRef image);
  246. /* Return the interpolation parameter of `image'. */
  247. /*
  248. * CGImageGetShouldInterpolate()
  249. *
  250. * Availability:
  251. * Non-Carbon CFM: not available
  252. * CarbonLib: not available
  253. * Mac OS X: in version 10.0 and later
  254. */
  255. EXTERN_API_C( int )
  256. CGImageGetShouldInterpolate(CGImageRef image);
  257. /* Return the rendering intent of `image'. */
  258. /*
  259. * CGImageGetRenderingIntent()
  260. *
  261. * Availability:
  262. * Non-Carbon CFM: not available
  263. * CarbonLib: not available
  264. * Mac OS X: in version 10.0 and later
  265. */
  266. EXTERN_API_C( CGColorRenderingIntent )
  267. CGImageGetRenderingIntent(CGImageRef image);
  268. #if PRAGMA_ENUM_ALWAYSINT
  269. #pragma enumsalwaysint reset
  270. #ifdef __CGIMAGE__RESTORE_TWOBYTEINTS
  271. #pragma fourbyteints off
  272. #endif
  273. #elif PRAGMA_ENUM_OPTIONS
  274. #pragma option enum=reset
  275. #elif defined(__CGIMAGE__RESTORE_PACKED_ENUMS)
  276. #pragma options(pack_enums)
  277. #endif
  278. #ifdef PRAGMA_IMPORT_OFF
  279. #pragma import off
  280. #elif PRAGMA_IMPORT
  281. #pragma import reset
  282. #endif
  283. #ifdef __cplusplus
  284. }
  285. #endif
  286. #endif /* CGIMAGE_H_ */