#ifdef SHOULD_COMPILE_LOOKIN_SERVER // // LKS_AttrModificationPatchHandler.m // LookinServer // // Created by Li Kai on 2019/6/12. // https://lookin.work // #import "LKS_AttrModificationPatchHandler.h" #import "LookinDisplayItemDetail.h" #import "LookinServerDefines.h" @implementation LKS_AttrModificationPatchHandler + (void)handleLayerOids:(NSArray *)oids lowImageQuality:(BOOL)lowImageQuality block:(void (^)(LookinDisplayItemDetail *detail, NSUInteger tasksTotalCount, NSError *error))block { if (!block) { NSAssert(NO, @""); return; } if (![oids isKindOfClass:[NSArray class]]) { block(nil, 1, LookinErr_Inner); return; } [oids enumerateObjectsUsingBlock:^(NSNumber * _Nonnull obj, NSUInteger idx, BOOL * _Nonnull stop) { unsigned long oid = [obj unsignedLongValue]; LookinDisplayItemDetail *detail = [LookinDisplayItemDetail new]; detail.displayItemOid = oid; CALayer *layer = (CALayer *)[NSObject lks_objectWithOid:oid]; if (![layer isKindOfClass:[CALayer class]]) { block(nil, idx + 1, LookinErr_ObjNotFound); *stop = YES; return; } if (idx == 0) { detail.soloScreenshot = [layer lks_soloScreenshotWithLowQuality:lowImageQuality]; detail.groupScreenshot = [layer lks_groupScreenshotWithLowQuality:lowImageQuality]; } else { detail.groupScreenshot = [layer lks_groupScreenshotWithLowQuality:lowImageQuality]; } block(detail, oids.count, nil); }]; } @end #endif /* SHOULD_COMPILE_LOOKIN_SERVER */