| OLD | NEW |
| 1 // Copyright 2012 The Chromium Authors. All rights reserved. | 1 // Copyright 2012 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #ifndef IOS_CHROME_BROWSER_UI_STACK_VIEW_CARD_STACK_LAYOUT_MANAGER_H_ | 5 #ifndef IOS_CHROME_BROWSER_UI_STACK_VIEW_CARD_STACK_LAYOUT_MANAGER_H_ |
| 6 #define IOS_CHROME_BROWSER_UI_STACK_VIEW_CARD_STACK_LAYOUT_MANAGER_H_ | 6 #define IOS_CHROME_BROWSER_UI_STACK_VIEW_CARD_STACK_LAYOUT_MANAGER_H_ |
| 7 | 7 |
| 8 #import <CoreGraphics/CoreGraphics.h> | 8 #import <CoreGraphics/CoreGraphics.h> |
| 9 #import <Foundation/Foundation.h> | 9 #import <Foundation/Foundation.h> |
| 10 | 10 |
| 11 #include "base/mac/scoped_nsobject.h" | 11 #include "base/mac/scoped_nsobject.h" |
| 12 | 12 |
| 13 @class StackCard; | 13 @class StackCard; |
| 14 | 14 |
| 15 // Encapsulates a stack of cards and their layout behavior, supporting | 15 // Encapsulates a stack of cards and their layout behavior, supporting |
| 16 // fanning the cards out along an axis and gathering them to fit in a given | 16 // fanning the cards out along an axis and gathering them to fit in a given |
| 17 // area. | 17 // area. |
| 18 @interface CardStackLayoutManager : NSObject { | 18 @interface CardStackLayoutManager : NSObject |
| 19 @private | |
| 20 base::scoped_nsobject<NSMutableArray> cards_; | |
| 21 // YES if the previous call to one of {|scrollCardAtIndex|, | |
| 22 // |handleMultitouchWithFirstDelta|} was to the former method; NO otherwise. | |
| 23 BOOL treatOverExtensionAsScroll_; | |
| 24 NSUInteger previousFirstPinchCardIndex_; | |
| 25 NSUInteger previousSecondPinchCardIndex_; | |
| 26 } | |
| 27 | 19 |
| 28 // The size of a card. Setting this property preserves card origins with the | 20 // The size of a card. Setting this property preserves card origins with the |
| 29 // exception that cards are moved as necessary to satisfy placement constraints | 21 // exception that cards are moved as necessary to satisfy placement constraints |
| 30 // (e.g., that a card is not placed too far away from its preceding neighbor). | 22 // (e.g., that a card is not placed too far away from its preceding neighbor). |
| 31 @property(nonatomic, assign) CGSize cardSize; | 23 @property(nonatomic, assign) CGSize cardSize; |
| 32 // The center of a card along the axis that is not the layout axis. | 24 // The center of a card along the axis that is not the layout axis. |
| 33 @property(nonatomic, assign) CGFloat layoutAxisPosition; | 25 @property(nonatomic, assign) CGFloat layoutAxisPosition; |
| 34 // The amount cards should be staggered at full expansion. | 26 // The amount cards should be staggered at full expansion. |
| 35 @property(nonatomic, assign) CGFloat maxStagger; | 27 @property(nonatomic, assign) CGFloat maxStagger; |
| 36 // The maximum amount that the first card is allowed to overextend toward the | 28 // The maximum amount that the first card is allowed to overextend toward the |
| (...skipping 126 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 163 | 155 |
| 164 // The amount that the first card is currently overextended. | 156 // The amount that the first card is currently overextended. |
| 165 - (CGFloat)overextensionAmount; | 157 - (CGFloat)overextensionAmount; |
| 166 | 158 |
| 167 // The number of cards visible when stack is fanned out. | 159 // The number of cards visible when stack is fanned out. |
| 168 - (NSUInteger)fannedStackCount; | 160 - (NSUInteger)fannedStackCount; |
| 169 | 161 |
| 170 @end | 162 @end |
| 171 | 163 |
| 172 #endif // IOS_CHROME_BROWSER_UI_STACK_VIEW_CARD_STACK_LAYOUT_MANAGER_H_ | 164 #endif // IOS_CHROME_BROWSER_UI_STACK_VIEW_CARD_STACK_LAYOUT_MANAGER_H_ |
| OLD | NEW |