blob: 0dcc44d9712703bba0c4654f4e80925ce080e46a [file] [log] [blame]
// Copyright 2013 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 UI_APP_LIST_COCOA_APP_LIST_PAGER_VIEW_H_
#define UI_APP_LIST_COCOA_APP_LIST_PAGER_VIEW_H_
#import <Cocoa/Cocoa.h>
#import "ui/base/cocoa/tracking_area.h"
@class AppListPagerView;
// Delegate to obtain the visible portion of a page and respond to clicks.
@protocol AppListPagerDelegate<NSObject>
// Returns the portion of a page that is visible, in the range (-1.0, 1.0].
// Positive indicates the left side is visible, negative indicates the right.
- (CGFloat)visiblePortionOfPage:(int)page;
// Invoked when the pager is clicked.
- (void)onPagerClicked:(AppListPagerView*)sender;
@end
// AppListPagerView draws a button strip with buttons representing pages, and a
// highlight that mirrors the visible portion of the page.
@interface AppListPagerView : NSSegmentedControl {
@private
// Used to auto-select a segment on hover.
ui::ScopedCrTrackingArea trackingArea_;
// The segment currently highlighted with a mouse hover, or -1 for none.
NSInteger hoveredSegment_;
}
// Returns -1 if |locationInWindow| is not over a segment. Otherwise returns the
// segment index and highlights it.
- (NSInteger)findAndHighlightSegmentAtLocation:(NSPoint)locationInWindow;
@end
#endif // UI_APP_LIST_COCOA_APP_LIST_PAGER_VIEW_H_