1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 2 // Use of this source code is governed by a BSD-style license that can be 3 // found in the LICENSE file. 4 5 // The BookmarkBarToolbarView is responsible for drawing the background of the 6 // BookmarkBar's toolbar in either of its two display modes - permanently 7 // attached (slimline with a stroke at the bottom edge) or New Tab Page style 8 // (padded with a round rect border and the New Tab Page theme behind). 9 10 #ifndef CHROME_BROWSER_UI_COCOA_BOOKMARKS_BOOKMARK_BAR_TOOLBAR_VIEW_H_ 11 #define CHROME_BROWSER_UI_COCOA_BOOKMARKS_BOOKMARK_BAR_TOOLBAR_VIEW_H_ 12 13 #import <Cocoa/Cocoa.h> 14 15 #import "chrome/browser/ui/cocoa/animatable_view.h" 16 #import "chrome/browser/ui/cocoa/bookmarks/bookmark_bar_state.h" 17 18 @class BookmarkBarView; 19 20 class ThemeService; 21 22 // An interface to allow mocking of a BookmarkBarController by the 23 // BookmarkBarToolbarView. 24 @protocol BookmarkBarToolbarViewController <BookmarkBarState> 25 // Displaying the bookmark toolbar background in bubble (floating) mode requires 26 // the size of the currently selected tab to properly calculate where the 27 // background image is joined. 28 - (int)currentTabContentsHeight; 29 30 // Current theme service, passed to the cross platform NtpBackgroundUtil class. 31 - (ThemeService*)themeService; 32 33 @end 34 35 @interface BookmarkBarToolbarView : AnimatableView { 36 @private 37 // The controller which tells us how we should be drawing (as normal or as a 38 // floating bar). 39 IBOutlet id<BookmarkBarToolbarViewController> controller_; 40 } 41 @end 42 43 #endif // CHROME_BROWSER_UI_COCOA_BOOKMARKS_BOOKMARK_BAR_TOOLBAR_VIEW_H_ 44