@@ -162,6 +162,12 @@ public struct ViewImageConfig {
162
162
return . init( safeArea: safeArea, size: size, traits: . iPhone12( orientation) )
163
163
}
164
164
165
+ public static let iPhone12Pro = ViewImageConfig . iPhone12Pro ( . portrait)
166
+
167
+ public static func iPhone12Pro( _ orientation: Orientation ) -> ViewImageConfig {
168
+ . iPhone12( orientation)
169
+ }
170
+
165
171
public static let iPhone12ProMax = ViewImageConfig . iPhone12ProMax ( . portrait)
166
172
167
173
public static func iPhone12ProMax( _ orientation: Orientation ) -> ViewImageConfig {
@@ -178,6 +184,63 @@ public struct ViewImageConfig {
178
184
return . init( safeArea: safeArea, size: size, traits: . iPhone12ProMax( orientation) )
179
185
}
180
186
187
+ public static let iPhone13 = ViewImageConfig . iPhone13 ( . portrait)
188
+
189
+ public static func iPhone13( _ orientation: Orientation ) -> ViewImageConfig {
190
+ let safeArea : UIEdgeInsets
191
+ let size : CGSize
192
+ switch orientation {
193
+ case . landscape:
194
+ safeArea = . init( top: 0 , left: 47 , bottom: 21 , right: 47 )
195
+ size = . init( width: 844 , height: 390 )
196
+ case . portrait:
197
+ safeArea = . init( top: 47 , left: 0 , bottom: 34 , right: 0 )
198
+ size = . init( width: 390 , height: 844 )
199
+ }
200
+
201
+ return . init( safeArea: safeArea, size: size, traits: UITraitCollection . iPhone13 ( orientation) )
202
+ }
203
+
204
+ public static let iPhone13Mini = ViewImageConfig . iPhone13Mini ( . portrait)
205
+
206
+ public static func iPhone13Mini( _ orientation: Orientation ) -> ViewImageConfig {
207
+ let safeArea : UIEdgeInsets
208
+ let size : CGSize
209
+ switch orientation {
210
+ case . landscape:
211
+ safeArea = . init( top: 0 , left: 50 , bottom: 21 , right: 50 )
212
+ size = . init( width: 812 , height: 375 )
213
+ case . portrait:
214
+ safeArea = . init( top: 50 , left: 0 , bottom: 34 , right: 0 )
215
+ size = . init( width: 375 , height: 812 )
216
+ }
217
+
218
+ return . init( safeArea: safeArea, size: size, traits: . iPhone13( orientation) )
219
+ }
220
+
221
+ public static let iPhone13Pro = ViewImageConfig . iPhone13Pro ( . portrait)
222
+
223
+ public static func iPhone13Pro( _ orientation: Orientation ) -> ViewImageConfig {
224
+ . iPhone13( orientation)
225
+ }
226
+
227
+ public static let iPhone13ProMax = ViewImageConfig . iPhone13ProMax ( . portrait)
228
+
229
+ public static func iPhone13ProMax( _ orientation: Orientation ) -> ViewImageConfig {
230
+ let safeArea : UIEdgeInsets
231
+ let size : CGSize
232
+ switch orientation {
233
+ case . landscape:
234
+ safeArea = . init( top: 0 , left: 47 , bottom: 21 , right: 47 )
235
+ size = . init( width: 926 , height: 428 )
236
+ case . portrait:
237
+ safeArea = . init( top: 47 , left: 0 , bottom: 34 , right: 0 )
238
+ size = . init( width: 428 , height: 926 )
239
+ }
240
+
241
+ return . init( safeArea: safeArea, size: size, traits: . iPhone13ProMax( orientation) )
242
+ }
243
+
181
244
public static let iPadMini = ViewImageConfig . iPadMini ( . landscape)
182
245
183
246
public static func iPadMini( _ orientation: Orientation ) -> ViewImageConfig {
@@ -439,8 +502,6 @@ extension UITraitCollection {
439
502
public static func iPhoneSe( _ orientation: ViewImageConfig . Orientation )
440
503
-> UITraitCollection {
441
504
let base : [ UITraitCollection ] = [
442
- // .init(displayGamut: .SRGB),
443
- // .init(displayScale: 2),
444
505
. init( forceTouchCapability: . available) ,
445
506
. init( layoutDirection: . leftToRight) ,
446
507
. init( preferredContentSizeCategory: . medium) ,
@@ -467,8 +528,6 @@ extension UITraitCollection {
467
528
public static func iPhone8( _ orientation: ViewImageConfig . Orientation )
468
529
-> UITraitCollection {
469
530
let base : [ UITraitCollection ] = [
470
- // .init(displayGamut: .P3),
471
- // .init(displayScale: 2),
472
531
. init( forceTouchCapability: . available) ,
473
532
. init( layoutDirection: . leftToRight) ,
474
533
. init( preferredContentSizeCategory: . medium) ,
@@ -495,8 +554,6 @@ extension UITraitCollection {
495
554
public static func iPhone8Plus( _ orientation: ViewImageConfig . Orientation )
496
555
-> UITraitCollection {
497
556
let base : [ UITraitCollection ] = [
498
- // .init(displayGamut: .P3),
499
- // .init(displayScale: 3),
500
557
. init( forceTouchCapability: . available) ,
501
558
. init( layoutDirection: . leftToRight) ,
502
559
. init( preferredContentSizeCategory: . medium) ,
@@ -523,8 +580,6 @@ extension UITraitCollection {
523
580
public static func iPhoneX( _ orientation: ViewImageConfig . Orientation )
524
581
-> UITraitCollection {
525
582
let base : [ UITraitCollection ] = [
526
- // .init(displayGamut: .P3),
527
- // .init(displayScale: 3),
528
583
. init( forceTouchCapability: . available) ,
529
584
. init( layoutDirection: . leftToRight) ,
530
585
. init( preferredContentSizeCategory: . medium) ,
@@ -551,8 +606,6 @@ extension UITraitCollection {
551
606
public static func iPhoneXr( _ orientation: ViewImageConfig . Orientation )
552
607
-> UITraitCollection {
553
608
let base : [ UITraitCollection ] = [
554
- // .init(displayGamut: .P3),
555
- // .init(displayScale: 2),
556
609
. init( forceTouchCapability: . unavailable) ,
557
610
. init( layoutDirection: . leftToRight) ,
558
611
. init( preferredContentSizeCategory: . medium) ,
@@ -579,8 +632,6 @@ extension UITraitCollection {
579
632
public static func iPhoneXsMax( _ orientation: ViewImageConfig . Orientation )
580
633
-> UITraitCollection {
581
634
let base : [ UITraitCollection ] = [
582
- // .init(displayGamut: .P3),
583
- // .init(displayScale: 3),
584
635
. init( forceTouchCapability: . available) ,
585
636
. init( layoutDirection: . leftToRight) ,
586
637
. init( preferredContentSizeCategory: . medium) ,
@@ -607,8 +658,6 @@ extension UITraitCollection {
607
658
public static func iPhone12( _ orientation: ViewImageConfig . Orientation )
608
659
-> UITraitCollection {
609
660
let base : [ UITraitCollection ] = [
610
- // .init(displayGamut: .P3),
611
- // .init(displayScale: 3),
612
661
. init( forceTouchCapability: . available) ,
613
662
. init( layoutDirection: . leftToRight) ,
614
663
. init( preferredContentSizeCategory: . medium) ,
@@ -635,8 +684,56 @@ extension UITraitCollection {
635
684
public static func iPhone12ProMax( _ orientation: ViewImageConfig . Orientation )
636
685
-> UITraitCollection {
637
686
let base : [ UITraitCollection ] = [
638
- // .init(displayGamut: .P3),
639
- // .init(displayScale: 3),
687
+ . init( forceTouchCapability: . available) ,
688
+ . init( layoutDirection: . leftToRight) ,
689
+ . init( preferredContentSizeCategory: . medium) ,
690
+ . init( userInterfaceIdiom: . phone)
691
+ ]
692
+ switch orientation {
693
+ case . landscape:
694
+ return . init(
695
+ traitsFrom: base + [
696
+ . init( horizontalSizeClass: . regular) ,
697
+ . init( verticalSizeClass: . compact)
698
+ ]
699
+ )
700
+ case . portrait:
701
+ return . init(
702
+ traitsFrom: base + [
703
+ . init( horizontalSizeClass: . compact) ,
704
+ . init( verticalSizeClass: . regular)
705
+ ]
706
+ )
707
+ }
708
+ }
709
+
710
+ public static func iPhone13( _ orientation: ViewImageConfig . Orientation ) -> UITraitCollection {
711
+ let base : [ UITraitCollection ] = [
712
+ . init( forceTouchCapability: . available) ,
713
+ . init( layoutDirection: . leftToRight) ,
714
+ . init( preferredContentSizeCategory: . medium) ,
715
+ . init( userInterfaceIdiom: . phone)
716
+ ]
717
+ switch orientation {
718
+ case . landscape:
719
+ return . init(
720
+ traitsFrom: base + [
721
+ . init( horizontalSizeClass: . compact) ,
722
+ . init( verticalSizeClass: . compact)
723
+ ]
724
+ )
725
+ case . portrait:
726
+ return . init(
727
+ traitsFrom: base + [
728
+ . init( horizontalSizeClass: . compact) ,
729
+ . init( verticalSizeClass: . regular)
730
+ ]
731
+ )
732
+ }
733
+ }
734
+
735
+ public static func iPhone13ProMax( _ orientation: ViewImageConfig . Orientation ) -> UITraitCollection {
736
+ let base : [ UITraitCollection ] = [
640
737
. init( forceTouchCapability: . available) ,
641
738
. init( layoutDirection: . leftToRight) ,
642
739
. init( preferredContentSizeCategory: . medium) ,
0 commit comments