/* 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 #endif #ifndef __CGAFFINETRANSFORM__ #include #endif #ifndef __CGCOLORSPACE__ #include #endif #ifndef __CGFONT__ #include #endif #ifndef __CGIMAGE__ #include #endif #ifndef __CGPDFDOCUMENT__ #include #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_ */