objc2_core_graphics/generated/
CGAffineTransform.rs

1//! This file has been automatically generated by `objc2`'s `header-translator`.
2//! DO NOT EDIT
3use objc2_core_foundation::*;
4
5use crate::*;
6
7extern "C" {
8    /// [Apple's documentation](https://developer.apple.com/documentation/coregraphics/cgaffinetransformidentity?language=objc)
9    pub static CGAffineTransformIdentity: CGAffineTransform;
10}
11
12#[inline]
13pub extern "C-unwind" fn CGAffineTransformMake(
14    a: CGFloat,
15    b: CGFloat,
16    c: CGFloat,
17    d: CGFloat,
18    tx: CGFloat,
19    ty: CGFloat,
20) -> CGAffineTransform {
21    extern "C-unwind" {
22        fn CGAffineTransformMake(
23            a: CGFloat,
24            b: CGFloat,
25            c: CGFloat,
26            d: CGFloat,
27            tx: CGFloat,
28            ty: CGFloat,
29        ) -> CGAffineTransform;
30    }
31    unsafe { CGAffineTransformMake(a, b, c, d, tx, ty) }
32}
33
34#[inline]
35pub extern "C-unwind" fn CGAffineTransformMakeTranslation(
36    tx: CGFloat,
37    ty: CGFloat,
38) -> CGAffineTransform {
39    extern "C-unwind" {
40        fn CGAffineTransformMakeTranslation(tx: CGFloat, ty: CGFloat) -> CGAffineTransform;
41    }
42    unsafe { CGAffineTransformMakeTranslation(tx, ty) }
43}
44
45#[inline]
46pub extern "C-unwind" fn CGAffineTransformMakeScale(sx: CGFloat, sy: CGFloat) -> CGAffineTransform {
47    extern "C-unwind" {
48        fn CGAffineTransformMakeScale(sx: CGFloat, sy: CGFloat) -> CGAffineTransform;
49    }
50    unsafe { CGAffineTransformMakeScale(sx, sy) }
51}
52
53#[inline]
54pub extern "C-unwind" fn CGAffineTransformMakeRotation(angle: CGFloat) -> CGAffineTransform {
55    extern "C-unwind" {
56        fn CGAffineTransformMakeRotation(angle: CGFloat) -> CGAffineTransform;
57    }
58    unsafe { CGAffineTransformMakeRotation(angle) }
59}
60
61#[inline]
62pub extern "C-unwind" fn CGAffineTransformIsIdentity(t: CGAffineTransform) -> bool {
63    extern "C-unwind" {
64        fn CGAffineTransformIsIdentity(t: CGAffineTransform) -> bool;
65    }
66    unsafe { CGAffineTransformIsIdentity(t) }
67}
68
69#[inline]
70pub extern "C-unwind" fn CGAffineTransformTranslate(
71    t: CGAffineTransform,
72    tx: CGFloat,
73    ty: CGFloat,
74) -> CGAffineTransform {
75    extern "C-unwind" {
76        fn CGAffineTransformTranslate(
77            t: CGAffineTransform,
78            tx: CGFloat,
79            ty: CGFloat,
80        ) -> CGAffineTransform;
81    }
82    unsafe { CGAffineTransformTranslate(t, tx, ty) }
83}
84
85#[inline]
86pub extern "C-unwind" fn CGAffineTransformScale(
87    t: CGAffineTransform,
88    sx: CGFloat,
89    sy: CGFloat,
90) -> CGAffineTransform {
91    extern "C-unwind" {
92        fn CGAffineTransformScale(
93            t: CGAffineTransform,
94            sx: CGFloat,
95            sy: CGFloat,
96        ) -> CGAffineTransform;
97    }
98    unsafe { CGAffineTransformScale(t, sx, sy) }
99}
100
101#[inline]
102pub extern "C-unwind" fn CGAffineTransformRotate(
103    t: CGAffineTransform,
104    angle: CGFloat,
105) -> CGAffineTransform {
106    extern "C-unwind" {
107        fn CGAffineTransformRotate(t: CGAffineTransform, angle: CGFloat) -> CGAffineTransform;
108    }
109    unsafe { CGAffineTransformRotate(t, angle) }
110}
111
112#[inline]
113pub extern "C-unwind" fn CGAffineTransformInvert(t: CGAffineTransform) -> CGAffineTransform {
114    extern "C-unwind" {
115        fn CGAffineTransformInvert(t: CGAffineTransform) -> CGAffineTransform;
116    }
117    unsafe { CGAffineTransformInvert(t) }
118}
119
120#[inline]
121pub extern "C-unwind" fn CGAffineTransformConcat(
122    t1: CGAffineTransform,
123    t2: CGAffineTransform,
124) -> CGAffineTransform {
125    extern "C-unwind" {
126        fn CGAffineTransformConcat(
127            t1: CGAffineTransform,
128            t2: CGAffineTransform,
129        ) -> CGAffineTransform;
130    }
131    unsafe { CGAffineTransformConcat(t1, t2) }
132}
133
134#[inline]
135pub extern "C-unwind" fn CGAffineTransformEqualToTransform(
136    t1: CGAffineTransform,
137    t2: CGAffineTransform,
138) -> bool {
139    extern "C-unwind" {
140        fn CGAffineTransformEqualToTransform(t1: CGAffineTransform, t2: CGAffineTransform) -> bool;
141    }
142    unsafe { CGAffineTransformEqualToTransform(t1, t2) }
143}
144
145#[inline]
146pub extern "C-unwind" fn CGPointApplyAffineTransform(
147    point: CGPoint,
148    t: CGAffineTransform,
149) -> CGPoint {
150    extern "C-unwind" {
151        fn CGPointApplyAffineTransform(point: CGPoint, t: CGAffineTransform) -> CGPoint;
152    }
153    unsafe { CGPointApplyAffineTransform(point, t) }
154}
155
156#[inline]
157pub extern "C-unwind" fn CGSizeApplyAffineTransform(size: CGSize, t: CGAffineTransform) -> CGSize {
158    extern "C-unwind" {
159        fn CGSizeApplyAffineTransform(size: CGSize, t: CGAffineTransform) -> CGSize;
160    }
161    unsafe { CGSizeApplyAffineTransform(size, t) }
162}
163
164#[inline]
165pub extern "C-unwind" fn CGRectApplyAffineTransform(rect: CGRect, t: CGAffineTransform) -> CGRect {
166    extern "C-unwind" {
167        fn CGRectApplyAffineTransform(rect: CGRect, t: CGAffineTransform) -> CGRect;
168    }
169    unsafe { CGRectApplyAffineTransform(rect, t) }
170}
171
172/// Decompose a CGAffineTransform into a scale * shear * rotation * translation
173///
174/// This decomposition method may be used to provide insight into what a
175/// arbitrary CGAffineTransform does. This may be necessary, for example, because
176/// an algorithm would like to know what the scaling portion of a transform is before rotation,
177/// or perhaps because some part of a transform is undesired and your application would like
178/// to replace a portion of it with a different transformation.
179///
180/// Since there are many ways to make a affine transform out of other affine transforms
181/// this method can not tell us the ordering of geometric steps used to create the original
182/// CGAffineTransform. It tells us what the transform does, not how it was made.
183///
184///
185/// Parameter `transform`: The CGAffineTransform to decompose
186///
187/// Returns: A decomposed set of geometric operations, the product of which is the CGAffineTransform.
188#[inline]
189pub extern "C-unwind" fn CGAffineTransformDecompose(
190    transform: CGAffineTransform,
191) -> CGAffineTransformComponents {
192    extern "C-unwind" {
193        fn CGAffineTransformDecompose(transform: CGAffineTransform) -> CGAffineTransformComponents;
194    }
195    unsafe { CGAffineTransformDecompose(transform) }
196}
197
198/// Create CGAffineTransform from scale * shear * rotation * translation CGAffineTransformComponents
199///
200/// Parameter `components`: The set of CGAffineTransformComponents to use to create a new CGAffineTransform
201///
202/// Returns: A new CGAffineTransform built from the provided components
203#[inline]
204pub extern "C-unwind" fn CGAffineTransformMakeWithComponents(
205    components: CGAffineTransformComponents,
206) -> CGAffineTransform {
207    extern "C-unwind" {
208        fn CGAffineTransformMakeWithComponents(
209            components: CGAffineTransformComponents,
210        ) -> CGAffineTransform;
211    }
212    unsafe { CGAffineTransformMakeWithComponents(components) }
213}
214
215// TODO: pub fn __CGAffineTransformMake(a: CGFloat,b: CGFloat,c: CGFloat,d: CGFloat,tx: CGFloat,ty: CGFloat,) -> CGAffineTransform;
216
217// TODO: pub fn __CGPointApplyAffineTransform(point: CGPoint,t: CGAffineTransform,) -> CGPoint;
218
219// TODO: pub fn __CGSizeApplyAffineTransform(size: CGSize,t: CGAffineTransform,) -> CGSize;