Untitled


SUBMITTED BY: Guest

DATE: Nov. 25, 2014, 7:19 a.m.

FORMAT: Text only

SIZE: 2.6 kB

HITS: 48482

  1. /* CoreGraphics - CGDataConsumer.h
  2. * Copyright (c) 1999-2008 Apple Inc.
  3. * All rights reserved. */
  4. #ifndef CGDATACONSUMER_H_
  5. #define CGDATACONSUMER_H_
  6. typedef struct CGDataConsumer *CGDataConsumerRef;
  7. #include <CoreGraphics/CGBase.h>
  8. #include <CoreFoundation/CFURL.h>
  9. CF_IMPLICIT_BRIDGING_ENABLED
  10. /* This callback is called to copy `count' bytes from `buffer' to the data
  11. consumer. */
  12. typedef size_t (*CGDataConsumerPutBytesCallback)(void *info,
  13. const void *buffer, size_t count);
  14. /* This callback is called to release the `info' pointer when the data
  15. provider is freed. */
  16. typedef void (*CGDataConsumerReleaseInfoCallback)(void *info);
  17. /* Callbacks for writing data.
  18. `putBytes' copies `count' bytes from `buffer' to the consumer, and
  19. returns the number of bytes copied. It should return 0 if no more data
  20. can be written to the consumer.
  21. `releaseConsumer', if non-NULL, is called when the consumer is freed. */
  22. struct CGDataConsumerCallbacks {
  23. CGDataConsumerPutBytesCallback putBytes;
  24. CGDataConsumerReleaseInfoCallback releaseConsumer;
  25. };
  26. typedef struct CGDataConsumerCallbacks CGDataConsumerCallbacks;
  27. /* Return the CFTypeID for CGDataConsumerRefs. */
  28. CG_EXTERN CFTypeID CGDataConsumerGetTypeID(void)
  29. CG_AVAILABLE_STARTING(__MAC_10_2, __IPHONE_2_0);
  30. /* Create a data consumer using `callbacks' to handle the data. `info' is
  31. passed to each of the callback functions. */
  32. CG_EXTERN CGDataConsumerRef CGDataConsumerCreate(void *info,
  33. const CGDataConsumerCallbacks *callbacks)
  34. CG_AVAILABLE_STARTING(__MAC_10_0, __IPHONE_2_0);
  35. /* Create a data consumer which writes data to `url'. */
  36. CG_EXTERN CGDataConsumerRef CGDataConsumerCreateWithURL(CFURLRef url)
  37. CG_AVAILABLE_STARTING(__MAC_10_0, __IPHONE_2_0);
  38. /* Create a data consumer which writes to `data'. */
  39. CG_EXTERN CGDataConsumerRef CGDataConsumerCreateWithCFData(CFMutableDataRef
  40. data) CG_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_2_0);
  41. /* Equivalent to `CFRetain(consumer)'. */
  42. CG_EXTERN CGDataConsumerRef CGDataConsumerRetain(CGDataConsumerRef consumer)
  43. CG_AVAILABLE_STARTING(__MAC_10_0, __IPHONE_2_0);
  44. /* Equivalent to `CFRelease(consumer)'. */
  45. CG_EXTERN void CGDataConsumerRelease(CGDataConsumerRef consumer)
  46. CG_AVAILABLE_STARTING(__MAC_10_0, __IPHONE_2_0);
  47. CF_IMPLICIT_BRIDGING_DISABLED
  48. #endif /* CGDATACONSUMER_H_ */

comments powered by Disqus