| OLD | NEW |
| 1 // Copyright (c) 2010 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2010 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_EXTENSIONS_BROWSER_ACTIONS_CONTAINER_VIEW_ | 5 #ifndef CHROME_BROWSER_UI_COCOA_EXTENSIONS_BROWSER_ACTIONS_CONTAINER_VIEW_ |
| 6 #define CHROME_BROWSER_UI_COCOA_EXTENSIONS_BROWSER_ACTIONS_CONTAINER_VIEW_ | 6 #define CHROME_BROWSER_UI_COCOA_EXTENSIONS_BROWSER_ACTIONS_CONTAINER_VIEW_ |
| 7 | 7 |
| 8 #import <Cocoa/Cocoa.h> | 8 #import <Cocoa/Cocoa.h> |
| 9 | 9 |
| 10 #include <memory> |
| 11 |
| 10 #include "base/mac/scoped_nsobject.h" | 12 #include "base/mac/scoped_nsobject.h" |
| 11 #include "base/memory/scoped_ptr.h" | |
| 12 | 13 |
| 13 namespace ui { | 14 namespace ui { |
| 14 struct NinePartImageIds; | 15 struct NinePartImageIds; |
| 15 } | 16 } |
| 16 | 17 |
| 17 // Sent when a user-initiated drag to resize the container is initiated. | 18 // Sent when a user-initiated drag to resize the container is initiated. |
| 18 extern NSString* const kBrowserActionGrippyDragStartedNotification; | 19 extern NSString* const kBrowserActionGrippyDragStartedNotification; |
| 19 | 20 |
| 20 // Sent when a user-initiated drag is resizing the container. | 21 // Sent when a user-initiated drag is resizing the container. |
| 21 extern NSString* const kBrowserActionGrippyDraggingNotification; | 22 extern NSString* const kBrowserActionGrippyDraggingNotification; |
| (...skipping 69 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 91 // extensions are hidden. | 92 // extensions are hidden. |
| 92 BOOL canDragRight_; | 93 BOOL canDragRight_; |
| 93 | 94 |
| 94 // When the left grippy is pinned, resizing the window has no effect on its | 95 // When the left grippy is pinned, resizing the window has no effect on its |
| 95 // position. This prevents it from overlapping with other elements as well | 96 // position. This prevents it from overlapping with other elements as well |
| 96 // as letting the container expand when the window is going from super small | 97 // as letting the container expand when the window is going from super small |
| 97 // to large. | 98 // to large. |
| 98 BOOL grippyPinned_; | 99 BOOL grippyPinned_; |
| 99 | 100 |
| 100 // The nine-grid of the highlight to paint, if any. | 101 // The nine-grid of the highlight to paint, if any. |
| 101 scoped_ptr<ui::NinePartImageIds> highlight_; | 102 std::unique_ptr<ui::NinePartImageIds> highlight_; |
| 102 | 103 |
| 103 // The size delegate, if any. | 104 // The size delegate, if any. |
| 104 // Weak; delegate is responsible for adding/removing itself. | 105 // Weak; delegate is responsible for adding/removing itself. |
| 105 BrowserActionsContainerViewSizeDelegate* sizeDelegate_; | 106 BrowserActionsContainerViewSizeDelegate* sizeDelegate_; |
| 106 | 107 |
| 107 base::scoped_nsobject<NSViewAnimation> resizeAnimation_; | 108 base::scoped_nsobject<NSViewAnimation> resizeAnimation_; |
| 108 } | 109 } |
| 109 | 110 |
| 110 // Sets whether or not the container is the overflow container. | 111 // Sets whether or not the container is the overflow container. |
| 111 - (void)setIsOverflow:(BOOL)isOverflow; | 112 - (void)setIsOverflow:(BOOL)isOverflow; |
| 112 | 113 |
| 113 // Sets whether or not the container is highlighting. | 114 // Sets whether or not the container is highlighting. |
| 114 - (void)setHighlight:(scoped_ptr<ui::NinePartImageIds>)highlight; | 115 - (void)setHighlight:(std::unique_ptr<ui::NinePartImageIds>)highlight; |
| 115 | 116 |
| 116 // Reeturns true if the container is currently highlighting. | 117 // Reeturns true if the container is currently highlighting. |
| 117 - (BOOL)isHighlighting; | 118 - (BOOL)isHighlighting; |
| 118 | 119 |
| 119 // Resizes the container to the given ideal width, optionally animating. | 120 // Resizes the container to the given ideal width, optionally animating. |
| 120 - (void)resizeToWidth:(CGFloat)width animate:(BOOL)animate; | 121 - (void)resizeToWidth:(CGFloat)width animate:(BOOL)animate; |
| 121 | 122 |
| 122 // Returns the frame of the container after the running animation has finished. | 123 // Returns the frame of the container after the running animation has finished. |
| 123 // If no animation is running, returns the container's current frame. | 124 // If no animation is running, returns the container's current frame. |
| 124 - (NSRect)animationEndFrame; | 125 - (NSRect)animationEndFrame; |
| 125 | 126 |
| 126 // Returns true if the view is animating. | 127 // Returns true if the view is animating. |
| 127 - (BOOL)isAnimating; | 128 - (BOOL)isAnimating; |
| 128 | 129 |
| 129 // Stops any animation in progress. | 130 // Stops any animation in progress. |
| 130 - (void)stopAnimation; | 131 - (void)stopAnimation; |
| 131 | 132 |
| 132 @property(nonatomic) BOOL canDragLeft; | 133 @property(nonatomic) BOOL canDragLeft; |
| 133 @property(nonatomic) BOOL canDragRight; | 134 @property(nonatomic) BOOL canDragRight; |
| 134 @property(nonatomic) BOOL grippyPinned; | 135 @property(nonatomic) BOOL grippyPinned; |
| 135 @property(nonatomic) CGFloat maxDesiredWidth; | 136 @property(nonatomic) CGFloat maxDesiredWidth; |
| 136 @property(readonly, nonatomic) BOOL userIsResizing; | 137 @property(readonly, nonatomic) BOOL userIsResizing; |
| 137 @property(nonatomic) BrowserActionsContainerViewSizeDelegate* delegate; | 138 @property(nonatomic) BrowserActionsContainerViewSizeDelegate* delegate; |
| 138 | 139 |
| 139 @end | 140 @end |
| 140 | 141 |
| 141 #endif // CHROME_BROWSER_UI_COCOA_EXTENSIONS_BROWSER_ACTIONS_CONTAINER_VIEW_ | 142 #endif // CHROME_BROWSER_UI_COCOA_EXTENSIONS_BROWSER_ACTIONS_CONTAINER_VIEW_ |
| OLD | NEW |