Merge commit '7621e2f8dec938cf48181c8b10afc9b01f444e68' into beta

This commit is contained in:
Ilya Laktyushin
2025-12-06 02:17:48 +04:00
commit 8344b97e03
28070 changed files with 7995182 additions and 0 deletions
@@ -0,0 +1,53 @@
#import "TGNeoRenderableViewModel.h"
@implementation TGNeoRenderableViewModel
- (CGSize)layoutWithContainerSize:(CGSize)containerSize
{
return CGSizeZero;
}
+ (SSignal *)renderSignalForViewModel:(TGNeoRenderableViewModel *)viewModel
{
return [[SSignal alloc] initWithGenerator:^id<SDisposable>(SSubscriber *subscriber)
{
CGFloat scale = 2.0f;
CGSize size = viewModel.contentSize;
CGColorSpaceRef colorSpace = CGColorSpaceCreateDeviceRGB();
CGContextRef context = CGBitmapContextCreate(NULL,
size.width * scale, size.height * scale,
8, size.width * scale * 4, colorSpace,
kCGImageAlphaPremultipliedFirst);
CFRelease(colorSpace);
if (context == nil)
{
[subscriber putError:nil];
return nil;
}
CGContextScaleCTM(context, scale, -scale);
CGContextTranslateCTM(context, 0, -size.height);
[viewModel drawInContext:context];
CGImageRef imgRef = CGBitmapContextCreateImage(context);
if (imgRef == nil)
{
CFRelease(context);
return nil;
}
UIImage *image = [UIImage imageWithCGImage:imgRef];
CFRelease(imgRef);
CFRelease(context);
[subscriber putNext:image];
[subscriber putCompletion];
return nil;
}];
}
@end