@@ -162,6 +162,12 @@ public struct ViewImageConfig {
162162 return . init( safeArea: safeArea, size: size, traits: . iPhone12( orientation) )
163163 }
164164
165+ public static let iPhone12Pro = ViewImageConfig . iPhone12Pro ( . portrait)
166+
167+ public static func iPhone12Pro( _ orientation: Orientation ) -> ViewImageConfig {
168+ . iPhone12( orientation)
169+ }
170+
165171 public static let iPhone12ProMax = ViewImageConfig . iPhone12ProMax ( . portrait)
166172
167173 public static func iPhone12ProMax( _ orientation: Orientation ) -> ViewImageConfig {
@@ -178,6 +184,63 @@ public struct ViewImageConfig {
178184 return . init( safeArea: safeArea, size: size, traits: . iPhone12ProMax( orientation) )
179185 }
180186
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+
181244 public static let iPadMini = ViewImageConfig . iPadMini ( . landscape)
182245
183246 public static func iPadMini( _ orientation: Orientation ) -> ViewImageConfig {
@@ -439,8 +502,6 @@ extension UITraitCollection {
439502 public static func iPhoneSe( _ orientation: ViewImageConfig . Orientation )
440503 -> UITraitCollection {
441504 let base : [ UITraitCollection ] = [
442- // .init(displayGamut: .SRGB),
443- // .init(displayScale: 2),
444505 . init( forceTouchCapability: . available) ,
445506 . init( layoutDirection: . leftToRight) ,
446507 . init( preferredContentSizeCategory: . medium) ,
@@ -467,8 +528,6 @@ extension UITraitCollection {
467528 public static func iPhone8( _ orientation: ViewImageConfig . Orientation )
468529 -> UITraitCollection {
469530 let base : [ UITraitCollection ] = [
470- // .init(displayGamut: .P3),
471- // .init(displayScale: 2),
472531 . init( forceTouchCapability: . available) ,
473532 . init( layoutDirection: . leftToRight) ,
474533 . init( preferredContentSizeCategory: . medium) ,
@@ -495,8 +554,6 @@ extension UITraitCollection {
495554 public static func iPhone8Plus( _ orientation: ViewImageConfig . Orientation )
496555 -> UITraitCollection {
497556 let base : [ UITraitCollection ] = [
498- // .init(displayGamut: .P3),
499- // .init(displayScale: 3),
500557 . init( forceTouchCapability: . available) ,
501558 . init( layoutDirection: . leftToRight) ,
502559 . init( preferredContentSizeCategory: . medium) ,
@@ -523,8 +580,6 @@ extension UITraitCollection {
523580 public static func iPhoneX( _ orientation: ViewImageConfig . Orientation )
524581 -> UITraitCollection {
525582 let base : [ UITraitCollection ] = [
526- // .init(displayGamut: .P3),
527- // .init(displayScale: 3),
528583 . init( forceTouchCapability: . available) ,
529584 . init( layoutDirection: . leftToRight) ,
530585 . init( preferredContentSizeCategory: . medium) ,
@@ -551,8 +606,6 @@ extension UITraitCollection {
551606 public static func iPhoneXr( _ orientation: ViewImageConfig . Orientation )
552607 -> UITraitCollection {
553608 let base : [ UITraitCollection ] = [
554- // .init(displayGamut: .P3),
555- // .init(displayScale: 2),
556609 . init( forceTouchCapability: . unavailable) ,
557610 . init( layoutDirection: . leftToRight) ,
558611 . init( preferredContentSizeCategory: . medium) ,
@@ -579,8 +632,6 @@ extension UITraitCollection {
579632 public static func iPhoneXsMax( _ orientation: ViewImageConfig . Orientation )
580633 -> UITraitCollection {
581634 let base : [ UITraitCollection ] = [
582- // .init(displayGamut: .P3),
583- // .init(displayScale: 3),
584635 . init( forceTouchCapability: . available) ,
585636 . init( layoutDirection: . leftToRight) ,
586637 . init( preferredContentSizeCategory: . medium) ,
@@ -607,8 +658,6 @@ extension UITraitCollection {
607658 public static func iPhone12( _ orientation: ViewImageConfig . Orientation )
608659 -> UITraitCollection {
609660 let base : [ UITraitCollection ] = [
610- // .init(displayGamut: .P3),
611- // .init(displayScale: 3),
612661 . init( forceTouchCapability: . available) ,
613662 . init( layoutDirection: . leftToRight) ,
614663 . init( preferredContentSizeCategory: . medium) ,
@@ -635,8 +684,56 @@ extension UITraitCollection {
635684 public static func iPhone12ProMax( _ orientation: ViewImageConfig . Orientation )
636685 -> UITraitCollection {
637686 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 ] = [
640737 . init( forceTouchCapability: . available) ,
641738 . init( layoutDirection: . leftToRight) ,
642739 . init( preferredContentSizeCategory: . medium) ,
0 commit comments