sdk_forward_declarations.h revision a3f6a49ab37290eeeb8db0f41ec0f1cb74a68be7
1// Copyright (c) 2012 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// This file contains forward declarations for items in later SDKs than the
6// default one with which Chromium is built (currently 10.6).
7// If you call any function from this header, be sure to check at runtime for
8// respondsToSelector: before calling these functions (else your code will crash
9// on older OS X versions that chrome still supports).
10
11#ifndef BASE_MAC_SDK_FORWARD_DECLARATIONS_H_
12#define BASE_MAC_SDK_FORWARD_DECLARATIONS_H_
13
14#import <AppKit/AppKit.h>
15
16#if !defined(MAC_OS_X_VERSION_10_7) || \
17    MAC_OS_X_VERSION_MAX_ALLOWED < MAC_OS_X_VERSION_10_7
18enum {
19  NSEventPhaseNone        = 0, // event not associated with a phase.
20  NSEventPhaseBegan       = 0x1 << 0,
21  NSEventPhaseStationary  = 0x1 << 1,
22  NSEventPhaseChanged     = 0x1 << 2,
23  NSEventPhaseEnded       = 0x1 << 3,
24  NSEventPhaseCancelled   = 0x1 << 4,
25};
26typedef NSUInteger NSEventPhase;
27
28enum {
29  NSEventSwipeTrackingLockDirection = 0x1 << 0,
30  NSEventSwipeTrackingClampGestureAmount = 0x1 << 1,
31};
32typedef NSUInteger NSEventSwipeTrackingOptions;
33
34enum {
35  NSWindowAnimationBehaviorDefault = 0,
36  NSWindowAnimationBehaviorNone = 2,
37  NSWindowAnimationBehaviorDocumentWindow = 3,
38  NSWindowAnimationBehaviorUtilityWindow = 4,
39  NSWindowAnimationBehaviorAlertPanel = 5
40};
41typedef NSInteger NSWindowAnimationBehavior;
42
43@interface NSEvent (LionSDK)
44+ (BOOL)isSwipeTrackingFromScrollEventsEnabled;
45
46- (NSEventPhase)phase;
47- (CGFloat)scrollingDeltaX;
48- (CGFloat)scrollingDeltaY;
49- (void)trackSwipeEventWithOptions:(NSEventSwipeTrackingOptions)options
50          dampenAmountThresholdMin:(CGFloat)minDampenThreshold
51                               max:(CGFloat)maxDampenThreshold
52                      usingHandler:(void (^)(CGFloat gestureAmount,
53                                             NSEventPhase phase,
54                                             BOOL isComplete,
55                                             BOOL *stop))trackingHandler;
56
57- (BOOL)isDirectionInvertedFromDevice;
58
59@end
60
61@interface CALayer (LionAPI)
62- (CGFloat)contentsScale;
63- (void)setContentsScale:(CGFloat)contentsScale;
64@end
65
66@interface NSScreen (LionSDK)
67- (CGFloat)backingScaleFactor;
68- (NSRect)convertRectToBacking:(NSRect)aRect;
69@end
70
71@interface NSWindow (LionSDK)
72- (CGFloat)backingScaleFactor;
73- (NSWindowAnimationBehavior)animationBehavior;
74- (void)setAnimationBehavior:(NSWindowAnimationBehavior)newAnimationBehavior;
75@end
76#endif  // MAC_OS_X_VERSION_10_7
77
78#endif  // BASE_MAC_SDK_FORWARD_DECLARATIONS_H_
79