mirror of
https://github.com/Swiftgram/Telegram-iOS.git
synced 2025-12-23 06:35:51 +00:00
Add 'submodules/AsyncDisplayKit/' from commit '02bedc12816e251ad71777f9d2578329b6d2bef6'
git-subtree-dir: submodules/AsyncDisplayKit git-subtree-mainline:d06f423e0egit-subtree-split:02bedc1281
This commit is contained in:
@@ -0,0 +1,74 @@
|
||||
//
|
||||
// MosaicCollectionLayoutInfo.m
|
||||
// Texture
|
||||
//
|
||||
// Copyright (c) Pinterest, Inc. All rights reserved.
|
||||
// Licensed under Apache 2.0: http://www.apache.org/licenses/LICENSE-2.0
|
||||
//
|
||||
|
||||
#import "MosaicCollectionLayoutInfo.h"
|
||||
|
||||
#import <AsyncDisplayKit/ASHashing.h>
|
||||
|
||||
@implementation MosaicCollectionLayoutInfo
|
||||
|
||||
- (instancetype)initWithNumberOfColumns:(NSInteger)numberOfColumns
|
||||
headerHeight:(CGFloat)headerHeight
|
||||
columnSpacing:(CGFloat)columnSpacing
|
||||
sectionInsets:(UIEdgeInsets)sectionInsets
|
||||
interItemSpacing:(UIEdgeInsets)interItemSpacing
|
||||
{
|
||||
self = [super init];
|
||||
if (self) {
|
||||
_numberOfColumns = numberOfColumns;
|
||||
_headerHeight = headerHeight;
|
||||
_columnSpacing = columnSpacing;
|
||||
_sectionInsets = sectionInsets;
|
||||
_interItemSpacing = interItemSpacing;
|
||||
}
|
||||
return self;
|
||||
}
|
||||
|
||||
- (BOOL)isEqualToInfo:(MosaicCollectionLayoutInfo *)info
|
||||
{
|
||||
if (info == nil) {
|
||||
return NO;
|
||||
}
|
||||
|
||||
return _numberOfColumns == info.numberOfColumns
|
||||
&& _headerHeight == info.headerHeight
|
||||
&& _columnSpacing == info.columnSpacing
|
||||
&& UIEdgeInsetsEqualToEdgeInsets(_sectionInsets, info.sectionInsets)
|
||||
&& UIEdgeInsetsEqualToEdgeInsets(_interItemSpacing, info.interItemSpacing);
|
||||
}
|
||||
|
||||
- (BOOL)isEqual:(id)other
|
||||
{
|
||||
if (self == other) {
|
||||
return YES;
|
||||
}
|
||||
if (! [other isKindOfClass:[MosaicCollectionLayoutInfo class]]) {
|
||||
return NO;
|
||||
}
|
||||
return [self isEqualToInfo:other];
|
||||
}
|
||||
|
||||
- (NSUInteger)hash
|
||||
{
|
||||
struct {
|
||||
NSInteger numberOfColumns;
|
||||
CGFloat headerHeight;
|
||||
CGFloat columnSpacing;
|
||||
UIEdgeInsets sectionInsets;
|
||||
UIEdgeInsets interItemSpacing;
|
||||
} data = {
|
||||
_numberOfColumns,
|
||||
_headerHeight,
|
||||
_columnSpacing,
|
||||
_sectionInsets,
|
||||
_interItemSpacing,
|
||||
};
|
||||
return ASHashBytes(&data, sizeof(data));
|
||||
}
|
||||
|
||||
@end
|
||||
Reference in New Issue
Block a user