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.
5 #ifndef CHROME_BROWSER_UI_COCOA_BOOKMARKS_BOOKMARK_BAR_STATE_H_
6 #define CHROME_BROWSER_UI_COCOA_BOOKMARKS_BOOKMARK_BAR_STATE_H_
8 #import <Cocoa/Cocoa.h>
10 #include "chrome/browser/ui/bookmarks/bookmark_bar.h"
12 // The interface for controllers (etc.) which can give information about the
13 // bookmark bar's state.
14 @protocol BookmarkBarState
16 // Returns YES if the bookmark bar is currently visible (as a normal toolbar or
17 // as a detached bar on the NTP), NO otherwise.
20 // Returns YES if an animation is currently running, NO otherwise.
21 - (BOOL
)isAnimationRunning
;
23 // Returns YES if the bookmark bar is in the given state and not in an
24 // animation, NO otherwise.
25 - (BOOL
)isInState
:(BookmarkBar::State
)state
;
27 // Returns YES if the bookmark bar is animating from the given state (to any
28 // other state), NO otherwise.
29 - (BOOL
)isAnimatingToState
:(BookmarkBar::State
)state
;
31 // Returns YES if the bookmark bar is animating to the given state (from any
32 // other state), NO otherwise.
33 - (BOOL
)isAnimatingFromState
:(BookmarkBar::State
)state
;
35 // Returns YES if the bookmark bar is animating from the first given state to
36 // the second given state, NO otherwise.
37 - (BOOL
)isAnimatingFromState
:(BookmarkBar::State
)fromState
38 toState
:(BookmarkBar::State
)toState
;
40 // Returns YES if the bookmark bar is animating between the two given states (in
41 // either direction), NO otherwise.
42 - (BOOL
)isAnimatingBetweenState
:(BookmarkBar::State
)fromState
43 andState
:(BookmarkBar::State
)toState
;
45 // Returns how morphed into the detached bubble the bookmark bar should be (1 =
46 // completely detached, 0 = normal).
47 - (CGFloat
)detachedMorphProgress
;
51 #endif // CHROME_BROWSER_UI_COCOA_BOOKMARKS_BOOKMARK_BAR_STATE_H_