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#ifndef CHROME_BROWSER_UI_COCOA_BOOKMARKS_BOOKMARK_BAR_STATE_H_ 6#define CHROME_BROWSER_UI_COCOA_BOOKMARKS_BOOKMARK_BAR_STATE_H_ 7#pragma once 8 9#import <Cocoa/Cocoa.h> 10 11namespace bookmarks { 12 13// States for the bookmark bar. 14enum VisualState { 15 kInvalidState = 0, 16 kHiddenState = 1, 17 kShowingState = 2, 18 kDetachedState = 3, 19}; 20 21} // namespace bookmarks 22 23// The interface for controllers (etc.) which can give information about the 24// bookmark bar's state. 25@protocol BookmarkBarState 26 27// Returns YES if the bookmark bar is currently visible (as a normal toolbar or 28// as a detached bar on the NTP), NO otherwise. 29- (BOOL)isVisible; 30 31// Returns YES if an animation is currently running, NO otherwise. 32- (BOOL)isAnimationRunning; 33 34// Returns YES if the bookmark bar is in the given state and not in an 35// animation, NO otherwise. 36- (BOOL)isInState:(bookmarks::VisualState)state; 37 38// Returns YES if the bookmark bar is animating from the given state (to any 39// other state), NO otherwise. 40- (BOOL)isAnimatingToState:(bookmarks::VisualState)state; 41 42// Returns YES if the bookmark bar is animating to the given state (from any 43// other state), NO otherwise. 44- (BOOL)isAnimatingFromState:(bookmarks::VisualState)state; 45 46// Returns YES if the bookmark bar is animating from the first given state to 47// the second given state, NO otherwise. 48- (BOOL)isAnimatingFromState:(bookmarks::VisualState)fromState 49 toState:(bookmarks::VisualState)toState; 50 51// Returns YES if the bookmark bar is animating between the two given states (in 52// either direction), NO otherwise. 53- (BOOL)isAnimatingBetweenState:(bookmarks::VisualState)fromState 54 andState:(bookmarks::VisualState)toState; 55 56// Returns how morphed into the detached bubble the bookmark bar should be (1 = 57// completely detached, 0 = normal). 58- (CGFloat)detachedMorphProgress; 59 60@end 61 62#endif // CHROME_BROWSER_UI_COCOA_BOOKMARKS_BOOKMARK_BAR_STATE_H_ 63