From 83b9d5c682b21d88133f24da0f94dd56bd79e687 Mon Sep 17 00:00:00 2001
From: 单军华
Date: Thu, 19 Jul 2018 13:38:55 +0800
Subject: [PATCH] change

---
 screendisplay/Pods/YYText/YYText/String/YYTextRunDelegate.m |   71 +++++++++++++++++++++++++++++++++++
 1 files changed, 71 insertions(+), 0 deletions(-)

diff --git a/screendisplay/Pods/YYText/YYText/String/YYTextRunDelegate.m b/screendisplay/Pods/YYText/YYText/String/YYTextRunDelegate.m
new file mode 100755
index 0000000..3b858ff
--- /dev/null
+++ b/screendisplay/Pods/YYText/YYText/String/YYTextRunDelegate.m
@@ -0,0 +1,71 @@
+//
+//  YYTextRunDelegate.m
+//  YYText <https://github.com/ibireme/YYText>
+//
+//  Created by ibireme on 14/10/14.
+//  Copyright (c) 2015 ibireme.
+//
+//  This source code is licensed under the MIT-style license found in the
+//  LICENSE file in the root directory of this source tree.
+//
+
+#import "YYTextRunDelegate.h"
+
+static void DeallocCallback(void *ref) {
+    YYTextRunDelegate *self = (__bridge_transfer YYTextRunDelegate *)(ref);
+    self = nil; // release
+}
+
+static CGFloat GetAscentCallback(void *ref) {
+    YYTextRunDelegate *self = (__bridge YYTextRunDelegate *)(ref);
+    return self.ascent;
+}
+
+static CGFloat GetDecentCallback(void *ref) {
+    YYTextRunDelegate *self = (__bridge YYTextRunDelegate *)(ref);
+    return self.descent;
+}
+
+static CGFloat GetWidthCallback(void *ref) {
+    YYTextRunDelegate *self = (__bridge YYTextRunDelegate *)(ref);
+    return self.width;
+}
+
+@implementation YYTextRunDelegate
+
+- (CTRunDelegateRef)CTRunDelegate CF_RETURNS_RETAINED {
+    CTRunDelegateCallbacks callbacks;
+    callbacks.version = kCTRunDelegateCurrentVersion;
+    callbacks.dealloc = DeallocCallback;
+    callbacks.getAscent = GetAscentCallback;
+    callbacks.getDescent = GetDecentCallback;
+    callbacks.getWidth = GetWidthCallback;
+    return CTRunDelegateCreate(&callbacks, (__bridge_retained void *)(self.copy));
+}
+
+- (void)encodeWithCoder:(NSCoder *)aCoder {
+    [aCoder encodeObject:@(_ascent) forKey:@"ascent"];
+    [aCoder encodeObject:@(_descent) forKey:@"descent"];
+    [aCoder encodeObject:@(_width) forKey:@"width"];
+    [aCoder encodeObject:_userInfo forKey:@"userInfo"];
+}
+
+- (id)initWithCoder:(NSCoder *)aDecoder {
+    self = [super init];
+    _ascent = ((NSNumber *)[aDecoder decodeObjectForKey:@"ascent"]).floatValue;
+    _descent = ((NSNumber *)[aDecoder decodeObjectForKey:@"descent"]).floatValue;
+    _width = ((NSNumber *)[aDecoder decodeObjectForKey:@"width"]).floatValue;
+    _userInfo = [aDecoder decodeObjectForKey:@"userInfo"];
+    return self;
+}
+
+- (id)copyWithZone:(NSZone *)zone {
+    typeof(self) one = [self.class new];
+    one.ascent = self.ascent;
+    one.descent = self.descent;
+    one.width = self.width;
+    one.userInfo = self.userInfo;
+    return one;
+}
+
+@end

--
Gitblit v1.8.0