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.
1461 lines
36 KiB
1461 lines
36 KiB
5 years ago
|
/*
|
||
|
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_ */
|
||
|
|