Files
ManagerDemo/Pods/DTCoreText/Core/Source/DTHTMLAttributedStringBuilder.h
2014-08-08 13:27:54 +08:00

78 lines
3.0 KiB
Objective-C
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
//
// DTHTMLAttributedStringBuilder.h
// DTCoreText
//
// Created by Oliver Drobnik on 21.01.12.
// Copyright (c) 2012 Drobnik.com. All rights reserved.
//
#import "DTHTMLParser.h"
@class DTHTMLElement;
typedef void(^DTHTMLAttributedStringBuilderWillFlushCallback)(DTHTMLElement *);
/**
Class for building an `NSAttributedString` from an HTML document.
*/
@interface DTHTMLAttributedStringBuilder : NSObject <DTHTMLParserDelegate>
/**
@name Creating an Attributed String Builder
*/
/**
Initializes and returns a new `NSAttributedString` object from the HTML contained in the given object and base URL.
Options can be:
- DTMaxImageSize: the maximum CGSize that a text attachment can fill
- DTDefaultFontFamily: the default font family to use instead of Times New Roman
- DTDefaultFontName: the default font face to use instead of Times New Roman
- DTDefaultFontSize: the default font size to use instead of 12
- DTDefaultTextColor: the default text color
- DTDefaultLinkColor: the default color for hyperlink text
- DTDefaultLinkDecoration: the default decoration for hyperlinks
- DTDefaultLinkHighlightColor: the color to show while the hyperlink is highlighted
- DTDefaultTextAlignment: the default text alignment for paragraphs
- DTDefaultLineHeightMultiplier: The multiplier for line heights
- DTDefaultFirstLineHeadIndent: The default indent for left margin on first line
- DTDefaultHeadIndent: The default indent for left margin except first line
- DTDefaultListIndent: The amount by which lists are indented
- DTDefaultStyleSheet: The default style sheet to use
- DTUseiOS6Attributes: use iOS 6 attributes for building (UITextView compatible)
- DTWillFlushBlockCallBack: a block to be executed whenever content is flushed to the output string
- DTIgnoreInlineStylesOption: All inline style information is being ignored and only style blocks used
@param data The data in HTML format from which to create the attributed string.
@param options Specifies how the document should be loaded. Contains values described in NSAttributedString(HTML).
@param docAttributes Currently not in use.
@returns Returns an initialized object, or `nil` if the data cant be decoded.
*/
- (id)initWithHTML:(NSData *)data options:(NSDictionary *)options documentAttributes:(NSDictionary * __autoreleasing*)docAttributes;
/**
@name Generating Attributed Strings
*/
/**
Creates the attributed string when called the first time.
@returns An `NSAttributedString` representing the HTML document passed in the initializer.
*/
- (NSAttributedString *)generatedAttributedString;
/**
This block is called before the element is written to the output attributed string
*/
@property (nonatomic, copy) DTHTMLAttributedStringBuilderWillFlushCallback willFlushCallback;
/**
Setting this property to `YES` causes the tree of parse nodes to be preserved until the end of the generation process. This allows to output the HTML structure of the document for debugging.
*/
@property (nonatomic, assign) BOOL shouldKeepDocumentNodeTree;
@end