- add sources.
[platform/framework/web/crosswalk.git] / src / base / mac / sdk_forward_declarations.h
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
18 enum {
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 };
26 typedef NSUInteger NSEventPhase;
27
28 enum {
29   NSEventSwipeTrackingLockDirection = 0x1 << 0,
30   NSEventSwipeTrackingClampGestureAmount = 0x1 << 1,
31 };
32 typedef NSUInteger NSEventSwipeTrackingOptions;
33
34 @interface NSEvent (LionSDK)
35 + (BOOL)isSwipeTrackingFromScrollEventsEnabled;
36
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,
44                                              NSEventPhase phase,
45                                              BOOL isComplete,
46                                              BOOL *stop))trackingHandler;
47
48 - (BOOL)isDirectionInvertedFromDevice;
49
50 @end
51
52 @interface CALayer (LionAPI)
53 - (CGFloat)contentsScale;
54 - (void)setContentsScale:(CGFloat)contentsScale;
55 @end
56
57 @interface NSScreen (LionSDK)
58 - (CGFloat)backingScaleFactor;
59 - (NSRect)convertRectToBacking:(NSRect)aRect;
60 @end
61
62 @interface NSWindow (LionSDK)
63 - (CGFloat)backingScaleFactor;
64 @end
65 #endif  // MAC_OS_X_VERSION_10_7
66
67 #endif  // BASE_MAC_SDK_FORWARD_DECLARATIONS_H_