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