pyobjc-framework-CoreHaptics 10.3.2__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,45 @@
1
+ """
2
+ Python mapping for the CoreHaptics framework.
3
+
4
+ This module does not contain docstrings for the wrapped code, check Apple's
5
+ documentation for details on how to use these functions and classes.
6
+ """
7
+
8
+
9
+ def _setup():
10
+ import sys
11
+
12
+ import Foundation
13
+ import objc
14
+ from . import _metadata
15
+
16
+ dir_func, getattr_func = objc.createFrameworkDirAndGetattr(
17
+ name="CoreHaptics",
18
+ frameworkIdentifier="com.apple.CoreHaptics",
19
+ frameworkPath=objc.pathForFramework(
20
+ "/System/Library/Frameworks/CoreHaptics.framework"
21
+ ),
22
+ globals_dict=globals(),
23
+ inline_list=None,
24
+ parents=(Foundation,),
25
+ metadict=_metadata.__dict__,
26
+ )
27
+
28
+ globals()["__dir__"] = dir_func
29
+ globals()["__getattr__"] = getattr_func
30
+
31
+ for cls, sel in (
32
+ ("CHHapticPattern", b"init"),
33
+ ("CHHapticEvent", b"init"),
34
+ ("CHHapticEngine", b"init"),
35
+ ("CHHapticEventParameter", b"init"),
36
+ ("CHHapticDynamicParameter", b"init"),
37
+ ("CHHapticParameterCurveControlPoint", b"init"),
38
+ ("CHHapticParameterCurve", b"init"),
39
+ ):
40
+ objc.registerUnavailableMethod(cls, sel)
41
+
42
+ del sys.modules["CoreHaptics._metadata"]
43
+
44
+
45
+ globals().pop("_setup")()
@@ -0,0 +1,429 @@
1
+ # This file is generated by objective.metadata
2
+ #
3
+ # Last update: Sat May 18 09:20:12 2024
4
+ #
5
+ # flake8: noqa
6
+
7
+ import objc, sys
8
+ from typing import NewType
9
+
10
+ if sys.maxsize > 2**32:
11
+
12
+ def sel32or64(a, b):
13
+ return b
14
+
15
+ else:
16
+
17
+ def sel32or64(a, b):
18
+ return a
19
+
20
+
21
+ if objc.arch == "arm64":
22
+
23
+ def selAorI(a, b):
24
+ return a
25
+
26
+ else:
27
+
28
+ def selAorI(a, b):
29
+ return b
30
+
31
+
32
+ misc = {}
33
+ constants = """$CHHapticAudioResourceKeyLoopEnabled$CHHapticAudioResourceKeyUseVolumeEnvelope$CHHapticDynamicParameterIDAudioAttackTimeControl$CHHapticDynamicParameterIDAudioBrightnessControl$CHHapticDynamicParameterIDAudioDecayTimeControl$CHHapticDynamicParameterIDAudioPanControl$CHHapticDynamicParameterIDAudioPitchControl$CHHapticDynamicParameterIDAudioReleaseTimeControl$CHHapticDynamicParameterIDAudioVolumeControl$CHHapticDynamicParameterIDHapticAttackTimeControl$CHHapticDynamicParameterIDHapticDecayTimeControl$CHHapticDynamicParameterIDHapticIntensityControl$CHHapticDynamicParameterIDHapticReleaseTimeControl$CHHapticDynamicParameterIDHapticSharpnessControl$CHHapticEventParameterIDAttackTime$CHHapticEventParameterIDAudioBrightness$CHHapticEventParameterIDAudioPan$CHHapticEventParameterIDAudioPitch$CHHapticEventParameterIDAudioVolume$CHHapticEventParameterIDDecayTime$CHHapticEventParameterIDHapticIntensity$CHHapticEventParameterIDHapticSharpness$CHHapticEventParameterIDReleaseTime$CHHapticEventParameterIDSustained$CHHapticEventTypeAudioContinuous$CHHapticEventTypeAudioCustom$CHHapticEventTypeHapticContinuous$CHHapticEventTypeHapticTransient$CHHapticPatternKeyEvent$CHHapticPatternKeyEventDuration$CHHapticPatternKeyEventParameters$CHHapticPatternKeyEventType$CHHapticPatternKeyEventWaveformLoopEnabled$CHHapticPatternKeyEventWaveformPath$CHHapticPatternKeyEventWaveformUseVolumeEnvelope$CHHapticPatternKeyParameter$CHHapticPatternKeyParameterCurve$CHHapticPatternKeyParameterCurveControlPoints$CHHapticPatternKeyParameterID$CHHapticPatternKeyParameterValue$CHHapticPatternKeyPattern$CHHapticPatternKeyTime$CHHapticPatternKeyVersion$"""
34
+ enums = """$CHHapticEngineFinishedActionLeaveEngineRunning@2$CHHapticEngineFinishedActionStopEngine@1$CHHapticEngineStoppedReasonApplicationSuspended@2$CHHapticEngineStoppedReasonAudioSessionInterrupt@1$CHHapticEngineStoppedReasonEngineDestroyed@5$CHHapticEngineStoppedReasonGameControllerDisconnect@6$CHHapticEngineStoppedReasonIdleTimeout@3$CHHapticEngineStoppedReasonNotifyWhenFinished@4$CHHapticEngineStoppedReasonSystemError@-1$CHHapticErrorCodeBadEventEntry@-4830$CHHapticErrorCodeBadParameterEntry@-4831$CHHapticErrorCodeEngineNotRunning@-4805$CHHapticErrorCodeEngineStartTimeout@-4808$CHHapticErrorCodeFileNotFound@-4851$CHHapticErrorCodeInsufficientPower@-4897$CHHapticErrorCodeInvalidAudioResource@-4824$CHHapticErrorCodeInvalidAudioSession@-4815$CHHapticErrorCodeInvalidEngineParameter@-4816$CHHapticErrorCodeInvalidEventDuration@-4823$CHHapticErrorCodeInvalidEventTime@-4822$CHHapticErrorCodeInvalidEventType@-4821$CHHapticErrorCodeInvalidParameterType@-4820$CHHapticErrorCodeInvalidPatternData@-4813$CHHapticErrorCodeInvalidPatternDictionary@-4814$CHHapticErrorCodeInvalidPatternPlayer@-4812$CHHapticErrorCodeInvalidTime@-4840$CHHapticErrorCodeMemoryError@-4899$CHHapticErrorCodeNotSupported@-4809$CHHapticErrorCodeOperationNotPermitted@-4806$CHHapticErrorCodeResourceNotAvailable@-4825$CHHapticErrorCodeServerInitFailed@-4810$CHHapticErrorCodeServerInterrupted@-4811$CHHapticErrorCodeUnknownError@-4898$CHHapticTimeImmediate@0.0$"""
35
+ misc.update(
36
+ {
37
+ "CHHapticEngineFinishedAction": NewType("CHHapticEngineFinishedAction", int),
38
+ "CHHapticErrorCode": NewType("CHHapticErrorCode", int),
39
+ "CHHapticEngineStoppedReason": NewType("CHHapticEngineStoppedReason", int),
40
+ }
41
+ )
42
+ misc.update(
43
+ {
44
+ "CHHapticEventParameterID": NewType("CHHapticEventParameterID", str),
45
+ "CHHapticEventType": NewType("CHHapticEventType", str),
46
+ "CHHapticPatternKey": NewType("CHHapticPatternKey", str),
47
+ "CHHapticDynamicParameterID": NewType("CHHapticDynamicParameterID", str),
48
+ }
49
+ )
50
+ misc.update({})
51
+ r = objc.registerMetaDataForSelector
52
+ objc._updatingMetadata(True)
53
+ try:
54
+ r(
55
+ b"CHHapticEngine",
56
+ b"createAdvancedPlayerWithPattern:error:",
57
+ {"arguments": {3: {"type_modifier": b"o"}}},
58
+ )
59
+ r(
60
+ b"CHHapticEngine",
61
+ b"createPlayerWithPattern:error:",
62
+ {"arguments": {3: {"type_modifier": b"o"}}},
63
+ )
64
+ r(
65
+ b"CHHapticEngine",
66
+ b"initAndReturnError:",
67
+ {"arguments": {2: {"type_modifier": b"o"}}},
68
+ )
69
+ r(
70
+ b"CHHapticEngine",
71
+ b"initWithAudioSession:error:",
72
+ {"arguments": {3: {"type_modifier": b"o"}}},
73
+ )
74
+ r(b"CHHapticEngine", b"isAutoShutdownEnabled", {"retval": {"type": b"Z"}})
75
+ r(b"CHHapticEngine", b"isMutedForAudio", {"retval": {"type": b"Z"}})
76
+ r(b"CHHapticEngine", b"isMutedForHaptics", {"retval": {"type": b"Z"}})
77
+ r(
78
+ b"CHHapticEngine",
79
+ b"notifyWhenPlayersFinished:",
80
+ {
81
+ "arguments": {
82
+ 2: {
83
+ "callable": {
84
+ "retval": {"type": b"q"},
85
+ "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}},
86
+ }
87
+ }
88
+ }
89
+ },
90
+ )
91
+ r(
92
+ b"CHHapticEngine",
93
+ b"playPatternFromData:error:",
94
+ {"retval": {"type": b"Z"}, "arguments": {3: {"type_modifier": b"o"}}},
95
+ )
96
+ r(
97
+ b"CHHapticEngine",
98
+ b"playPatternFromURL:error:",
99
+ {"retval": {"type": b"Z"}, "arguments": {3: {"type_modifier": b"o"}}},
100
+ )
101
+ r(b"CHHapticEngine", b"playsAudioOnly", {"retval": {"type": b"Z"}})
102
+ r(b"CHHapticEngine", b"playsHapticsOnly", {"retval": {"type": b"Z"}})
103
+ r(
104
+ b"CHHapticEngine",
105
+ b"registerAudioResource:options:error:",
106
+ {"arguments": {4: {"type_modifier": b"o"}}},
107
+ )
108
+ r(
109
+ b"CHHapticEngine",
110
+ b"resetHandler",
111
+ {
112
+ "retval": {
113
+ "callable": {
114
+ "retval": {"type": b"v"},
115
+ "arguments": {0: {"type": b"^v"}},
116
+ }
117
+ }
118
+ },
119
+ )
120
+ r(b"CHHapticEngine", b"setAutoShutdownEnabled:", {"arguments": {2: {"type": b"Z"}}})
121
+ r(b"CHHapticEngine", b"setIsMutedForAudio:", {"arguments": {2: {"type": b"Z"}}})
122
+ r(b"CHHapticEngine", b"setIsMutedForHaptics:", {"arguments": {2: {"type": b"Z"}}})
123
+ r(b"CHHapticEngine", b"setPlaysAudioOnly:", {"arguments": {2: {"type": b"Z"}}})
124
+ r(b"CHHapticEngine", b"setPlaysHapticsOnly:", {"arguments": {2: {"type": b"Z"}}})
125
+ r(
126
+ b"CHHapticEngine",
127
+ b"setResetHandler:",
128
+ {
129
+ "arguments": {
130
+ 2: {
131
+ "callable": {
132
+ "retval": {"type": b"v"},
133
+ "arguments": {0: {"type": b"^v"}},
134
+ }
135
+ }
136
+ }
137
+ },
138
+ )
139
+ r(
140
+ b"CHHapticEngine",
141
+ b"setStoppedHandler:",
142
+ {
143
+ "arguments": {
144
+ 2: {
145
+ "callable": {
146
+ "retval": {"type": b"v"},
147
+ "arguments": {0: {"type": b"^v"}, 1: {"type": b"q"}},
148
+ }
149
+ }
150
+ }
151
+ },
152
+ )
153
+ r(
154
+ b"CHHapticEngine",
155
+ b"startAndReturnError:",
156
+ {"retval": {"type": b"Z"}, "arguments": {2: {"type_modifier": b"o"}}},
157
+ )
158
+ r(
159
+ b"CHHapticEngine",
160
+ b"startWithCompletionHandler:",
161
+ {
162
+ "arguments": {
163
+ 2: {
164
+ "callable": {
165
+ "retval": {"type": b"v"},
166
+ "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}},
167
+ }
168
+ }
169
+ }
170
+ },
171
+ )
172
+ r(
173
+ b"CHHapticEngine",
174
+ b"stopWithCompletionHandler:",
175
+ {
176
+ "arguments": {
177
+ 2: {
178
+ "callable": {
179
+ "retval": {"type": b"v"},
180
+ "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}},
181
+ }
182
+ }
183
+ }
184
+ },
185
+ )
186
+ r(
187
+ b"CHHapticEngine",
188
+ b"stoppedHandler",
189
+ {
190
+ "retval": {
191
+ "callable": {
192
+ "retval": {"type": b"v"},
193
+ "arguments": {0: {"type": b"^v"}, 1: {"type": b"q"}},
194
+ }
195
+ }
196
+ },
197
+ )
198
+ r(
199
+ b"CHHapticEngine",
200
+ b"unregisterAudioResource:error:",
201
+ {"retval": {"type": b"Z"}, "arguments": {3: {"type_modifier": b"o"}}},
202
+ )
203
+ r(
204
+ b"CHHapticPattern",
205
+ b"exportDictionaryAndReturnError:",
206
+ {"arguments": {2: {"type_modifier": b"o"}}},
207
+ )
208
+ r(
209
+ b"CHHapticPattern",
210
+ b"initWithContentsOfURL:error:",
211
+ {"arguments": {3: {"type_modifier": b"o"}}},
212
+ )
213
+ r(
214
+ b"CHHapticPattern",
215
+ b"initWithDictionary:error:",
216
+ {"arguments": {3: {"type_modifier": b"o"}}},
217
+ )
218
+ r(
219
+ b"CHHapticPattern",
220
+ b"initWithEvents:parameterCurves:error:",
221
+ {"arguments": {4: {"type_modifier": b"o"}}},
222
+ )
223
+ r(
224
+ b"CHHapticPattern",
225
+ b"initWithEvents:parameters:error:",
226
+ {"arguments": {4: {"type_modifier": b"o"}}},
227
+ )
228
+ r(
229
+ b"NSObject",
230
+ b"attributesForDynamicParameter:error:",
231
+ {
232
+ "required": True,
233
+ "retval": {"type": b"@"},
234
+ "arguments": {2: {"type": b"@"}, 3: {"type": b"^@", "type_modifier": b"o"}},
235
+ },
236
+ )
237
+ r(
238
+ b"NSObject",
239
+ b"attributesForEventParameter:eventType:error:",
240
+ {
241
+ "required": True,
242
+ "retval": {"type": b"@"},
243
+ "arguments": {
244
+ 2: {"type": b"@"},
245
+ 3: {"type": b"@"},
246
+ 4: {"type": b"^@", "type_modifier": b"o"},
247
+ },
248
+ },
249
+ )
250
+ r(
251
+ b"NSObject",
252
+ b"cancelAndReturnError:",
253
+ {
254
+ "required": True,
255
+ "retval": {"type": b"Z"},
256
+ "arguments": {2: {"type": b"^@", "type_modifier": b"o"}},
257
+ },
258
+ )
259
+ r(
260
+ b"NSObject",
261
+ b"completionHandler",
262
+ {
263
+ "required": True,
264
+ "retval": {
265
+ "callable": {
266
+ "retval": {"type": b"v"},
267
+ "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}},
268
+ },
269
+ "type": b"@?",
270
+ },
271
+ },
272
+ )
273
+ r(b"NSObject", b"defaultValue", {"required": True, "retval": {"type": b"f"}})
274
+ r(b"NSObject", b"isMuted", {"required": True, "retval": {"type": b"Z"}})
275
+ r(b"NSObject", b"loopEnabled", {"required": True, "retval": {"type": b"Z"}})
276
+ r(b"NSObject", b"loopEnd", {"required": True, "retval": {"type": b"d"}})
277
+ r(b"NSObject", b"maxValue", {"required": True, "retval": {"type": b"f"}})
278
+ r(b"NSObject", b"minValue", {"required": True, "retval": {"type": b"f"}})
279
+ r(
280
+ b"NSObject",
281
+ b"pauseAtTime:error:",
282
+ {
283
+ "required": True,
284
+ "retval": {"type": b"Z"},
285
+ "arguments": {2: {"type": b"d"}, 3: {"type": b"^@", "type_modifier": b"o"}},
286
+ },
287
+ )
288
+ r(b"NSObject", b"playbackRate", {"required": True, "retval": {"type": b"f"}})
289
+ r(
290
+ b"NSObject",
291
+ b"resumeAtTime:error:",
292
+ {
293
+ "required": True,
294
+ "retval": {"type": b"Z"},
295
+ "arguments": {2: {"type": b"d"}, 3: {"type": b"^@", "type_modifier": b"o"}},
296
+ },
297
+ )
298
+ r(
299
+ b"NSObject",
300
+ b"scheduleParameterCurve:atTime:error:",
301
+ {
302
+ "required": True,
303
+ "retval": {"type": b"Z"},
304
+ "arguments": {
305
+ 2: {"type": b"@"},
306
+ 3: {"type": b"d"},
307
+ 4: {"type": b"^@", "type_modifier": b"o"},
308
+ },
309
+ },
310
+ )
311
+ r(
312
+ b"NSObject",
313
+ b"seekToOffset:error:",
314
+ {
315
+ "required": True,
316
+ "retval": {"type": b"Z"},
317
+ "arguments": {2: {"type": b"d"}, 3: {"type": b"^@", "type_modifier": b"o"}},
318
+ },
319
+ )
320
+ r(
321
+ b"NSObject",
322
+ b"sendParameters:atTime:error:",
323
+ {
324
+ "required": True,
325
+ "retval": {"type": b"Z"},
326
+ "arguments": {
327
+ 2: {"type": b"@"},
328
+ 3: {"type": b"d"},
329
+ 4: {"type": b"^@", "type_modifier": b"o"},
330
+ },
331
+ },
332
+ )
333
+ r(
334
+ b"NSObject",
335
+ b"setCompletionHandler:",
336
+ {
337
+ "required": True,
338
+ "retval": {"type": b"v"},
339
+ "arguments": {
340
+ 2: {
341
+ "callable": {
342
+ "retval": {"type": b"v"},
343
+ "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}},
344
+ },
345
+ "type": b"@?",
346
+ }
347
+ },
348
+ },
349
+ )
350
+ r(
351
+ b"NSObject",
352
+ b"setIsMuted:",
353
+ {"required": True, "retval": {"type": b"v"}, "arguments": {2: {"type": b"Z"}}},
354
+ )
355
+ r(
356
+ b"NSObject",
357
+ b"setLoopEnabled:",
358
+ {"required": True, "retval": {"type": b"v"}, "arguments": {2: {"type": b"Z"}}},
359
+ )
360
+ r(
361
+ b"NSObject",
362
+ b"setLoopEnd:",
363
+ {"required": True, "retval": {"type": b"v"}, "arguments": {2: {"type": b"d"}}},
364
+ )
365
+ r(
366
+ b"NSObject",
367
+ b"setPlaybackRate:",
368
+ {"required": True, "retval": {"type": b"v"}, "arguments": {2: {"type": b"f"}}},
369
+ )
370
+ r(
371
+ b"NSObject",
372
+ b"startAtTime:error:",
373
+ {
374
+ "required": True,
375
+ "retval": {"type": b"Z"},
376
+ "arguments": {2: {"type": b"d"}, 3: {"type": b"^@", "type_modifier": b"o"}},
377
+ },
378
+ )
379
+ r(
380
+ b"NSObject",
381
+ b"stopAtTime:error:",
382
+ {
383
+ "required": True,
384
+ "retval": {"type": b"Z"},
385
+ "arguments": {2: {"type": b"d"}, 3: {"type": b"^@", "type_modifier": b"o"}},
386
+ },
387
+ )
388
+ r(b"NSObject", b"supportsAudio", {"required": True, "retval": {"type": b"Z"}})
389
+ r(b"NSObject", b"supportsHaptics", {"required": True, "retval": {"type": b"Z"}})
390
+ finally:
391
+ objc._updatingMetadata(False)
392
+
393
+ objc.registerNewKeywordsFromSelector(
394
+ "CHHapticDynamicParameter", b"initWithParameterID:value:relativeTime:"
395
+ )
396
+ objc.registerNewKeywordsFromSelector("CHHapticEngine", b"initAndReturnError:")
397
+ objc.registerNewKeywordsFromSelector("CHHapticEngine", b"initWithAudioSession:error:")
398
+ objc.registerNewKeywordsFromSelector(
399
+ "CHHapticEvent", b"initWithAudioResourceID:parameters:relativeTime:"
400
+ )
401
+ objc.registerNewKeywordsFromSelector(
402
+ "CHHapticEvent", b"initWithAudioResourceID:parameters:relativeTime:duration:"
403
+ )
404
+ objc.registerNewKeywordsFromSelector(
405
+ "CHHapticEvent", b"initWithEventType:parameters:relativeTime:"
406
+ )
407
+ objc.registerNewKeywordsFromSelector(
408
+ "CHHapticEvent", b"initWithEventType:parameters:relativeTime:duration:"
409
+ )
410
+ objc.registerNewKeywordsFromSelector(
411
+ "CHHapticEventParameter", b"initWithParameterID:value:"
412
+ )
413
+ objc.registerNewKeywordsFromSelector(
414
+ "CHHapticParameterCurve", b"initWithParameterID:controlPoints:relativeTime:"
415
+ )
416
+ objc.registerNewKeywordsFromSelector(
417
+ "CHHapticParameterCurveControlPoint", b"initWithRelativeTime:value:"
418
+ )
419
+ objc.registerNewKeywordsFromSelector("CHHapticPattern", b"initWithContentsOfURL:error:")
420
+ objc.registerNewKeywordsFromSelector("CHHapticPattern", b"initWithDictionary:error:")
421
+ objc.registerNewKeywordsFromSelector(
422
+ "CHHapticPattern", b"initWithEvents:parameterCurves:error:"
423
+ )
424
+ objc.registerNewKeywordsFromSelector(
425
+ "CHHapticPattern", b"initWithEvents:parameters:error:"
426
+ )
427
+ expressions = {"CHHapticTimeImmediate": "(NSTimeInterval)0.0f"}
428
+
429
+ # END OF FILE
@@ -0,0 +1,56 @@
1
+ Metadata-Version: 2.1
2
+ Name: pyobjc-framework-CoreHaptics
3
+ Version: 10.3.2
4
+ Summary: Wrappers for the framework CoreHaptics on macOS
5
+ Home-page: https://github.com/ronaldoussoren/pyobjc
6
+ Author: Ronald Oussoren
7
+ Author-email: pyobjc-dev@lists.sourceforge.net
8
+ License: MIT License
9
+ Keywords: PyObjC,CoreHaptics
10
+ Platform: MacOS X (>=10.15)
11
+ Classifier: Development Status :: 5 - Production/Stable
12
+ Classifier: Environment :: Console
13
+ Classifier: Environment :: MacOS X :: Cocoa
14
+ Classifier: Intended Audience :: Developers
15
+ Classifier: License :: OSI Approved :: MIT License
16
+ Classifier: Natural Language :: English
17
+ Classifier: Operating System :: MacOS :: MacOS X
18
+ Classifier: Programming Language :: Python
19
+ Classifier: Programming Language :: Python :: 3
20
+ Classifier: Programming Language :: Python :: 3 :: Only
21
+ Classifier: Programming Language :: Python :: 3.8
22
+ Classifier: Programming Language :: Python :: 3.9
23
+ Classifier: Programming Language :: Python :: 3.10
24
+ Classifier: Programming Language :: Python :: 3.11
25
+ Classifier: Programming Language :: Python :: 3.12
26
+ Classifier: Programming Language :: Python :: 3.13
27
+ Classifier: Programming Language :: Python :: Implementation :: CPython
28
+ Classifier: Programming Language :: Objective C
29
+ Classifier: Topic :: Software Development :: Libraries :: Python Modules
30
+ Classifier: Topic :: Software Development :: User Interfaces
31
+ Requires-Python: >=3.8
32
+ Description-Content-Type: text/x-rst; charset=UTF-8
33
+ Requires-Dist: pyobjc-core>=10.3.2
34
+ Requires-Dist: pyobjc-framework-Cocoa>=10.3.2
35
+ Project-URL: Documentation, https://pyobjc.readthedocs.io/en/latest/
36
+ Project-URL: Issue tracker, https://github.com/ronaldoussoren/pyobjc/issues
37
+ Project-URL: Repository, https://github.com/ronaldoussoren/pyobjc
38
+
39
+
40
+ Wrappers for the "CoreHaptics" framework on macOS.
41
+
42
+ These wrappers don't include documentation, please check Apple's documentation
43
+ for information on how to use this framework and PyObjC's documentation
44
+ for general tips and tricks regarding the translation between Python
45
+ and (Objective-)C frameworks
46
+
47
+
48
+ Project links
49
+ -------------
50
+
51
+ * `Documentation <https://pyobjc.readthedocs.io/en/latest/>`_
52
+
53
+ * `Issue Tracker <https://github.com/ronaldoussoren/pyobjc/issues>`_
54
+
55
+ * `Repository <https://github.com/ronaldoussoren/pyobjc/>`_
56
+
@@ -0,0 +1,6 @@
1
+ CoreHaptics/__init__.py,sha256=_9yQ8u88XPyQJi8pWE6EKrhY2aQcLupkfDiLI9ZMtq8,1234
2
+ CoreHaptics/_metadata.py,sha256=Hhtyk12os3cT_B18Icqdjn6DNSCw2E0MnxiexBy1Hok,15752
3
+ pyobjc_framework_CoreHaptics-10.3.2.dist-info/METADATA,sha256=4wVabP54w22s84rCHS-oRApb5AP1YuRZxUybcRHJJ3Q,2250
4
+ pyobjc_framework_CoreHaptics-10.3.2.dist-info/WHEEL,sha256=pxeNX5JdtCe58PUSYP9upmc7jdRPgvT0Gm9kb1SHlVw,109
5
+ pyobjc_framework_CoreHaptics-10.3.2.dist-info/top_level.txt,sha256=Eo7NHy2ObKy4wiG-326QZq5UG2NJzeNk5Ty_rnYUAsY,12
6
+ pyobjc_framework_CoreHaptics-10.3.2.dist-info/RECORD,,
@@ -0,0 +1,6 @@
1
+ Wheel-Version: 1.0
2
+ Generator: setuptools (75.6.0)
3
+ Root-Is-Purelib: true
4
+ Tag: py2-none-any
5
+ Tag: py3-none-any
6
+
@@ -0,0 +1 @@
1
+ CoreHaptics