-
Notifications
You must be signed in to change notification settings - Fork 515
CoreGraphics tvOS xcode14.0 beta2
Manuel de la Pena edited this page Sep 1, 2022
·
3 revisions
#CoreGraphics.framework https://github.com/xamarin/xamarin-macios/pull/15831
diff -ruN /Applications/Xcode_14.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/CoreGraphics.framework/Headers/CGAffineTransform.h /Applications/Xcode_14.0.0-beta2.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/CoreGraphics.framework/Headers/CGAffineTransform.h
--- /Applications/Xcode_14.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/CoreGraphics.framework/Headers/CGAffineTransform.h 2022-05-31 15:02:38.000000000 -0400
+++ /Applications/Xcode_14.0.0-beta2.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/CoreGraphics.framework/Headers/CGAffineTransform.h 2022-06-17 14:29:57.000000000 -0400
@@ -21,6 +21,35 @@
#endif /* CF_DEFINES_CG_TYPES */
+#ifndef CF_DEFINES_CGAFFINETRANSFORMCOMPONENTS
+/* |------------------ CGAffineTransformComponents ----------------|
+ *
+ * | a b 0 | | sx 0 0 | | 1 0 0 | | cos(t) sin(t) 0 | | 1 0 0 |
+ * | c d 0 | = | 0 sy 0 | * | sh 1 0 | * |-sin(t) cos(t) 0 | * | 0 1 0 |
+ * | tx ty 1 | | 0 0 1 | | 0 0 1 | | 0 0 1 | | tx ty 1 |
+ * CGAffineTransform scale shear rotation translation
+ */
+
+typedef struct CGAffineTransformComponents
+{
+ /* initial scaling in X and Y dimensions. {sx,sy} */
+ /* Negative values indicate the image has been flipped in this dimension. */
+ CGSize scale;
+
+ /* shear distortion (sh). Turns rectangles to parallelograms. 0 for no shear. Typically 0. */
+ CGFloat horizontalShear;
+
+ /* Rotation angle in radians about the origin. (t) Sign convention for clockwise rotation */
+ /* may differ between various Apple frameworks based on origin placement. Please see discussion. */
+ CGFloat rotation;
+
+ /* Displacement from the origin (ty, ty) */
+ CGVector translation;
+} CGAffineTransformComponents;
+
+#endif /* CF_DEFINES_CGAFFINETRANSFORMCOMPONENTS */
+
+
/* The identity transform: [ 1 0 0 1 0 0 ]. */
CG_EXTERN const CGAffineTransform CGAffineTransformIdentity
@@ -28,80 +57,80 @@
/* Return the transform [ a b c d tx ty ]. */
-CG_EXTERN CGAffineTransform CGAffineTransformMake(CGFloat a, CGFloat b,
+CG_EXTERN CGAffineTransform CG_PURE CGAffineTransformMake(CGFloat a, CGFloat b,
CGFloat c, CGFloat d, CGFloat tx, CGFloat ty)
CG_AVAILABLE_STARTING(10.0, 2.0);
/* Return a transform which translates by `(tx, ty)':
t' = [ 1 0 0 1 tx ty ] */
-CG_EXTERN CGAffineTransform CGAffineTransformMakeTranslation(CGFloat tx,
+CG_EXTERN CGAffineTransform CG_PURE CGAffineTransformMakeTranslation(CGFloat tx,
CGFloat ty) CG_AVAILABLE_STARTING(10.0, 2.0);
/* Return a transform which scales by `(sx, sy)':
t' = [ sx 0 0 sy 0 0 ] */
-CG_EXTERN CGAffineTransform CGAffineTransformMakeScale(CGFloat sx, CGFloat sy)
+CG_EXTERN CGAffineTransform CG_PURE CGAffineTransformMakeScale(CGFloat sx, CGFloat sy)
CG_AVAILABLE_STARTING(10.0, 2.0);
/* Return a transform which rotates by `angle' radians:
t' = [ cos(angle) sin(angle) -sin(angle) cos(angle) 0 0 ] */
-CG_EXTERN CGAffineTransform CGAffineTransformMakeRotation(CGFloat angle)
+CG_EXTERN CGAffineTransform CG_PURE CGAffineTransformMakeRotation(CGFloat angle)
CG_AVAILABLE_STARTING(10.0, 2.0);
/* Return true if `t' is the identity transform, false otherwise. */
-CG_EXTERN bool CGAffineTransformIsIdentity(CGAffineTransform t)
+CG_EXTERN bool CG_PURE CGAffineTransformIsIdentity(CGAffineTransform t)
CG_AVAILABLE_STARTING(10.4, 2.0);
/* Translate `t' by `(tx, ty)' and return the result:
t' = [ 1 0 0 1 tx ty ] * t */
-CG_EXTERN CGAffineTransform CGAffineTransformTranslate(CGAffineTransform t,
+CG_EXTERN CGAffineTransform CG_PURE CGAffineTransformTranslate(CGAffineTransform t,
CGFloat tx, CGFloat ty) CG_AVAILABLE_STARTING(10.0, 2.0);
/* Scale `t' by `(sx, sy)' and return the result:
t' = [ sx 0 0 sy 0 0 ] * t */
-CG_EXTERN CGAffineTransform CGAffineTransformScale(CGAffineTransform t,
+CG_EXTERN CGAffineTransform CG_PURE CGAffineTransformScale(CGAffineTransform t,
CGFloat sx, CGFloat sy) CG_AVAILABLE_STARTING(10.0, 2.0);
/* Rotate `t' by `angle' radians and return the result:
t' = [ cos(angle) sin(angle) -sin(angle) cos(angle) 0 0 ] * t */
-CG_EXTERN CGAffineTransform CGAffineTransformRotate(CGAffineTransform t,
+CG_EXTERN CGAffineTransform CG_PURE CGAffineTransformRotate(CGAffineTransform t,
CGFloat angle) CG_AVAILABLE_STARTING(10.0, 2.0);
/* Invert `t' and return the result. If `t' has zero determinant, then `t'
is returned unchanged. */
-CG_EXTERN CGAffineTransform CGAffineTransformInvert(CGAffineTransform t)
+CG_EXTERN CGAffineTransform CG_PURE CGAffineTransformInvert(CGAffineTransform t)
CG_AVAILABLE_STARTING(10.0, 2.0);
/* Concatenate `t2' to `t1' and return the result:
t' = t1 * t2 */
-CG_EXTERN CGAffineTransform CGAffineTransformConcat(CGAffineTransform t1,
+CG_EXTERN CGAffineTransform CG_PURE CGAffineTransformConcat(CGAffineTransform t1,
CGAffineTransform t2) CG_AVAILABLE_STARTING(10.0, 2.0);
/* Return true if `t1' and `t2' are equal, false otherwise. */
-CG_EXTERN bool CGAffineTransformEqualToTransform(CGAffineTransform t1,
+CG_EXTERN bool CG_PURE CGAffineTransformEqualToTransform(CGAffineTransform t1,
CGAffineTransform t2) CG_AVAILABLE_STARTING(10.4, 2.0);
/* Transform `point' by `t' and return the result:
p' = p * t
where p = [ x y 1 ]. */
-CG_EXTERN CGPoint CGPointApplyAffineTransform(CGPoint point,
+CG_EXTERN CGPoint CG_PURE CGPointApplyAffineTransform(CGPoint point,
CGAffineTransform t) CG_AVAILABLE_STARTING(10.0, 2.0);
/* Transform `size' by `t' and return the result:
s' = s * t
where s = [ width height 0 ]. */
-CG_EXTERN CGSize CGSizeApplyAffineTransform(CGSize size, CGAffineTransform t)
+CG_EXTERN CGSize CG_PURE CGSizeApplyAffineTransform(CGSize size, CGAffineTransform t)
CG_AVAILABLE_STARTING(10.0, 2.0);
/* Transform `rect' by `t' and return the result. Since affine transforms do
@@ -111,9 +140,35 @@
rectangle coincides with the rectangle constructed from the four
transformed corners. */
-CG_EXTERN CGRect CGRectApplyAffineTransform(CGRect rect, CGAffineTransform t)
+CG_EXTERN CGRect CG_PURE CGRectApplyAffineTransform(CGRect rect, CGAffineTransform t)
CG_AVAILABLE_STARTING(10.4, 2.0);
+/*! @abstract Decompose a CGAffineTransform into a scale * shear * rotation * translation
+ * @discussion This decomposition method may be used to provide insight into what a
+ * arbitrary CGAffineTransform does. This may be necessary, for example, because
+ * an algorithm would like to know what the scaling portion of a transform is before rotation,
+ * or perhaps because some part of a transform is undesired and your application would like
+ * to replace a portion of it with a different transformation.
+ *
+ * Since there are many ways to make a affine transform out of other affine transforms
+ * this method can not tell us the ordering of geometric steps used to create the original
+ * CGAffineTransform. It tells us what the transform does, not how it was made.
+ *
+ * @param transform The CGAffineTransform to decompose
+ * @return A decomposed set of geometric operations, the product of which is the CGAffineTransform. */
+CG_EXTERN
+ CGAffineTransformComponents CG_PURE CGAffineTransformDecompose( CGAffineTransform transform )
+CF_SWIFT_NAME(CGAffineTransformComponents.decomposed(self:))
+CG_AVAILABLE_STARTING( 13.0, 16.0 );
+
+/*! @abstract Create CGAffineTransform from scale * shear * rotation * translation CGAffineTransformComponents
+ * @param components The set of CGAffineTransformComponents to use to create a new CGAffineTransform
+ * @return A new CGAffineTransform built from the provided components */
+CG_EXTERN
+ CGAffineTransform CG_PURE CGAffineTransformMakeWithComponents( CGAffineTransformComponents components )
+CF_SWIFT_NAME(CGAffineTransformComponents.init(_:))
+CG_AVAILABLE_STARTING( 13.0, 16.0 );
+
/*** Definitions of inline functions. ***/
CG_INLINE CGAffineTransform
diff -ruN /Applications/Xcode_14.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/CoreGraphics.framework/Headers/CGBase.h /Applications/Xcode_14.0.0-beta2.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/CoreGraphics.framework/Headers/CGBase.h
--- /Applications/Xcode_14.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/CoreGraphics.framework/Headers/CGBase.h 2022-05-31 15:02:13.000000000 -0400
+++ /Applications/Xcode_14.0.0-beta2.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/CoreGraphics.framework/Headers/CGBase.h 2022-06-17 14:51:00.000000000 -0400
@@ -10,6 +10,7 @@
#include <float.h>
#include <TargetConditionals.h>
#include <CoreFoundation/CFBase.h>
+#include <CoreFoundation/CFCGTypes.h>
#include <os/availability.h>
/* Definition of `__CG_HAS_COMPILER_ATTRIBUTE'. */
@@ -285,6 +286,15 @@
# endif
#endif
+/* Definition of CG_PURE. */
+#if !defined(CG_PURE)
+# if __CG_HAS_COMPILER_ATTRIBUTE(pure)
+# define CG_PURE __attribute__((pure))
+# else
+# define CG_PURE
+# endif
+#endif
+
/* Definition of `__CG_FORMAT_PRINTF'. */
#if !defined(__CG_FORMAT_PRINTF)
diff -ruN /Applications/Xcode_14.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/CoreGraphics.framework/Headers/CGPath.h /Applications/Xcode_14.0.0-beta2.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/CoreGraphics.framework/Headers/CGPath.h
--- /Applications/Xcode_14.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/CoreGraphics.framework/Headers/CGPath.h 2022-05-31 15:02:15.000000000 -0400
+++ /Applications/Xcode_14.0.0-beta2.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/CoreGraphics.framework/Headers/CGPath.h 2022-06-17 14:48:43.000000000 -0400
@@ -432,8 +432,7 @@
CG_EXTERN CGPathRef __nullable CGPathCreateCopyByFlattening(CGPathRef cg_nullable path, CGFloat flatteningThreshold) CG_AVAILABLE_STARTING(13.0, 16.0);
/* Returns true if path1 and path2 overlap. */
-/* The trailing `UsingEvenOdd' will be removed soon. It's here temporarily for backward compatibility with an existing caller of `CGPathIntersectsPath' rdar://89310639. */
-CG_EXTERN bool CGPathIntersectsPathUsingEvenOdd(CGPathRef cg_nullable path1, CGPathRef cg_nullable path2, bool evenOddFillRule) CG_AVAILABLE_STARTING(13.0, 16.0);
+CG_EXTERN bool CGPathIntersectsPath(CGPathRef cg_nullable path1, CGPathRef cg_nullable path2, bool evenOddFillRule) CG_AVAILABLE_STARTING(13.0, 16.0);
CF_ASSUME_NONNULL_END
diff -ruN /Applications/Xcode_14.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/CoreGraphics.framework/Headers/CoreGraphics.apinotes /Applications/Xcode_14.0.0-beta2.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/CoreGraphics.framework/Headers/CoreGraphics.apinotes
--- /Applications/Xcode_14.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/CoreGraphics.framework/Headers/CoreGraphics.apinotes 2022-05-21 05:05:18.000000000 -0400
+++ /Applications/Xcode_14.0.0-beta2.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/CoreGraphics.framework/Headers/CoreGraphics.apinotes 2022-06-10 23:07:50.000000000 -0400
@@ -24,6 +24,10 @@
Availability: nonswift
SwiftName: CGColorConversionInfo.init(fromListWithArgumentsOptions:_:_:_:_:)
+# CGRect
+- Name: CGRectDivide
+ SwiftPrivate: true
+
# CGBitmapContext
- Name: CGBitmapContextCreateWithData
SwiftName: CGContext.init(data:width:height:bitsPerComponent:bytesPerRow:space:bitmapInfo:releaseCallback:releaseInfo:)
@@ -631,7 +635,7 @@
- Name: CGPathCreateCopyByFlattening
SwiftName: CGPath.__flattened(self:threshold:)
SwiftPrivate: true
-- Name: CGPathIntersectsPathUsingEvenOdd
+- Name: CGPathIntersectsPath
SwiftName: CGPath.__intersects(self:other:eoFill:)
SwiftPrivate: true
- Name: CGPathAddRoundedRect
- README
- xcode13.0 Binding Status
- xcode13.1 Binding Status
- xcode13.2 Binding Status
- xcode13.3 Binding Status
- xcode13.4 Binding Status
- xcode14.0 Binding Status
- xcode14.1 Binding Status
- xcode14.2 Binding Status
- xcode14.3 Binding Status
- xcode15.0 Binding Status
- xcode15.1 Binding Status
- xcode15.3 Binding Status
- xcode15.4 Binding Status
- xcode16.0 Binding Status
- xcode16.1 Binding Status
- xcode16.2 Binding Status