bookmark_bar_toolbar_view.h revision 21d179b334e59e9a3bfcaed4c4430bef1bc5759d
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 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#pragma once 13 14#import <Cocoa/Cocoa.h> 15 16#import "chrome/browser/ui/cocoa/animatable_view.h" 17#import "chrome/browser/ui/cocoa/bookmarks/bookmark_bar_state.h" 18 19@class BookmarkBarView; 20class TabContents; 21class ThemeProvider; 22 23// An interface to allow mocking of a BookmarkBarController by the 24// BookmarkBarToolbarView. 25@protocol BookmarkBarToolbarViewController <BookmarkBarState> 26// Displaying the bookmark toolbar background in bubble (floating) mode requires 27// the size of the currently selected tab to properly calculate where the 28// background image is joined. 29- (int)currentTabContentsHeight; 30 31// Current theme provider, passed to the cross platform NtpBackgroundUtil class. 32- (ThemeProvider*)themeProvider; 33 34@end 35 36@interface BookmarkBarToolbarView : AnimatableView { 37 @private 38 // The controller which tells us how we should be drawing (as normal or as a 39 // floating bar). 40 IBOutlet id<BookmarkBarToolbarViewController> controller_; 41} 42@end 43 44#endif // CHROME_BROWSER_UI_COCOA_BOOKMARKS_BOOKMARK_BAR_TOOLBAR_VIEW_H_ 45