mirror of
https://github.com/Swiftgram/Telegram-iOS.git
synced 2025-09-03 19:30:09 +00:00
* Convert the codebase to Objective-C++ throughout. One language is better than two. * Put it back * Fix linker * Point explicitly to updated Weaver to unblock build * Revert "Point explicitly to updated Weaver to unblock build" This reverts commit fdc25296e8794d4e6e56c35f5fe6da2be3f71dbc. * Revert "Fix linker" This reverts commit 7be25f91519b8497ef42de79f115bcfbdb965c39. * Add in the frameworks * no message * Address spec lint warnings * Fix tvos build * Put that back * Address Michael's review * Add comment to kick CI
69 lines
1.6 KiB
Plaintext
69 lines
1.6 KiB
Plaintext
//
|
|
// _ASCollectionGalleryLayoutInfo.mm
|
|
// Texture
|
|
//
|
|
// Copyright (c) Pinterest, Inc. All rights reserved.
|
|
// Licensed under Apache 2.0: http://www.apache.org/licenses/LICENSE-2.0
|
|
//
|
|
|
|
#import <AsyncDisplayKit/_ASCollectionGalleryLayoutInfo.h>
|
|
#import <AsyncDisplayKit/ASHashing.h>
|
|
|
|
@implementation _ASCollectionGalleryLayoutInfo
|
|
|
|
- (instancetype)initWithItemSize:(CGSize)itemSize
|
|
minimumLineSpacing:(CGFloat)minimumLineSpacing
|
|
minimumInteritemSpacing:(CGFloat)minimumInteritemSpacing
|
|
sectionInset:(UIEdgeInsets)sectionInset
|
|
{
|
|
self = [super init];
|
|
if (self) {
|
|
_itemSize = itemSize;
|
|
_minimumLineSpacing = minimumLineSpacing;
|
|
_minimumInteritemSpacing = minimumInteritemSpacing;
|
|
_sectionInset = sectionInset;
|
|
}
|
|
return self;
|
|
}
|
|
|
|
- (BOOL)isEqualToInfo:(_ASCollectionGalleryLayoutInfo *)info
|
|
{
|
|
if (info == nil) {
|
|
return NO;
|
|
}
|
|
|
|
return CGSizeEqualToSize(_itemSize, info.itemSize)
|
|
&& _minimumLineSpacing == info.minimumLineSpacing
|
|
&& _minimumInteritemSpacing == info.minimumInteritemSpacing
|
|
&& UIEdgeInsetsEqualToEdgeInsets(_sectionInset, info.sectionInset);
|
|
}
|
|
|
|
- (BOOL)isEqual:(id)other
|
|
{
|
|
if (self == other) {
|
|
return YES;
|
|
}
|
|
if (! [other isKindOfClass:[_ASCollectionGalleryLayoutInfo class]]) {
|
|
return NO;
|
|
}
|
|
return [self isEqualToInfo:other];
|
|
}
|
|
|
|
- (NSUInteger)hash
|
|
{
|
|
struct {
|
|
CGSize itemSize;
|
|
CGFloat minimumLineSpacing;
|
|
CGFloat minimumInteritemSpacing;
|
|
UIEdgeInsets sectionInset;
|
|
} data = {
|
|
_itemSize,
|
|
_minimumLineSpacing,
|
|
_minimumInteritemSpacing,
|
|
_sectionInset,
|
|
};
|
|
return ASHashBytes(&data, sizeof(data));
|
|
}
|
|
|
|
@end
|