• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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;
20 class TabContents;
21 
22 namespace ui {
23 class ThemeProvider;
24 }
25 
26 // An interface to allow mocking of a BookmarkBarController by the
27 // BookmarkBarToolbarView.
28 @protocol BookmarkBarToolbarViewController <BookmarkBarState>
29 // Displaying the bookmark toolbar background in bubble (floating) mode requires
30 // the size of the currently selected tab to properly calculate where the
31 // background image is joined.
32 - (int)currentTabContentsHeight;
33 
34 // Current theme provider, passed to the cross platform NtpBackgroundUtil class.
35 - (ui::ThemeProvider*)themeProvider;
36 
37 @end
38 
39 @interface BookmarkBarToolbarView : AnimatableView {
40  @private
41    // The controller which tells us how we should be drawing (as normal or as a
42    // floating bar).
43    IBOutlet id<BookmarkBarToolbarViewController> controller_;
44 }
45 @end
46 
47 #endif  // CHROME_BROWSER_UI_COCOA_BOOKMARKS_BOOKMARK_BAR_TOOLBAR_VIEW_H_
48