1731df977c0511bca2206b5f333555b1205ff1f43Iain Merrick// Copyright (c) 2010 The Chromium Authors. All rights reserved. 2c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch// Use of this source code is governed by a BSD-style license that can be 3c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch// found in the LICENSE file. 4c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch 521d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen#ifndef CHROME_BROWSER_UI_COCOA_BOOKMARKS_BOOKMARK_BAR_STATE_H_ 621d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen#define CHROME_BROWSER_UI_COCOA_BOOKMARKS_BOOKMARK_BAR_STATE_H_ 73345a6884c488ff3a535c2c9acdd33d74b37e311Iain Merrick#pragma once 8c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch 9c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch#import <Cocoa/Cocoa.h> 10c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch 11c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdochnamespace bookmarks { 12c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch 13c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch// States for the bookmark bar. 14c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdochenum VisualState { 15c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch kInvalidState = 0, 16c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch kHiddenState = 1, 17c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch kShowingState = 2, 18c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch kDetachedState = 3, 19c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch}; 20c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch 21c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch} // namespace bookmarks 22c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch 23c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch// The interface for controllers (etc.) which can give information about the 24c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch// bookmark bar's state. 25c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch@protocol BookmarkBarState 26c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch 27c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch// Returns YES if the bookmark bar is currently visible (as a normal toolbar or 28c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch// as a detached bar on the NTP), NO otherwise. 29c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch- (BOOL)isVisible; 30c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch 31c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch// Returns YES if an animation is currently running, NO otherwise. 32c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch- (BOOL)isAnimationRunning; 33c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch 34c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch// Returns YES if the bookmark bar is in the given state and not in an 35c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch// animation, NO otherwise. 36c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch- (BOOL)isInState:(bookmarks::VisualState)state; 37c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch 38c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch// Returns YES if the bookmark bar is animating from the given state (to any 39c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch// other state), NO otherwise. 40c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch- (BOOL)isAnimatingToState:(bookmarks::VisualState)state; 41c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch 42c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch// Returns YES if the bookmark bar is animating to the given state (from any 43c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch// other state), NO otherwise. 44c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch- (BOOL)isAnimatingFromState:(bookmarks::VisualState)state; 45c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch 46c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch// Returns YES if the bookmark bar is animating from the first given state to 47c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch// the second given state, NO otherwise. 48c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch- (BOOL)isAnimatingFromState:(bookmarks::VisualState)fromState 49c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch toState:(bookmarks::VisualState)toState; 50c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch 51c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch// Returns YES if the bookmark bar is animating between the two given states (in 52c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch// either direction), NO otherwise. 53c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch- (BOOL)isAnimatingBetweenState:(bookmarks::VisualState)fromState 54c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch andState:(bookmarks::VisualState)toState; 55c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch 56c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch// Returns how morphed into the detached bubble the bookmark bar should be (1 = 57c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch// completely detached, 0 = normal). 58c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch- (CGFloat)detachedMorphProgress; 59c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch 60c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch@end 61c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch 6221d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen#endif // CHROME_BROWSER_UI_COCOA_BOOKMARKS_BOOKMARK_BAR_STATE_H_ 63