| OLD | NEW |
| (Empty) |
| 1 // Copyright 2013 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 UI_APP_LIST_COCOA_ITEM_DRAG_CONTROLLER_H_ | |
| 6 #define UI_APP_LIST_COCOA_ITEM_DRAG_CONTROLLER_H_ | |
| 7 | |
| 8 #import <Cocoa/Cocoa.h> | |
| 9 #import <QuartzCore/QuartzCore.h> | |
| 10 | |
| 11 #include "base/mac/scoped_nsobject.h" | |
| 12 | |
| 13 @class AppsGridViewItem; | |
| 14 | |
| 15 // Controller to manage the animations and transient views that are used when | |
| 16 // dragging an app list item around the app list grid. When initiated, the item | |
| 17 // image (only) is grown in an animation, and sticks to the mouse cursor. When | |
| 18 // released, the label is added to the image and it shrinks and moves to the | |
| 19 // item location in the grid. | |
| 20 @interface ItemDragController : NSViewController { | |
| 21 @private | |
| 22 base::scoped_nsobject<CALayer> dragLayer_; | |
| 23 base::scoped_nsobject<NSButton> buttonToRestore_; | |
| 24 NSPoint mouseOffset_; | |
| 25 NSTimeInterval growStart_; | |
| 26 BOOL shrinking_; | |
| 27 } | |
| 28 | |
| 29 - (id)initWithGridCellSize:(NSSize)size; | |
| 30 | |
| 31 - (void)initiate:(AppsGridViewItem*)item | |
| 32 mouseDownLocation:(NSPoint)mouseDownLocation | |
| 33 currentLocation:(NSPoint)currentLocation | |
| 34 timestamp:(NSTimeInterval)eventTimestamp; | |
| 35 | |
| 36 - (void)update:(NSPoint)currentLocation | |
| 37 timestamp:(NSTimeInterval)eventTimestamp; | |
| 38 | |
| 39 - (void)complete:(AppsGridViewItem*)item | |
| 40 targetOrigin:(NSPoint)targetOrigin; | |
| 41 | |
| 42 @end | |
| 43 | |
| 44 #endif // UI_APP_LIST_COCOA_ITEM_DRAG_CONTROLLER_H_ | |
| OLD | NEW |