summaryrefslogtreecommitdiff
path: root/common/quicktime_win32/CGContext.h
diff options
context:
space:
mode:
authorFluorescentCIAAfricanAmerican <[email protected]>2020-04-22 12:56:21 -0400
committerFluorescentCIAAfricanAmerican <[email protected]>2020-04-22 12:56:21 -0400
commit3bf9df6b2785fa6d951086978a3e66f49427166a (patch)
tree2c0f1f0c63c4832882bc93814ebd2c2b1c6224e5 /common/quicktime_win32/CGContext.h
downloadarchived-source-engine-2018-hl2-src-master.tar.xz
archived-source-engine-2018-hl2-src-master.zip
Diffstat (limited to 'common/quicktime_win32/CGContext.h')
-rw-r--r--common/quicktime_win32/CGContext.h1460
1 files changed, 1460 insertions, 0 deletions
diff --git a/common/quicktime_win32/CGContext.h b/common/quicktime_win32/CGContext.h
new file mode 100644
index 0000000..52950cf
--- /dev/null
+++ b/common/quicktime_win32/CGContext.h
@@ -0,0 +1,1460 @@
+/*
+ File: CGContext.h
+
+ Contains: CoreGraphics context
+
+ 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 CGCONTEXT_H_
+#define CGCONTEXT_H_
+
+#ifndef __CGBASE__
+#include <CGBase.h>
+#endif
+
+#ifndef __CGAFFINETRANSFORM__
+#include <CGAffineTransform.h>
+#endif
+
+#ifndef __CGCOLORSPACE__
+#include <CGColorSpace.h>
+#endif
+
+#ifndef __CGFONT__
+#include <CGFont.h>
+#endif
+
+#ifndef __CGIMAGE__
+#include <CGImage.h>
+#endif
+
+#ifndef __CGPDFDOCUMENT__
+#include <CGPDFDocument.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 __CGCONTEXT__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 __CGCONTEXT__RESTORE_PACKED_ENUMS
+ #pragma options(!pack_enums)
+ #endif
+#endif
+
+typedef struct CGContext* CGContextRef;
+typedef struct CGPattern* CGPatternRef;
+/* Line join styles. */
+enum CGLineJoin {
+ kCGLineJoinMiter = 0,
+ kCGLineJoinRound = 1,
+ kCGLineJoinBevel = 2
+};
+typedef enum CGLineJoin CGLineJoin;
+
+/* Line cap styles. */
+enum CGLineCap {
+ kCGLineCapButt = 0,
+ kCGLineCapRound = 1,
+ kCGLineCapSquare = 2
+};
+typedef enum CGLineCap CGLineCap;
+
+/* Drawing modes for paths. */
+enum CGPathDrawingMode {
+ kCGPathFill = 0,
+ kCGPathEOFill = 1,
+ kCGPathStroke = 2,
+ kCGPathFillStroke = 3,
+ kCGPathEOFillStroke = 4
+};
+typedef enum CGPathDrawingMode CGPathDrawingMode;
+
+/* Drawing modes for text. */
+enum CGTextDrawingMode {
+ kCGTextFill = 0,
+ kCGTextStroke = 1,
+ kCGTextFillStroke = 2,
+ kCGTextInvisible = 3,
+ kCGTextFillClip = 4,
+ kCGTextStrokeClip = 5,
+ kCGTextFillStrokeClip = 6,
+ kCGTextClip = 7
+};
+typedef enum CGTextDrawingMode CGTextDrawingMode;
+
+/* Text encodings. */
+enum CGTextEncoding {
+ kCGEncodingFontSpecific = 0,
+ kCGEncodingMacRoman = 1
+};
+typedef enum CGTextEncoding CGTextEncoding;
+
+enum CGInterpolationQuality {
+ kCGInterpolationDefault = 0, /* Let the context decide. */
+ kCGInterpolationNone = 1, /* Never interpolate. */
+ kCGInterpolationLow = 2, /* Fast, low quality. */
+ kCGInterpolationHigh = 3 /* Slow, high quality. */
+};
+typedef enum CGInterpolationQuality CGInterpolationQuality;
+
+
+/** Graphics state functions. **/
+/* Push a copy of the current graphics state onto the graphics state
+ * stack. Note that the path is not considered part of the gstate, and is
+ * not saved. */
+/*
+ * CGContextSaveGState()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+CGContextSaveGState(CGContextRef ctx);
+
+
+/* Restore the current graphics state from the one on the top of the
+ * graphics state stack, popping the graphics state stack in the
+ * process. */
+/*
+ * CGContextRestoreGState()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+CGContextRestoreGState(CGContextRef ctx);
+
+
+/** Coordinate space transformations. **/
+/* Scale the current graphics state's transformation matrix (the CTM) by
+ * `(sx, sy)'. */
+/*
+ * CGContextScaleCTM()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+CGContextScaleCTM(
+ CGContextRef ctx,
+ float sx,
+ float sy);
+
+
+/* Translate the current graphics state's transformation matrix (the CTM)
+ * by `(tx, ty)'. */
+/*
+ * CGContextTranslateCTM()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+CGContextTranslateCTM(
+ CGContextRef ctx,
+ float tx,
+ float ty);
+
+
+/* Rotate the current graphics state's transformation matrix (the CTM) by
+ * `angle' radians. */
+/*
+ * CGContextRotateCTM()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+CGContextRotateCTM(
+ CGContextRef ctx,
+ float angle);
+
+
+/* Concatenate the current graphics state's transformation matrix (the CTM)
+ * with the affine transform `transform'. */
+/*
+ * CGContextConcatCTM()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+CGContextConcatCTM(
+ CGContextRef ctx,
+ CGAffineTransform transform);
+
+
+/* Return the current graphics state's transformation matrix. */
+/*
+ * CGContextGetCTM()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( CGAffineTransform )
+CGContextGetCTM(CGContextRef ctx);
+
+
+/** Drawing attribute functions. **/
+/* Set the line width in the current graphics state to `width'. */
+/*
+ * CGContextSetLineWidth()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+CGContextSetLineWidth(
+ CGContextRef ctx,
+ float width);
+
+
+/* Set the line cap in the current graphics state to `cap'. */
+/*
+ * CGContextSetLineCap()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+CGContextSetLineCap(
+ CGContextRef ctx,
+ CGLineCap cap);
+
+
+/* Set the line join in the current graphics state to `join'. */
+/*
+ * CGContextSetLineJoin()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+CGContextSetLineJoin(
+ CGContextRef ctx,
+ CGLineJoin join);
+
+
+/* Set the miter limit in the current graphics state to `limit'. */
+/*
+ * CGContextSetMiterLimit()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+CGContextSetMiterLimit(
+ CGContextRef ctx,
+ float limit);
+
+
+/* Set the line dash patttern in the current graphics state. */
+/*
+ * CGContextSetLineDash()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+CGContextSetLineDash(
+ CGContextRef ctx,
+ float phase,
+ const float lengths[],
+ size_t count);
+
+
+/* Set the path flatness parameter in the current graphics state to
+ * `flatness'. */
+/*
+ * CGContextSetFlatness()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+CGContextSetFlatness(
+ CGContextRef ctx,
+ float flatness);
+
+
+/* Set the alpha value in the current graphics state to `alpha'. */
+/*
+ * CGContextSetAlpha()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+CGContextSetAlpha(
+ CGContextRef ctx,
+ float alpha);
+
+
+/** Path construction functions. **/
+/* Note that a context has a single path in use at any time: a path is not
+ * part of the graphics state. */
+/* Begin a new path. The old path is discarded. */
+/*
+ * CGContextBeginPath()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+CGContextBeginPath(CGContextRef ctx);
+
+
+/* Start a new subpath at point `(x, y)' in the context's path. */
+/*
+ * CGContextMoveToPoint()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+CGContextMoveToPoint(
+ CGContextRef ctx,
+ float x,
+ float y);
+
+
+/* Append a straight line segment from the current point to `(x, y)'. */
+/*
+ * CGContextAddLineToPoint()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+CGContextAddLineToPoint(
+ CGContextRef ctx,
+ float x,
+ float y);
+
+
+/* Append a cubic Bezier curve from the current point to `(x,y)', with
+ * control points `(cp1x, cp1y)' and `(cp2x, cp2y)'. */
+/*
+ * CGContextAddCurveToPoint()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+CGContextAddCurveToPoint(
+ CGContextRef ctx,
+ float cp1x,
+ float cp1y,
+ float cp2x,
+ float cp2y,
+ float x,
+ float y);
+
+
+/* Append a quadratic curve from the current point to `(x, y)', with
+ * control point `(cpx, cpy)'. */
+/*
+ * CGContextAddQuadCurveToPoint()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+CGContextAddQuadCurveToPoint(
+ CGContextRef ctx,
+ float cpx,
+ float cpy,
+ float x,
+ float y);
+
+
+/* Close the current subpath of the context's path. */
+/*
+ * CGContextClosePath()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+CGContextClosePath(CGContextRef ctx);
+
+
+/** Path construction convenience functions. **/
+/* Add a single rect to the context's path. */
+/*
+ * CGContextAddRect()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+CGContextAddRect(
+ CGContextRef ctx,
+ CGRect rect);
+
+
+/* Add a set of rects to the context's path. */
+/*
+ * CGContextAddRects()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+CGContextAddRects(
+ CGContextRef ctx,
+ const CGRect rects[],
+ size_t count);
+
+
+/* Add a set of lines to the context's path. */
+/*
+ * CGContextAddLines()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+CGContextAddLines(
+ CGContextRef ctx,
+ const CGPoint points[],
+ size_t count);
+
+
+/* Add an arc of a circle to the context's path, possibly preceded by a
+ * straight line segment. `(x, y)' is the center of the arc; `radius' is
+ * its radius; `startAngle' is the angle to the first endpoint of the arc;
+ * `endAngle' is the angle to the second endpoint of the arc; and
+ * `clockwise' is 1 if the arc is to be drawn clockwise, 0 otherwise.
+ * `startAngle' and `endAngle' are measured in radians. */
+/*
+ * CGContextAddArc()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+CGContextAddArc(
+ CGContextRef ctx,
+ float x,
+ float y,
+ float radius,
+ float startAngle,
+ float endAngle,
+ int clockwise);
+
+
+/* Add an arc of a circle to the context's path, possibly preceded by a
+ * straight line segment. `radius' is the radius of the arc. The arc is
+ * tangent to the line from the current point to `(x1, y1)', and the line
+ * from `(x1, y1)' to `(x2, y2)'. */
+/*
+ * CGContextAddArcToPoint()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+CGContextAddArcToPoint(
+ CGContextRef ctx,
+ float x1,
+ float y1,
+ float x2,
+ float y2,
+ float radius);
+
+
+/** Path information functions. **/
+/* Return 1 if the context's path contains no elements, 0 otherwise. */
+/*
+ * CGContextIsPathEmpty()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( int )
+CGContextIsPathEmpty(CGContextRef ctx);
+
+
+/* Return the current point of the current subpath of the context's
+ * path. */
+/*
+ * CGContextGetPathCurrentPoint()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( CGPoint )
+CGContextGetPathCurrentPoint(CGContextRef ctx);
+
+
+/* Return the bounding box of the context's path. The bounding box is the
+ * smallest rectangle completely enclosing all points in the path,
+ * including control points for Bezier and quadratic curves. */
+/*
+ * CGContextGetPathBoundingBox()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( CGRect )
+CGContextGetPathBoundingBox(CGContextRef ctx);
+
+
+/** Path drawing functions. **/
+/* Draw the context's path using drawing mode `mode'. */
+/*
+ * CGContextDrawPath()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+CGContextDrawPath(
+ CGContextRef ctx,
+ CGPathDrawingMode mode);
+
+
+/** Path drawing convenience functions. **/
+/* Fill the context's path using the winding-number fill rule. Any open
+ * subpath of the path is implicitly closed. */
+/*
+ * CGContextFillPath()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+CGContextFillPath(CGContextRef ctx);
+
+
+/* Fill the context's path using the even-odd fill rule. Any open subpath
+ * of the path is implicitly closed. */
+/*
+ * CGContextEOFillPath()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+CGContextEOFillPath(CGContextRef ctx);
+
+
+/* Stroke the context's path. */
+/*
+ * CGContextStrokePath()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+CGContextStrokePath(CGContextRef ctx);
+
+
+/* Fill `rect' with the current fill color. */
+/*
+ * CGContextFillRect()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+CGContextFillRect(
+ CGContextRef ctx,
+ CGRect rect);
+
+
+/* Fill `rects', an array of `count' CGRects, with the current fill
+ * color. */
+/*
+ * CGContextFillRects()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+CGContextFillRects(
+ CGContextRef ctx,
+ const CGRect rects[],
+ size_t count);
+
+
+/* Stroke `rect' with the current stroke color and the current linewidth. */
+/*
+ * CGContextStrokeRect()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+CGContextStrokeRect(
+ CGContextRef ctx,
+ CGRect rect);
+
+
+/* Stroke `rect' with the current stroke color, using `width' as the the
+ * line width. */
+/*
+ * CGContextStrokeRectWithWidth()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+CGContextStrokeRectWithWidth(
+ CGContextRef ctx,
+ CGRect rect,
+ float width);
+
+
+/* Clear `rect' (that is, set the region within the rect to
+ * transparent). */
+/*
+ * CGContextClearRect()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+CGContextClearRect(
+ CGContextRef c,
+ CGRect rect);
+
+
+/** Clipping functions. **/
+/* Intersect the context's path with the current clip path and use the
+ * resulting path as the clip path for subsequent rendering operations.
+ * Use the winding-number fill rule for deciding what's inside the path. */
+/*
+ * CGContextClip()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+CGContextClip(CGContextRef ctx);
+
+
+/* Intersect the context's path with the current clip path and use the
+ * resulting path as the clip path for subsequent rendering operations.
+ * Use the even-odd fill rule for deciding what's inside the path. */
+/*
+ * CGContextEOClip()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+CGContextEOClip(CGContextRef ctx);
+
+
+/** Clipping convenience functions. **/
+/* Intersect the current clipping path with `rect'. Note that this
+ * function resets the context's path to the empty path. */
+/*
+ * CGContextClipToRect()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+CGContextClipToRect(
+ CGContextRef ctx,
+ CGRect rect);
+
+
+/* Intersect the current clipping path with the clipping region formed by
+ * creating a path consisting of all rects in `rects'. Note that this
+ * function resets the context's path to the empty path. */
+/*
+ * CGContextClipToRects()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+CGContextClipToRects(
+ CGContextRef ctx,
+ const CGRect rects[],
+ size_t count);
+
+
+/** Colorspace functions. **/
+/* Set the components of the current fill color in the context `ctx' to the
+ * values specifed by `components'. The number of elements in `components'
+ * must be one greater than the number of components in the current fill
+ * colorspace (N color components + 1 alpha component). The current fill
+ * colorspace must not be a pattern colorspace. */
+/*
+ * CGContextSetFillColorSpace()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+CGContextSetFillColorSpace(
+ CGContextRef ctx,
+ CGColorSpaceRef colorspace);
+
+
+/* Set the components of the current fill color in the context `ctx' to the
+ * values specifed by `components'. The number of elements in `components'
+ * must be one greater than the number of components in the current fill
+ * colorspace (N color components + 1 alpha component). The current fill
+ * colorspace must not be a pattern colorspace. */
+/*
+ * CGContextSetStrokeColorSpace()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+CGContextSetStrokeColorSpace(
+ CGContextRef ctx,
+ CGColorSpaceRef colorspace);
+
+
+/** Color functions. **/
+/* Set the components of the current fill color in the context `c' to the
+ * values specifed by `components'. The number of elements in `components'
+ * must be one greater than the number of components in the current fill
+ * colorspace (N color components + 1 alpha component). The current fill
+ * colorspace must not be a pattern colorspace. */
+/*
+ * CGContextSetFillColor()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+CGContextSetFillColor(
+ CGContextRef c,
+ const float components[]);
+
+
+/* Set the components of the current stroke color in the context `c' to the
+ * values specifed by `components'. The number of elements in `components'
+ * must be one greater than the number of components in the current stroke
+ * colorspace (N color components + 1 alpha component). The current stroke
+ * colorspace must not be a pattern colorspace. */
+/*
+ * CGContextSetStrokeColor()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+CGContextSetStrokeColor(
+ CGContextRef c,
+ const float components[]);
+
+
+/** Pattern functions. **/
+/* Set the components of the current fill color in the context `c' to the
+ * values specifed by `components', and set the current fill pattern to
+ * `pattern'. The number of elements in `components' must be one greater
+ * than the number of components in the current fill colorspace (N color
+ * components + 1 alpha component). The current fill colorspace must be a
+ * pattern colorspace. */
+/*
+ * CGContextSetFillPattern()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.1 and later
+ */
+EXTERN_API_C( void )
+CGContextSetFillPattern(
+ CGContextRef c,
+ CGPatternRef pattern,
+ const float components[]);
+
+
+/* Set the components of the current stroke color in the context `c' to the
+ * values specifed by `components', and set the current stroke pattern to
+ * `pattern'. The number of elements in `components' must be one greater
+ * than the number of components in the current stroke colorspace (N color
+ * components + 1 alpha component). The current stroke colorspace must be
+ * a pattern colorspace. */
+/*
+ * CGContextSetStrokePattern()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.1 and later
+ */
+EXTERN_API_C( void )
+CGContextSetStrokePattern(
+ CGContextRef c,
+ CGPatternRef pattern,
+ const float components[]);
+
+
+
+/** Color convenience functions. **/
+/* Set the current fill colorspace in the context `c' to `DeviceGray' and
+ * set the components of the current fill color to `(gray, alpha)'. */
+/*
+ * CGContextSetGrayFillColor()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+CGContextSetGrayFillColor(
+ CGContextRef ctx,
+ float gray,
+ float alpha);
+
+
+/* Set the current stroke colorspace in the context `c' to `DeviceGray' and
+ * set the components of the current stroke color to `(gray, alpha)'. */
+/*
+ * CGContextSetGrayStrokeColor()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+CGContextSetGrayStrokeColor(
+ CGContextRef ctx,
+ float gray,
+ float alpha);
+
+
+/* Set the current fill colorspace in the context `c' to `DeviceRGB' and
+ * set the components of the current fill color to `(red, green, blue,
+ * alpha)'. */
+/*
+ * CGContextSetRGBFillColor()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+CGContextSetRGBFillColor(
+ CGContextRef ctx,
+ float red,
+ float green,
+ float blue,
+ float alpha);
+
+
+/* Set the current stroke colorspace in the context `c' to `DeviceRGB' and
+ * set the components of the current stroke color to `(red, green, blue,
+ * alpha)'. */
+/*
+ * CGContextSetRGBStrokeColor()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+CGContextSetRGBStrokeColor(
+ CGContextRef ctx,
+ float red,
+ float green,
+ float blue,
+ float alpha);
+
+
+/* Set the current fill colorspace in the context `c' to `DeviceCMYK' and
+ * set the components of the current fill color to `(cyan, magenta, yellow,
+ * black, alpha)'. */
+/*
+ * CGContextSetCMYKFillColor()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+CGContextSetCMYKFillColor(
+ CGContextRef ctx,
+ float cyan,
+ float magenta,
+ float yellow,
+ float black,
+ float alpha);
+
+
+/* Set the current stroke colorspace in the context `c' to `DeviceCMYK' and
+ * set the components of the current stroke color to `(cyan, magenta,
+ * yellow, black, alpha)'. */
+/*
+ * CGContextSetCMYKStrokeColor()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+CGContextSetCMYKStrokeColor(
+ CGContextRef ctx,
+ float cyan,
+ float magenta,
+ float yellow,
+ float black,
+ float alpha);
+
+
+/** Rendering intent. **/
+/* Set the rendering intent in the graphics state to `intent'. */
+/*
+ * CGContextSetRenderingIntent()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+CGContextSetRenderingIntent(
+ CGContextRef c,
+ CGColorRenderingIntent intent);
+
+
+/** Image functions. **/
+/* Draw `image' in the rectangular area specified by `rect'. The image is
+ * scaled, if necessary, to fit into `rect'. */
+/*
+ * CGContextDrawImage()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+CGContextDrawImage(
+ CGContextRef ctx,
+ CGRect rect,
+ CGImageRef image);
+
+
+/* Return the interpolation quality for image rendering of the context `c'.
+ * The interpolation quality is a gstate-parameter which controls the level
+ * of interpolation performed when an image is interpolated (for example,
+ * when scaling the image). Note that it is merely a hint to the context:
+ * not all contexts support all interpolation quality levels. */
+/*
+ * CGContextGetInterpolationQuality()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.1 and later
+ */
+EXTERN_API_C( CGInterpolationQuality )
+CGContextGetInterpolationQuality(CGContextRef c);
+
+
+/* Set the interpolation quality of the context `c' to `quality'. */
+/*
+ * CGContextSetInterpolationQuality()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.1 and later
+ */
+EXTERN_API_C( void )
+CGContextSetInterpolationQuality(
+ CGContextRef c,
+ CGInterpolationQuality quality);
+
+
+
+/** Text functions. **/
+/* Set the current character spacing in the context `ctx' to `spacing'. The
+ * character spacing is added to the displacement between the origin of one
+ * character and the origin of the next. */
+/*
+ * CGContextSetCharacterSpacing()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+CGContextSetCharacterSpacing(
+ CGContextRef ctx,
+ float spacing);
+
+
+/* Set the user-space point at which text will be drawn to (x,y). */
+/*
+ * CGContextSetTextPosition()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+CGContextSetTextPosition(
+ CGContextRef ctx,
+ float x,
+ float y);
+
+
+/* Return the current user-space point at which text will be drawn to (x,y). */
+/*
+ * CGContextGetTextPosition()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( CGPoint )
+CGContextGetTextPosition(CGContextRef ctx);
+
+
+/* Set the text matrix to `transform'. */
+/*
+ * CGContextSetTextMatrix()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+CGContextSetTextMatrix(
+ CGContextRef ctx,
+ CGAffineTransform transform);
+
+
+/* Return the text matrix. */
+/*
+ * CGContextGetTextMatrix()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( CGAffineTransform )
+CGContextGetTextMatrix(CGContextRef ctx);
+
+
+/* Set the text drawing mode to `mode'. */
+/*
+ * CGContextSetTextDrawingMode()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+CGContextSetTextDrawingMode(
+ CGContextRef ctx,
+ CGTextDrawingMode mode);
+
+
+/* Set the current font to `font'. */
+/*
+ * CGContextSetFont()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+CGContextSetFont(
+ CGContextRef ctx,
+ CGFontRef font);
+
+
+/* Set the current font size to `size'. */
+/*
+ * CGContextSetFontSize()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+CGContextSetFontSize(
+ CGContextRef ctx,
+ float size);
+
+
+
+/* Attempts to find the font named `name'. If successful, scales it to
+ * `size' units in user space. `textEncoding' specifies how to translate
+ * from bytes to glyphs. */
+/*
+ * CGContextSelectFont()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+CGContextSelectFont(
+ CGContextRef ctx,
+ const char * name,
+ float size,
+ CGTextEncoding textEncoding);
+
+
+/* Draw `string', a string of `length' bytes, at the point specified by the
+ * current text matrix. Each byte of the string is mapped through the
+ * encoding vector of the current font to obtain the glyph to display. */
+/*
+ * CGContextShowText()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+CGContextShowText(
+ CGContextRef ctx,
+ const char * cstring,
+ size_t length);
+
+
+/* Draw the glyphs pointed to by `g', an array of `count' glyphs, at the
+ * point specified by the current text matrix. */
+/*
+ * CGContextShowGlyphs()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+CGContextShowGlyphs(
+ CGContextRef ctx,
+ const CGGlyph g[],
+ size_t count);
+
+
+
+/** Text convenience functions. **/
+/* Draw `string', a string of `length' bytes, at the point `(x, y)',
+ * specified in user space. Each byte of the string is mapped through the
+ * encoding vector of the current font to obtain the glyph to display. */
+/*
+ * CGContextShowTextAtPoint()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+CGContextShowTextAtPoint(
+ CGContextRef ctx,
+ float x,
+ float y,
+ const char * cstring,
+ size_t length);
+
+
+/* Display the glyphs pointed to by `g', an array of `count' glyph ids, at
+ * the point `(x, y)', specified in user space. */
+/*
+ * CGContextShowGlyphsAtPoint()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+CGContextShowGlyphsAtPoint(
+ CGContextRef ctx,
+ float x,
+ float y,
+ const CGGlyph g[],
+ size_t count);
+
+
+
+/** PDF document functions. **/
+/* Draw `page' in `document' in the rectangular area specified by `rect'.
+ * The media box of the page is scaled, if necessary, to fit into
+ * `rect'. */
+/*
+ * CGContextDrawPDFDocument()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+CGContextDrawPDFDocument(
+ CGContextRef ctx,
+ CGRect rect,
+ CGPDFDocumentRef document,
+ int page);
+
+
+/** Page functions. **/
+/* Begin a new page. */
+/*
+ * CGContextBeginPage()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+CGContextBeginPage(
+ CGContextRef ctx,
+ const CGRect * mediaBox);
+
+
+/* End the current page. */
+/*
+ * CGContextEndPage()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+CGContextEndPage(CGContextRef ctx);
+
+
+/** Context functions. **/
+/* Increment the retain count of `ctx' and return it. All contexts are
+ * created with an initial retain count of 1. */
+/*
+ * CGContextRetain()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( CGContextRef )
+CGContextRetain(CGContextRef ctx);
+
+
+/* Decrement the retain count of `ctx'. If the retain count reaches 0,
+ * then free `ctx' and any associated resources. */
+/*
+ * CGContextRelease()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+CGContextRelease(CGContextRef ctx);
+
+
+/* Flush all drawing to the destination. */
+/*
+ * CGContextFlush()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+CGContextFlush(CGContextRef ctx);
+
+
+/* Synchronized drawing. */
+/*
+ * CGContextSynchronize()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+CGContextSynchronize(CGContextRef ctx);
+
+
+/** Antialiasing functions. **/
+/* Turn off antialiasing if `shouldAntialias' is zero; turn it on
+ * otherwise. This parameter is part of the graphics state. */
+/*
+ * CGContextSetShouldAntialias()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+CGContextSetShouldAntialias(
+ CGContextRef ctx,
+ int shouldAntialias);
+
+
+
+#if PRAGMA_ENUM_ALWAYSINT
+ #pragma enumsalwaysint reset
+ #ifdef __CGCONTEXT__RESTORE_TWOBYTEINTS
+ #pragma fourbyteints off
+ #endif
+#elif PRAGMA_ENUM_OPTIONS
+ #pragma option enum=reset
+#elif defined(__CGCONTEXT__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 /* CGCONTEXT_H_ */
+