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
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,
26 typedef NSUInteger NSEventPhase;
29 NSEventSwipeTrackingLockDirection = 0x1 << 0,
30 NSEventSwipeTrackingClampGestureAmount = 0x1 << 1,
32 typedef NSUInteger NSEventSwipeTrackingOptions;
34 @interface NSEvent (LionSDK)
35 + (BOOL)isSwipeTrackingFromScrollEventsEnabled;
37 - (NSEventPhase)phase;
38 - (CGFloat)scrollingDeltaX;
39 - (CGFloat)scrollingDeltaY;
40 - (void)trackSwipeEventWithOptions:(NSEventSwipeTrackingOptions)options
41 dampenAmountThresholdMin:(CGFloat)minDampenThreshold
42 max:(CGFloat)maxDampenThreshold
43 usingHandler:(void (^)(CGFloat gestureAmount,
46 BOOL *stop))trackingHandler;
48 - (BOOL)isDirectionInvertedFromDevice;
52 @interface CALayer (LionAPI)
53 - (CGFloat)contentsScale;
54 - (void)setContentsScale:(CGFloat)contentsScale;
57 @interface NSScreen (LionSDK)
58 - (CGFloat)backingScaleFactor;
59 - (NSRect)convertRectToBacking:(NSRect)aRect;
62 @interface NSWindow (LionSDK)
63 - (CGFloat)backingScaleFactor;
65 #endif // MAC_OS_X_VERSION_10_7
67 #endif // BASE_MAC_SDK_FORWARD_DECLARATIONS_H_