Home | History | Annotate | Download | only in bookmarks
      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 
     11 namespace bookmarks {
     12 
     13 // States for the bookmark bar.
     14 enum 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