CTFramesetter Reference
| Derived from | CFType |
| Framework | ApplicationServices/CoreText |
| Declared in | CTFramesetter.h |
Overview
The CTFramesetter opaque type is used to generate text frames. That is, CTFramesetter is an object factory for CTFrame objects.
The framesetter takes an attributed string object and a shape descriptor object and calls into the typesetter to create line objects that fill that shape. The output is a frame object containing an array of lines. The frame can then draw itself directly into the current graphic context.
Functions by Task
Creating a Framesetter
Creating Frames
Frame Sizing
Getting the Type Identifier
Functions
CTFramesetterCreateFrame
Creates an immutable frame using a framesetter.
CTFrameRef CTFramesetterCreateFrame( CTFramesetterRef framesetter, CFRange stringRange, CGPathRef path, CFDictionaryRef frameAttributes );
Parameters
- framesetter
The framesetter used to create the frame.
- stringRange
The range, of the attributed string that was used to create the framesetter, that is to be typeset in lines fitted into the frame. If the length portion of the range is set to
0, then the framesetter continues to add lines until it runs out of text or space.- path
A CGPath object that specifies the shape of the frame. The path may be non-rectangular in versions of OS X v10.7 or later and versions of iOS 4.2 or later.
- frameAttributes
Additional attributes that control the frame filling process can be specified here, or
NULLif there are no such attributes.
Return Value
A reference to a new CTFrame object if the call was successful; otherwise, NULL.
Discussion
This call creates a frame full of glyphs in the shape of the path provided by the path parameter. The framesetter continues to fill the frame until it either runs out of text or it finds that text no longer fits.
Special Considerations
In versions of OS X prior to 10.7 and versions of iOS prior to 4.2, this function returns NULL if the CGPath specified by the path parameter is not rectangular.
Availability
- Available in iOS 3.2 and later.
Declared In
CTFramesetter.hCTFramesetterCreateWithAttributedString
Creates an immutable framesetter object from an attributed string.
CTFramesetterRef CTFramesetterCreateWithAttributedString( CFAttributedStringRef string );
Parameters
- string
The attributed string with which to construct the framesetter object.
Return Value
A reference to a CTFramesetter object if the call was successful; otherwise, NULL.
Discussion
The resultant framesetter object can be used to create and fill text frames with the CTFramesetterCreateFrame call.
Availability
- Available in iOS 3.2 and later.
Declared In
CTFramesetter.hCTFramesetterGetTypeID
Returns the Core Foundation type identifier of the framesetter object.
CFTypeID CTFramesetterGetTypeID( void );
Availability
- Available in iOS 3.2 and later.
Declared In
CTFramesetter.hCTFramesetterGetTypesetter
Returns the typesetter object being used by the framesetter.
CTTypesetterRef CTFramesetterGetTypesetter( CTFramesetterRef framesetter );
Parameters
- framesetter
The framesetter from which a typesetter is requested.
Return Value
A reference to a CTTypesetter object if the call was successful; otherwise, NULL. The framesetter maintains a reference to the returned object, which should not be released by the caller.
Discussion
Each framesetter uses a typesetter internally to perform line breaking and other contextual analysis based on the characters in a string; this function returns the typesetter being used by a particular framesetter in case the caller would like to perform other operations on that typesetter.
Availability
- Available in iOS 3.2 and later.
Declared In
CTFramesetter.hCTFramesetterSuggestFrameSizeWithConstraints
Determines the frame size needed for a string range.
CGSize CTFramesetterSuggestFrameSizeWithConstraints( CTFramesetterRef framesetter, CFRange stringRange, CFDictionaryRef frameAttributes, CGSize constraints, CFRange* fitRange );
Parameters
- framesetter
The framesetter used for measuring the frame size.
- stringRange
The string range to which the frame size applies. The string range is a range over the string used to create the framesetter. If the length portion of the range is set to
0, then the framesetter continues to add lines until it runs out of text or space.- frameAttributes
Additional attributes that control the frame filling process, or
NULLif there are no such attributes.- constraints
The width and height to which the frame size is constrained. A value of
CGFLOAT_MAXfor either dimension indicates that it should be treated as unconstrained.- fitRange
On return, contains the range of the string that actually fit in the constrained size.
Return Value
The actual dimensions for the given string range and constraints.
Discussion
This function can be used to determine how much space is needed to display a string, optionally by constraining the space along either dimension.
Availability
- Available in iOS 3.2 and later.
Declared In
CTFramesetter.hData Types
CTFramesetterRef
A reference to a Core Foundation framesetter object.
typedef const struct __CTFramesetter *CTFramesetterRef;
Availability
- Available in iOS 3.2 and later.
Declared In
CTFramesetter.h© 2012 Apple Inc. All Rights Reserved. (Last updated: 2012-12-13)