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.
186 lines
4.7 KiB
186 lines
4.7 KiB
/* |
|
File: CGPattern.h |
|
|
|
Contains: CoreGraphics base types |
|
|
|
Version: QuickTime 7.3 |
|
|
|
Copyright: (c) 2007 (c) 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 CGPATTERN_H_ |
|
#define CGPATTERN_H_ |
|
|
|
#ifndef __CGBASE__ |
|
#include <CGBase.h> |
|
#endif |
|
|
|
#ifndef __CGCONTEXT__ |
|
#include <CGContext.h> |
|
#endif |
|
|
|
|
|
|
|
|
|
/* kCGPatternTilingNoDistortion: The pattern cell is not distorted when |
|
* painted, however the spacing between pattern cells may vary by as much |
|
* as 1 device pixel. |
|
* |
|
* kCGPatternTilingConstantSpacingMinimalDistortion: Pattern cells are |
|
* spaced consistently, however the pattern cell may be distorted by as |
|
* much as 1 device pixel when the pattern is painted. |
|
* |
|
* kCGPatternTilingConstantSpacing: Pattern cells are spaced consistently |
|
* as with kCGPatternTilingConstantSpacingMinimalDistortion, however the |
|
* pattern cell may be distorted additionally to permit a more efficient |
|
* implementation. */ |
|
|
|
|
|
#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=mac68k |
|
#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 __CGPATTERN__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 __CGPATTERN__RESTORE_PACKED_ENUMS |
|
#pragma options(!pack_enums) |
|
#endif |
|
#endif |
|
|
|
enum CGPatternTiling { |
|
kCGPatternTilingNoDistortion = 0, |
|
kCGPatternTilingConstantSpacingMinimalDistortion = 1, |
|
kCGPatternTilingConstantSpacing = 2 |
|
}; |
|
typedef enum CGPatternTiling CGPatternTiling; |
|
|
|
|
|
/* The drawing of the pattern is delegated to the callbacks. The callbacks |
|
* may be called one or many times to draw the pattern. |
|
* |
|
* `version' is the version number of the structure passed in as a |
|
* parameter to the CGPattern creation functions. The structure defined |
|
* below is version 0. |
|
* |
|
* `drawPattern' should draw the pattern in the context `c'. `info' is the |
|
* parameter originally passed to the CGPattern creation functions. |
|
* |
|
* `releaseInfo' is called when the pattern is deallocated. */ |
|
typedef CALLBACK_API_C( void , CGDrawPatternProcPtr )(void *info, CGContextRef c); |
|
typedef CALLBACK_API_C( void , CGReleaseInfoProcPtr )(void * info); |
|
struct CGPatternCallbacks { |
|
unsigned int version; |
|
CGDrawPatternProcPtr drawPattern; |
|
CGReleaseInfoProcPtr releaseInfo; |
|
}; |
|
typedef struct CGPatternCallbacks CGPatternCallbacks; |
|
/* Create a pattern. */ |
|
/* |
|
* CGPatternCreate() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: not available |
|
* CarbonLib: not available |
|
* Mac OS X: in version 10.1 and later |
|
*/ |
|
EXTERN_API_C( CGPatternRef ) |
|
CGPatternCreate( |
|
void * info, |
|
CGRect bounds, |
|
CGAffineTransform matrix, |
|
float xStep, |
|
float yStep, |
|
CGPatternTiling tiling, |
|
int isColored, |
|
const CGPatternCallbacks * callbacks); |
|
|
|
|
|
/* Increment the retain count of `pattern' and return it. All patterns are |
|
* created with an initial retain count of 1. */ |
|
/* |
|
* CGPatternRetain() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: not available |
|
* CarbonLib: not available |
|
* Mac OS X: in version 10.1 and later |
|
*/ |
|
EXTERN_API_C( CGPatternRef ) |
|
CGPatternRetain(CGPatternRef pattern); |
|
|
|
|
|
/* Decrement the retain count of `pattern'. If the retain count reaches 0, |
|
* then free it and release any associated resources. */ |
|
/* |
|
* CGPatternRelease() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: not available |
|
* CarbonLib: not available |
|
* Mac OS X: in version 10.1 and later |
|
*/ |
|
EXTERN_API_C( void ) |
|
CGPatternRelease(CGPatternRef pattern); |
|
|
|
|
|
|
|
#if PRAGMA_ENUM_ALWAYSINT |
|
#pragma enumsalwaysint reset |
|
#ifdef __CGPATTERN__RESTORE_TWOBYTEINTS |
|
#pragma fourbyteints off |
|
#endif |
|
#elif PRAGMA_ENUM_OPTIONS |
|
#pragma option enum=reset |
|
#elif defined(__CGPATTERN__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 /* CGPATTERN_H_ */ |
|
|
|
|