52 lines
1.6 KiB
Objective-C
52 lines
1.6 KiB
Objective-C
#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<NSNumber *> *)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 */
|