Created
March 26, 2015 03:03
-
-
Save saniul/497c3f2683cb228e1de0 to your computer and use it in GitHub Desktop.
MacOSX10.10 Private Force Touch APIs
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// I think this is the stuff that is responsible for the "bumpy pixels" behavior of the Force Touch trackpad in iMovie | |
// | |
// Generated by class-dump 3.5 (64 bit). | |
// | |
// class-dump is Copyright (C) 1997-1998, 2000-2001, 2004-2013 by Steve Nygard. | |
// | |
#pragma mark Function Pointers and Blocks | |
typedef void (*CDUnknownFunctionPointerType)(void); // return type and parameters are unknown | |
typedef void (^CDUnknownBlockType)(void); // return type and parameters are unknown | |
#pragma mark Named Structures | |
#pragma mark Typedef'd Structures | |
typedef struct { | |
id _field1; | |
SEL _field2; | |
SEL _field3; | |
SEL _field4; | |
} CDStruct_4fdc8b6f; | |
typedef struct { | |
id _field1; | |
SEL _field2; | |
void *_field3; | |
} CDStruct_f8f0024c; | |
typedef struct { | |
id _field1; | |
SEL _field2; | |
} CDStruct_b2dc443c; | |
typedef struct { | |
NSData *stream; | |
char *currentPtr; | |
char *endPtr; | |
} CDStruct_d87b8232; | |
typedef struct { | |
unsigned long long serial; | |
unsigned long long timestamp; | |
unsigned long long delta; | |
} CDStruct_c75109f2; | |
typedef struct { | |
unsigned long long _field1; | |
id *_field2; | |
unsigned long long *_field3; | |
unsigned long long _field4[5]; | |
} CDStruct_70511ce9; | |
typedef struct { | |
char *data; | |
int len; | |
} CDStruct_815caf98; | |
typedef struct { | |
char _field1; | |
char _field2; | |
char _field3; | |
double _field4; | |
double _field5; | |
double _field6; | |
double _field7; | |
double _field8; | |
double _field9; | |
double _field10; | |
double _field11; | |
double _field12; | |
char _field13; | |
long long _field14; | |
char _field15; | |
double _field16; | |
} CDStruct_dc60c16d; | |
typedef struct { | |
char _field1; | |
char _field2; | |
double _field3; | |
} CDStruct_8e9e3288; | |
typedef struct { | |
double minPossiblePosition; | |
double minAllowablePosition; | |
double maxAllowablePosition; | |
double maxPossiblePosition; | |
char canCollapseBeforeView; | |
char canCollapseAfterView; | |
} CDStruct_0a28aba5; | |
typedef struct { | |
double _field1; | |
double _field2; | |
double _field3; | |
double _field4; | |
} CDStruct_d2b197d1; | |
typedef struct { | |
float _field1; | |
int _field2[10]; | |
} CDStruct_6f4e2a38; | |
typedef struct { | |
long long _field1; | |
unsigned int _field2; | |
} CDStruct_0f3e1ffa; | |
typedef struct { | |
long long generationCount; | |
long long changeCount; | |
} CDStruct_df2dc5d0; | |
typedef struct { | |
short _field1; | |
short _field2; | |
short _field3; | |
short _field4; | |
int _field5; | |
int _field6; | |
int _field7; | |
int _field8; | |
int _field9; | |
int _field10; | |
unsigned int _field11; | |
int _field12; | |
int _field13; | |
unsigned int _field14; | |
unsigned int :1; | |
unsigned int :1; | |
unsigned int :1; | |
unsigned int :29; | |
unsigned int _field15; | |
unsigned int _field16; | |
int _field17[1]; | |
} CDStruct_2e65c88c; | |
typedef struct { | |
short _field1; | |
short _field2; | |
} CDStruct_dd0be819; | |
typedef struct { | |
unsigned int _field1; | |
int _field2; | |
long long _field3; | |
unsigned long long _field4; | |
double _field5; | |
long long _field6; | |
struct CVSMPTETime _field7; | |
unsigned long long _field8; | |
unsigned long long _field9; | |
} CDStruct_e50ab651; | |
typedef struct { | |
double _currentDate; | |
double _birthDate; | |
double _lastDate; | |
struct { | |
unsigned int _skipped:1; | |
unsigned int _reserved:31; | |
} _flags; | |
} CDStruct_d41e72e8; | |
typedef struct { | |
CDStruct_d2b197d1 _field1; | |
CDStruct_d2b197d1 _field2; | |
CDStruct_d2b197d1 _field3; | |
id *_field4; | |
CDStruct_d2b197d1 _field5; | |
id *_field6; | |
CDStruct_d2b197d1 _field7; | |
CDStruct_d2b197d1 _field8; | |
id *_field9; | |
id _field10; | |
id _field11; | |
} CDStruct_309c9dfb; | |
typedef struct { | |
struct CGSize _field1; | |
struct CGSize _field2; | |
struct CGSize _field3; | |
unsigned long long _field4; | |
unsigned long long _field5; | |
} CDStruct_22276b4c; | |
typedef struct { | |
unsigned int :4; | |
unsigned int :1; | |
unsigned int :24; | |
union { | |
char *_field1; | |
struct *_field2; | |
struct __CFDictionary *_field3; | |
} _field1; | |
} CDStruct_d48118a8; | |
typedef struct { | |
long long _field1; | |
id _field2; | |
id _field3; | |
struct CGRect _field4; | |
double _field5; | |
char _field6; | |
char _field7; | |
} CDStruct_602775a4; | |
typedef struct { | |
unsigned char _field1; | |
unsigned char _field2; | |
short _field3; | |
int _field4; | |
unsigned char _field5; | |
char _field6; | |
unsigned char _field7; | |
unsigned char _field8; | |
short _field9; | |
short _field10; | |
union { | |
struct _CGSTabletPointData _field1; | |
struct _CGSTabletProximityData _field2; | |
} _field11; | |
unsigned int :1; | |
unsigned int :31; | |
unsigned int _field12; | |
unsigned int _field13; | |
unsigned int _field14; | |
} CDStruct_e29a92ac; | |
// Ambiguous groups | |
typedef struct { | |
unsigned int _inDealloc:1; | |
unsigned int _reserved:31; | |
} CDStruct_8f76168e; | |
typedef struct { | |
unsigned int isCursorInTarget:1; | |
unsigned int reserved:31; | |
} CDStruct_af82842b; | |
typedef struct { | |
unsigned int _reserved:32; | |
} CDStruct_4a40d4f7; | |
typedef struct { | |
unsigned int reserved:32; | |
} CDStruct_9fab449c; | |
#pragma mark - | |
// | |
// File: /System/Library/Frameworks/AppKit.framework/Versions/C/AppKit | |
// UUID: 8D38B41E-852C-30F9-9158-FE45FAF0B2F3 | |
// | |
// Arch: x86_64 | |
// Current version: 1347.53.0 | |
// Compatibility version: 45.0.0 | |
// Source version: 1347.53.0.0.0 | |
// Minimum Mac OS X version: 10.10.0 | |
// SDK version: 10.10.0 | |
// | |
// Objective-C Garbage Collection: Supported | |
// | |
@protocol NSInputAlignmentGuide <NSObject> | |
- (NSArray *)referenceValues; | |
- (long long)guideType; | |
@end | |
@protocol NSInputAlignmentMatch <NSObject> | |
- (id <NSInputAlignmentGuide>)alignmentGuide; | |
- (id <NSInputAlignmentGuide>)itemRepresentativeGuide; | |
- (id <NSInputAlignmentItem>)item; | |
@end | |
@interface NSInputAlignmentFilter : NSObject | |
{ | |
long long _reserved0; | |
long long _flags; | |
id _velocityFilter; | |
struct dispatch_source_s *_periodicUpdateTimer; | |
struct CGPoint _currentLocation; | |
double _currentTimestamp; | |
double _lastMovementTimestamp; | |
unsigned long long _modifierFlags; | |
struct CGPoint _movementSinceLastAlignment; | |
struct CGPoint _cumulativeMovementSinceLastAlignment; | |
struct CGPoint _lastAlignmentDistance; | |
id <NSObject> _references[4]; | |
id _reserved1; | |
} | |
+ (unsigned long long)inputEventMask; | |
+ (unsigned long long)filterInputEventMask; | |
- (BOOL)processAlignment:(struct CGPoint)arg1 ofReference:(id)arg2 againstGuide:(id)arg3; | |
- (BOOL)processVerticalAlignment:(double)arg1 ofReference:(id)arg2 againstHorizontalGuide:(id)arg3; | |
- (BOOL)processHorizontalAlignment:(double)arg1 ofReference:(id)arg2 againstVerticalGuide:(id)arg3; | |
- (void)updateWithPanRecognizer:(id)arg1; | |
- (void)updateWithEvent:(id)arg1; | |
- (id)init; | |
- (void)dealloc; | |
- (BOOL)alignDistance:(struct CGPoint)arg1; | |
- (BOOL)alignVerticalDistance:(double)arg1; | |
- (BOOL)alignHorizontalDistance:(double)arg1; | |
- (void)filterActionInputUsingPanRecognizer:(id)arg1; | |
- (void)filterInputEvent:(id)arg1; | |
- (void)_requestPeriodicUpdate; | |
- (void)_schedulePeriodicUpdateWithRecognizer:(id)arg1; | |
- (BOOL)_modifierFlagsAllowAlignment; | |
- (BOOL)_shouldAlignVerticalDistance:(double)arg1; | |
- (BOOL)_shouldAlignHorizontalDistance:(double)arg1; | |
- (BOOL)_canPerformAlignment; | |
- (void)_clearPeriodicTimer; | |
- (struct CGPoint)_filteredVelocity; | |
- (BOOL)_hasCurrentLocation; | |
- (struct CGPoint)_currentLocation; | |
- (double)_currentTimestamp; | |
- (void)_updateDragOnLocation:(struct CGPoint)arg1 timestamp:(double)arg2 modifierFlags:(unsigned long long)arg3 recognizer:(id)arg4; | |
- (void)_setSnapDistance:(long long)arg1; | |
- (void)_setActuationBlock:(CDUnknownBlockType)arg1; | |
- (BOOL)_isVerticalVelocityAlignable; | |
- (BOOL)_isHorizontalVelocityAlignable; | |
@end | |
@interface NSInputAlignmentController : NSObject | |
{ | |
id <NSInputAlignmentControllerDelegate> _delegate; | |
NSMutableArray *_sessions; | |
id _reserved0; | |
} | |
+ (struct CGPoint)alignmentDeltaFromMatches:(id)arg1; | |
@property __weak id <NSInputAlignmentControllerDelegate> delegate; // @synthesize delegate=_delegate; | |
- (void)clearAlignmentStateForItem:(id)arg1; | |
- (void)setAlignmentGuides:(id)arg1 affectingItem:(id)arg2; | |
- (id)checkAlignmentOfItem:(id)arg1; | |
- (id)alignItem:(id)arg1 usingFilter:(id)arg2; | |
- (id)init; | |
- (void)dealloc; | |
- (BOOL)_delegateShouldAlignOnMatch:(id)arg1; | |
- (id)_sessionForItem:(id)arg1; | |
@end | |
@interface NSInputAlignmentGuide : NSObject <NSInputAlignmentGuide> | |
{ | |
long long _guideType; | |
NSArray *_referenceValues; | |
} | |
+ (id)guidesBorderingRect:(struct CGRect)arg1; | |
+ (id)guideWithType:(long long)arg1 referenceValues:(id)arg2; | |
- (id)referenceValues; | |
- (long long)guideType; | |
- (BOOL)isEqual:(id)arg1; | |
- (id)initWithType:(long long)arg1 referenceValues:(id)arg2; | |
- (void)dealloc; | |
// Remaining properties | |
@property(readonly, copy) NSString *debugDescription; | |
@property(readonly, copy) NSString *description; | |
@property(readonly) unsigned long long hash; | |
@property(readonly) Class superclass; | |
@end | |
@interface _NSInputAlignmentGuide : NSObject | |
{ | |
id <NSInputAlignmentGuide> _guide; | |
long long _guideType; | |
NSArray *_referenceValues; | |
long long _representativeIndex; | |
} | |
- (BOOL)isEqual:(id)arg1; | |
- (double)yDoubleValueAtIndex:(unsigned long long)arg1; | |
- (double)xDoubleValueAtIndex:(unsigned long long)arg1; | |
- (struct CGPoint)pointValueAtIndex:(unsigned long long)arg1; | |
- (id)referenceValues; | |
- (void)dealloc; | |
@end | |
@interface _NSInputAlignmentItem : NSObject | |
{ | |
id <NSInputAlignmentItem> _item; | |
NSArray *_representativeGuides; | |
} | |
- (void)_updateRepresentativeGuides; | |
- (void)dealloc; | |
@end | |
@interface _NSInputAlignmentMatch : NSObject <NSInputAlignmentMatch> | |
{ | |
struct CGPoint _delta; | |
BOOL _alignsX; | |
BOOL _alignsY; | |
_NSInputAlignmentItem *_item; | |
_NSInputAlignmentGuide *_itemRepresentativeGuide; | |
_NSInputAlignmentGuide *_alignmentGuide; | |
} | |
- (id)alignmentGuide; | |
- (id)itemRepresentativeGuide; | |
- (id)item; | |
- (void)dealloc; | |
// Remaining properties | |
@property(readonly, copy) NSString *debugDescription; | |
@property(readonly, copy) NSString *description; | |
@property(readonly) unsigned long long hash; | |
@property(readonly) Class superclass; | |
@end | |
@interface _NSInputAlignmentControllerSession : NSObject | |
{ | |
_NSInputAlignmentItem *_item; | |
NSInputAlignmentController *_controller; | |
NSArray *_alignmentGuidesAffectingItem; | |
NSInputAlignmentFilter *_activeFilter; | |
} | |
- (id)alignItemUsingFilter:(id)arg1; | |
- (void)setAlignmentGuidesAffectingItem:(id)arg1; | |
- (id)initWithItem:(id)arg1 controller:(id)arg2; | |
- (void)dealloc; | |
@end | |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// Some extra actuation-/force-feedback-specific APIs | |
// | |
// Generated by class-dump 3.5 (64 bit). | |
// | |
// class-dump is Copyright (C) 1997-1998, 2000-2001, 2004-2013 by Steve Nygard. | |
// | |
#pragma mark Function Pointers and Blocks | |
typedef void (*CDUnknownFunctionPointerType)(void); // return type and parameters are unknown | |
typedef void (^CDUnknownBlockType)(void); // return type and parameters are unknown | |
#pragma mark Named Structures | |
#pragma mark Typedef'd Structures | |
typedef struct { | |
id _field1; | |
SEL _field2; | |
SEL _field3; | |
SEL _field4; | |
} CDStruct_4fdc8b6f; | |
typedef struct { | |
id _field1; | |
SEL _field2; | |
void *_field3; | |
} CDStruct_f8f0024c; | |
typedef struct { | |
id _field1; | |
SEL _field2; | |
} CDStruct_b2dc443c; | |
typedef struct { | |
NSData *stream; | |
char *currentPtr; | |
char *endPtr; | |
} CDStruct_d87b8232; | |
typedef struct { | |
unsigned long long serial; | |
unsigned long long timestamp; | |
unsigned long long delta; | |
} CDStruct_c75109f2; | |
typedef struct { | |
unsigned long long _field1; | |
id *_field2; | |
unsigned long long *_field3; | |
unsigned long long _field4[5]; | |
} CDStruct_70511ce9; | |
typedef struct { | |
char *data; | |
int len; | |
} CDStruct_815caf98; | |
typedef struct { | |
char _field1; | |
char _field2; | |
char _field3; | |
double _field4; | |
double _field5; | |
double _field6; | |
double _field7; | |
double _field8; | |
double _field9; | |
double _field10; | |
double _field11; | |
double _field12; | |
char _field13; | |
long long _field14; | |
char _field15; | |
double _field16; | |
} CDStruct_dc60c16d; | |
typedef struct { | |
char _field1; | |
char _field2; | |
double _field3; | |
} CDStruct_8e9e3288; | |
typedef struct { | |
double minPossiblePosition; | |
double minAllowablePosition; | |
double maxAllowablePosition; | |
double maxPossiblePosition; | |
char canCollapseBeforeView; | |
char canCollapseAfterView; | |
} CDStruct_0a28aba5; | |
typedef struct { | |
double _field1; | |
double _field2; | |
double _field3; | |
double _field4; | |
} CDStruct_d2b197d1; | |
typedef struct { | |
float _field1; | |
int _field2[10]; | |
} CDStruct_6f4e2a38; | |
typedef struct { | |
long long _field1; | |
unsigned int _field2; | |
} CDStruct_0f3e1ffa; | |
typedef struct { | |
long long generationCount; | |
long long changeCount; | |
} CDStruct_df2dc5d0; | |
typedef struct { | |
short _field1; | |
short _field2; | |
short _field3; | |
short _field4; | |
int _field5; | |
int _field6; | |
int _field7; | |
int _field8; | |
int _field9; | |
int _field10; | |
unsigned int _field11; | |
int _field12; | |
int _field13; | |
unsigned int _field14; | |
unsigned int :1; | |
unsigned int :1; | |
unsigned int :1; | |
unsigned int :29; | |
unsigned int _field15; | |
unsigned int _field16; | |
int _field17[1]; | |
} CDStruct_2e65c88c; | |
typedef struct { | |
short _field1; | |
short _field2; | |
} CDStruct_dd0be819; | |
typedef struct { | |
unsigned int _field1; | |
int _field2; | |
long long _field3; | |
unsigned long long _field4; | |
double _field5; | |
long long _field6; | |
struct CVSMPTETime _field7; | |
unsigned long long _field8; | |
unsigned long long _field9; | |
} CDStruct_e50ab651; | |
typedef struct { | |
double _currentDate; | |
double _birthDate; | |
double _lastDate; | |
struct { | |
unsigned int _skipped:1; | |
unsigned int _reserved:31; | |
} _flags; | |
} CDStruct_d41e72e8; | |
typedef struct { | |
CDStruct_d2b197d1 _field1; | |
CDStruct_d2b197d1 _field2; | |
CDStruct_d2b197d1 _field3; | |
id *_field4; | |
CDStruct_d2b197d1 _field5; | |
id *_field6; | |
CDStruct_d2b197d1 _field7; | |
CDStruct_d2b197d1 _field8; | |
id *_field9; | |
id _field10; | |
id _field11; | |
} CDStruct_309c9dfb; | |
typedef struct { | |
struct CGSize _field1; | |
struct CGSize _field2; | |
struct CGSize _field3; | |
unsigned long long _field4; | |
unsigned long long _field5; | |
} CDStruct_22276b4c; | |
typedef struct { | |
unsigned int :4; | |
unsigned int :1; | |
unsigned int :24; | |
union { | |
char *_field1; | |
struct *_field2; | |
struct __CFDictionary *_field3; | |
} _field1; | |
} CDStruct_d48118a8; | |
typedef struct { | |
long long _field1; | |
id _field2; | |
id _field3; | |
struct CGRect _field4; | |
double _field5; | |
char _field6; | |
char _field7; | |
} CDStruct_602775a4; | |
typedef struct { | |
unsigned char _field1; | |
unsigned char _field2; | |
short _field3; | |
int _field4; | |
unsigned char _field5; | |
char _field6; | |
unsigned char _field7; | |
unsigned char _field8; | |
short _field9; | |
short _field10; | |
union { | |
struct _CGSTabletPointData _field1; | |
struct _CGSTabletProximityData _field2; | |
} _field11; | |
unsigned int :1; | |
unsigned int :31; | |
unsigned int _field12; | |
unsigned int _field13; | |
unsigned int _field14; | |
} CDStruct_e29a92ac; | |
// Ambiguous groups | |
typedef struct { | |
unsigned int _inDealloc:1; | |
unsigned int _reserved:31; | |
} CDStruct_8f76168e; | |
typedef struct { | |
unsigned int isCursorInTarget:1; | |
unsigned int reserved:31; | |
} CDStruct_af82842b; | |
typedef struct { | |
unsigned int _reserved:32; | |
} CDStruct_4a40d4f7; | |
typedef struct { | |
unsigned int reserved:32; | |
} CDStruct_9fab449c; | |
#pragma mark - | |
// | |
// File: /System/Library/Frameworks/AppKit.framework/Versions/C/AppKit | |
// UUID: 8D38B41E-852C-30F9-9158-FE45FAF0B2F3 | |
// | |
// Arch: x86_64 | |
// Current version: 1347.53.0 | |
// Compatibility version: 45.0.0 | |
// Source version: 1347.53.0.0.0 | |
// Minimum Mac OS X version: 10.10.0 | |
// SDK version: 10.10.0 | |
// | |
// Objective-C Garbage Collection: Supported | |
// | |
@protocol NSInputFeedbackPerformer <NSObject> | |
- (void)performFeedbackPattern:(long long)arg1 forTimestamp:(double)arg2; | |
@end | |
@interface NSInputFeedbackManager : NSObject | |
{ | |
} | |
+ (id)defaultPerformer; | |
+ (void)_requestVisuallySynchronizedPerformance:(id)arg1 feedbackPattern:(long long)arg2; | |
+ (void)_peformOutstandingVisuallySyncronizedPerformanceRequests; | |
@end | |
@interface NSTouchDevice : NSObject <NSInputFeedbackPerformer> | |
{ | |
unsigned long long _deviceID; | |
long long _reserved1; | |
double _reserved2; | |
long long _flags; | |
struct CGSize _surfaceSize; | |
id _reserved3[3]; | |
} | |
+ (void)_touchDeviceRemoved:(id)arg1; | |
+ (void)_touchDeviceAdded:(id)arg1; | |
+ (BOOL)_hasForceCapableTouchDevice; | |
+ (BOOL)_hasPressureEnabledTouchDevice; | |
+ (id)_touchDeviceFromTrueDeviceID:(unsigned long long)arg1; | |
+ (id)touchDeviceFromDeviceID:(unsigned long long)arg1; | |
+ (void)actuateWithPattern:(long long)arg1 forEvent:(id)arg2; | |
+ (id)touchDevices; | |
+ (id)_touchDeviceWithIOHIDDictionary:(id)arg1; | |
+ (void)_pressureCapabilitiesPrefChanged:(id)arg1; | |
+ (void)initialize; | |
@property(readonly) struct CGSize surfaceSize; // @synthesize surfaceSize=_surfaceSize; | |
@property(readonly) unsigned long long deviceID; // @synthesize deviceID=_deviceID; | |
- (BOOL)supportsForce; | |
- (BOOL)hasActuation; | |
- (id)_cancelledTouches; | |
- (id)_touchingTouches; | |
- (id)_deviceInfo; | |
- (void)setOverridePressureConfiguration:(id)arg1; | |
- (void)_actuateWithPattern:(long long)arg1 timestamp:(double)arg2 suppressible:(BOOL)arg3; | |
- (void)actuateWithPattern:(long long)arg1 timestamp:(double)arg2; | |
- (void)performFeedbackPattern:(long long)arg1 forTimestamp:(double)arg2; | |
- (unsigned long long)_trueDeviceID; | |
- (long long)deviceType; | |
- (id)_initWithIOHIDDictionary:(id)arg1; | |
- (id)init; | |
- (void)dealloc; | |
@property(readonly, copy) NSString *description; | |
// Remaining properties | |
@property(readonly, copy) NSString *debugDescription; | |
@property(readonly) unsigned long long hash; | |
@property(readonly) Class superclass; | |
@end | |
__attribute__((visibility("hidden"))) | |
@interface NSTrackpadFeedbackPerformer : NSObject <NSInputFeedbackPerformer> | |
{ | |
} | |
- (void)_performFeedbackPattern:(long long)arg1; | |
- (void)performFeedbackPattern:(long long)arg1 forTimestamp:(double)arg2; | |
- (void)_performFeedbackPattern:(long long)arg1 when:(unsigned long long)arg2; | |
// Remaining properties | |
@property(readonly, copy) NSString *debugDescription; | |
@property(readonly, copy) NSString *description; | |
@property(readonly) unsigned long long hash; | |
@property(readonly) Class superclass; | |
@end | |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
😬