summary refs log tree commit diff stats
path: root/libs/FontLabel/ZAttributedString.h
diff options
context:
space:
mode:
Diffstat (limited to 'libs/FontLabel/ZAttributedString.h')
-rwxr-xr-xlibs/FontLabel/ZAttributedString.h77
1 files changed, 77 insertions, 0 deletions
diff --git a/libs/FontLabel/ZAttributedString.h b/libs/FontLabel/ZAttributedString.h new file mode 100755 index 0000000..e194c81 --- /dev/null +++ b/libs/FontLabel/ZAttributedString.h
@@ -0,0 +1,77 @@
1//
2// ZAttributedString.h
3// FontLabel
4//
5// Created by Kevin Ballard on 9/22/09.
6// Copyright 2009 Zynga Game Networks. All rights reserved.
7//
8
9#import <Foundation/Foundation.h>
10
11#if NS_BLOCKS_AVAILABLE
12#define Z_BLOCKS 1
13#else
14// set this to 1 if you are using PLBlocks
15#define Z_BLOCKS 0
16#endif
17
18#if Z_BLOCKS
19enum {
20 ZAttributedStringEnumerationReverse = (1UL << 1),
21 ZAttributedStringEnumerationLongestEffectiveRangeNotRequired = (1UL << 20)
22};
23typedef NSUInteger ZAttributedStringEnumerationOptions;
24#endif
25
26@interface ZAttributedString : NSObject <NSCoding, NSCopying, NSMutableCopying> {
27 NSMutableString *_buffer;
28 NSMutableArray *_attributes;
29}
30@property (nonatomic, readonly) NSUInteger length;
31@property (nonatomic, readonly) NSString *string;
32- (id)initWithAttributedString:(ZAttributedString *)attr;
33- (id)initWithString:(NSString *)str;
34- (id)initWithString:(NSString *)str attributes:(NSDictionary *)attributes;
35- (id)attribute:(NSString *)attributeName atIndex:(NSUInteger)index effectiveRange:(NSRangePointer)aRange;
36- (id)attribute:(NSString *)attributeName atIndex:(NSUInteger)index longestEffectiveRange:(NSRangePointer)aRange inRange:(NSRange)rangeLimit;
37- (ZAttributedString *)attributedSubstringFromRange:(NSRange)aRange;
38- (NSDictionary *)attributesAtIndex:(NSUInteger)index effectiveRange:(NSRangePointer)aRange;
39- (NSDictionary *)attributesAtIndex:(NSUInteger)index longestEffectiveRange:(NSRangePointer)aRange inRange:(NSRange)rangeLimit;
40#if Z_BLOCKS
41- (void)enumerateAttribute:(NSString *)attrName inRange:(NSRange)enumerationRange options:(ZAttributedStringEnumerationOptions)opts
42 usingBlock:(void (^)(id value, NSRange range, BOOL *stop))block;
43- (void)enumerateAttributesInRange:(NSRange)enumerationRange options:(ZAttributedStringEnumerationOptions)opts
44 usingBlock:(void (^)(NSDictionary *attrs, NSRange range, BOOL *stop))block;
45#endif
46- (BOOL)isEqualToAttributedString:(ZAttributedString *)otherString;
47@end
48
49@interface ZMutableAttributedString : ZAttributedString {
50}
51- (void)addAttribute:(NSString *)name value:(id)value range:(NSRange)range;
52- (void)addAttributes:(NSDictionary *)attributes range:(NSRange)range;
53- (void)appendAttributedString:(ZAttributedString *)str;
54- (void)deleteCharactersInRange:(NSRange)range;
55- (void)insertAttributedString:(ZAttributedString *)str atIndex:(NSUInteger)idx;
56- (void)removeAttribute:(NSString *)name range:(NSRange)range;
57- (void)replaceCharactersInRange:(NSRange)range withAttributedString:(ZAttributedString *)str;
58- (void)replaceCharactersInRange:(NSRange)range withString:(NSString *)str;
59- (void)setAttributedString:(ZAttributedString *)str;
60- (void)setAttributes:(NSDictionary *)attributes range:(NSRange)range;
61@end
62
63extern NSString * const ZFontAttributeName;
64extern NSString * const ZForegroundColorAttributeName;
65extern NSString * const ZBackgroundColorAttributeName;
66extern NSString * const ZUnderlineStyleAttributeName;
67
68enum {
69 ZUnderlineStyleNone = 0x00,
70 ZUnderlineStyleSingle = 0x01
71};
72#define ZUnderlineStyleMask 0x00FF
73
74enum {
75 ZUnderlinePatternSolid = 0x0000
76};
77#define ZUnderlinePatternMask 0xFF00