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 20class 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. 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