mirror of
https://github.com/Swiftgram/Telegram-iOS.git
synced 2025-06-16 05:55:20 +00:00

git-subtree-dir: submodules/AsyncDisplayKit git-subtree-mainline: d06f423e0ed3df1fed9bd10d79ee312a9179b632 git-subtree-split: 02bedc12816e251ad71777f9d2578329b6d2bef6
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
|