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.
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).
11 #ifndef BASE_MAC_SDK_FORWARD_DECLARATIONS_H_
12 #define BASE_MAC_SDK_FORWARD_DECLARATIONS_H_
14 #import <AppKit/AppKit.h>
16 #if !defined(MAC_OS_X_VERSION_10_7) || \
17 MAC_OS_X_VERSION_MAX_ALLOWED < MAC_OS_X_VERSION_10_7
20 NSEventPhaseNone
= 0, // event not associated with a phase.
21 NSEventPhaseBegan
= 0x1 << 0,
22 NSEventPhaseStationary
= 0x1 << 1,
23 NSEventPhaseChanged
= 0x1 << 2,
24 NSEventPhaseEnded
= 0x1 << 3,
25 NSEventPhaseCancelled
= 0x1 << 4
27 typedef NSUInteger NSEventPhase
;
30 NSEventSwipeTrackingLockDirection
= 0x1 << 0,
31 NSEventSwipeTrackingClampGestureAmount
= 0x1 << 1,
33 typedef NSUInteger NSEventSwipeTrackingOptions
;
36 NSWindowAnimationBehaviorDefault
= 0,
37 NSWindowAnimationBehaviorNone
= 2,
38 NSWindowAnimationBehaviorDocumentWindow
= 3,
39 NSWindowAnimationBehaviorUtilityWindow
= 4,
40 NSWindowAnimationBehaviorAlertPanel
= 5
42 typedef NSInteger NSWindowAnimationBehavior
;
44 @interface
NSEvent (LionSDK
)
45 + (BOOL
)isSwipeTrackingFromScrollEventsEnabled
;
47 - (NSEventPhase
)momentumPhase
;
48 - (NSEventPhase
)phase
;
49 - (CGFloat
)scrollingDeltaX
;
50 - (CGFloat
)scrollingDeltaY
;
51 - (void)trackSwipeEventWithOptions
:(NSEventSwipeTrackingOptions
)options
52 dampenAmountThresholdMin
:(CGFloat
)minDampenThreshold
53 max
:(CGFloat
)maxDampenThreshold
54 usingHandler
:(void (^)(CGFloat gestureAmount
,
57 BOOL
*stop
))trackingHandler
;
59 - (BOOL
)isDirectionInvertedFromDevice
;
63 @interface
CALayer (LionAPI
)
64 - (CGFloat
)contentsScale
;
65 - (void)setContentsScale
:(CGFloat
)contentsScale
;
68 @interface
NSScreen (LionSDK
)
69 - (CGFloat
)backingScaleFactor
;
70 - (NSRect
)convertRectToBacking
:(NSRect
)aRect
;
73 @interface
NSWindow (LionSDK
)
74 - (CGFloat
)backingScaleFactor
;
75 - (NSWindowAnimationBehavior
)animationBehavior
;
76 - (void)setAnimationBehavior
:(NSWindowAnimationBehavior
)newAnimationBehavior
;
79 @interface
NSAnimationContext (LionSDK
)
80 + (void)runAnimationGroup
:(void (^)(NSAnimationContext
*context
))changes
81 completionHandler
:(void (^)(void))completionHandler
;
84 #endif // MAC_OS_X_VERSION_10_7
86 #if !defined(MAC_OS_X_VERSION_10_8) || \
87 MAC_OS_X_VERSION_MAX_ALLOWED < MAC_OS_X_VERSION_10_8
89 NSEventPhaseMayBegin
= 0x1 << 5
91 #endif // MAC_OS_X_VERSION_10_8
93 #endif // BASE_MAC_SDK_FORWARD_DECLARATIONS_H_