blob: e8434b5b1ecf354e269ab468d47a8fd4d561e32e [file] [log] [blame]
// Copyright (c) 2012 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#ifndef CHROME_BROWSER_UI_COCOA_OVERLAY_PANEL_CONTROLLER_H_
#define CHROME_BROWSER_UI_COCOA_OVERLAY_PANEL_CONTROLLER_H_
#import <Cocoa/Cocoa.h>
#include "base/mac/scoped_nsobject.h"
@class HistoryOverlayView;
enum HistoryOverlayMode {
kHistoryOverlayModeBack,
kHistoryOverlayModeForward
};
// The HistoryOverlayController manages a view that is inserted atop the web
// contents to provide visual feedback when the user is performing history
// navigation gestures.
@interface HistoryOverlayController : NSViewController {
@private
HistoryOverlayMode mode_;
// Strongly typed reference of self.view.
base::scoped_nsobject<HistoryOverlayView> contentView_;
// The view above which self.view is inserted as a subview.
base::scoped_nsobject<NSView> parent_;
}
// Designated initializer.
- (id)initForMode:(HistoryOverlayMode)mode;
// Shows the shield above |view|.
- (void)showPanelForView:(NSView*)view;
// Updates the appearance of the overlay based on track gesture progress.
// gestureAmount must be between 0 and 1.
// 0 indicates no progress. 1 indicates maximum progress.
// Finished indicates whether the gesture has reached maximum progress.
- (void)setProgress:(CGFloat)gestureAmount finished:(BOOL)finished;
// Fades the shield out and removes it from the view hierarchy.
- (void)dismiss;
@end
#endif // CHROME_BROWSER_UI_COCOA_OVERLAY_PANEL_CONTROLLER_H_