Home | History | Annotate | Download | only in mac
      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_
     68