mirror of
https://github.com/Swiftgram/Telegram-iOS.git
synced 2025-09-07 05:02:56 +00:00
* Initial commit for ASStackLayoutSpec improvements * Remove the lock in ASStackLayoutSpec and make the ASStackLayoutSpecStyle const I think we don't need lock here as the style already has a lock while we set the value * Add ASStackLayoutSpecItem that replaces layout specific items * Prevent baseline pass if not needed * Update comments
28 lines
1.0 KiB
Objective-C
28 lines
1.0 KiB
Objective-C
//
|
|
// ASStackBaselinePositionedLayout.h
|
|
// AsyncDisplayKit
|
|
//
|
|
// Copyright (c) 2014-present, Facebook, Inc. All rights reserved.
|
|
// This source code is licensed under the BSD-style license found in the
|
|
// LICENSE file in the root directory of this source tree. An additional grant
|
|
// of patent rights can be found in the PATENTS file in the same directory.
|
|
//
|
|
|
|
#import "ASLayout.h"
|
|
#import "ASDimension.h"
|
|
#import "ASStackPositionedLayout.h"
|
|
|
|
struct ASStackBaselinePositionedLayout {
|
|
const std::vector<ASStackLayoutSpecItem> items;
|
|
const CGFloat crossSize;
|
|
const CGFloat ascender;
|
|
const CGFloat descender;
|
|
|
|
/** Given a positioned layout, computes each child position using baseline alignment. */
|
|
static ASStackBaselinePositionedLayout compute(const ASStackPositionedLayout &positionedLayout,
|
|
const ASStackLayoutSpecStyle &style,
|
|
const ASSizeRange &constrainedSize);
|
|
|
|
static BOOL needsBaselineAlignment(const ASStackLayoutSpecStyle &style);
|
|
};
|