OLD | NEW |
1 // Copyright (c) 2013 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2013 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 CHROME_BROWSER_UI_COCOA_AUTOFILL_LAYOUT_VIEW_H_ | 5 #ifndef CHROME_BROWSER_UI_COCOA_AUTOFILL_LAYOUT_VIEW_H_ |
6 #define CHROME_BROWSER_UI_COCOA_AUTOFILL_LAYOUT_VIEW_H_ | 6 #define CHROME_BROWSER_UI_COCOA_AUTOFILL_LAYOUT_VIEW_H_ |
7 | 7 |
8 #import <Cocoa/Cocoa.h> | 8 #import <Cocoa/Cocoa.h> |
9 | 9 |
10 #include "base/memory/scoped_ptr.h" | 10 #include <memory> |
11 | 11 |
12 class SimpleGridLayout; | 12 class SimpleGridLayout; |
13 | 13 |
14 // A view that carries its own layout manager. Re-layouts on setFrame:. | 14 // A view that carries its own layout manager. Re-layouts on setFrame:. |
15 @interface LayoutView : NSView { | 15 @interface LayoutView : NSView { |
16 @private | 16 @private |
17 scoped_ptr<SimpleGridLayout> layout_; | 17 std::unique_ptr<SimpleGridLayout> layout_; |
18 } | 18 } |
19 | 19 |
20 // Sets a layout manager and takes ownership of it. | 20 // Sets a layout manager and takes ownership of it. |
21 - (void)setLayoutManager:(scoped_ptr<SimpleGridLayout>)layout; | 21 - (void)setLayoutManager:(std::unique_ptr<SimpleGridLayout>)layout; |
22 | 22 |
23 // Return a pointer to layout manager, still owned by the view. | 23 // Return a pointer to layout manager, still owned by the view. |
24 - (SimpleGridLayout*)layoutManager; | 24 - (SimpleGridLayout*)layoutManager; |
25 | 25 |
26 // Re-layout subviews according to layout manager. | 26 // Re-layout subviews according to layout manager. |
27 - (void)performLayout; | 27 - (void)performLayout; |
28 | 28 |
29 // Query the layout manager for the best height for specified |width|. | 29 // Query the layout manager for the best height for specified |width|. |
30 - (CGFloat)preferredHeightForWidth:(CGFloat)width; | 30 - (CGFloat)preferredHeightForWidth:(CGFloat)width; |
31 | 31 |
32 @end | 32 @end |
33 | 33 |
34 #endif // CHROME_BROWSER_UI_COCOA_AUTOFILL_LAYOUT_VIEW_H_ | 34 #endif // CHROME_BROWSER_UI_COCOA_AUTOFILL_LAYOUT_VIEW_H_ |
OLD | NEW |