blob: 258e620693603a4a9672589eb2fb65604994db3d [file] [log] [blame]
// Copyright 2016 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 IOS_CLEAN_CHROME_BROWSER_UI_PRESENTERS_MENU_PRESENTATION_CONTROLLER_H_
#define IOS_CLEAN_CHROME_BROWSER_UI_PRESENTERS_MENU_PRESENTATION_CONTROLLER_H_
#import <UIKit/UIKit.h>
@protocol ToolsMenuCommands;
// A presentation controller for presenting a "menu" interface: a (usually)
// rectangular presentation that covers part of the window, and which doesn't
// obscure the presenting view. The presenting view remains in the view
// hierarchy.
// The presented view controller (that is, the view controller that runs the
// menu) should set the size of its view in -loadView or -viewDidLoad.
// If the presenting view controller conforms to the MenuPresentationDelegate
// protocol, that protocol will be used to determine the region the menu
// appears in; otherwise it will appear in the center of the presenting view
// the region the menu appears in. Otherwise a default rectangular area is
// controller's view.
@interface MenuPresentationController : UIPresentationController
// The dispatcher for this presentation controller.
@property(nonatomic, weak) id<ToolsMenuCommands> dispatcher;
@end
#endif // IOS_CLEAN_CHROME_BROWSER_UI_PRESENTERS_MENU_PRESENTATION_CONTROLLER_H_