chore: convert to preview macro

This commit is contained in:
Shibo Lyu 2024-12-18 16:06:40 +08:00
parent 6b33bcdbe4
commit 54861801e6
4 changed files with 34 additions and 41 deletions

View file

@ -225,15 +225,15 @@ public struct CropImageView<Controls: View, CutHole: View>: View {
} }
} }
struct CropImageView_Previews: PreviewProvider { #Preview {
struct PreviewView: View { struct PreviewView: View {
@State private var targetSize: CGSize = .init(width: 100, height: 100) @State private var targetSize: CGSize = .init(width: 100, height: 100)
@State private var result: Result<PlatformImage, Error>? = nil @State private var result: Result<PlatformImage, Error>? = nil
var body: some View { var body: some View {
VStack { VStack {
CropImageView( CropImageView(
image: .init(contentsOfFile: "/Users/laosb/Downloads/png.png")!, image: .init(contentsOf: URL(string: "file:///System/Library/Desktop%20Pictures/Hello%20Metallic%20Blue.heic")!)!,
targetSize: targetSize targetSize: targetSize
) { ) {
result = $0 result = $0
@ -262,18 +262,16 @@ struct CropImageView_Previews: PreviewProvider {
} }
} header: { Text("Result") } } header: { Text("Result") }
} }
#if os(macOS) #if os(macOS)
.formStyle(.grouped) .formStyle(.grouped)
#endif #endif
} }
} }
} }
static var previews: some View { return PreviewView()
PreviewView() #if os(macOS)
#if os(macOS) .frame(width: 500)
.frame(width: 500) .frame(minHeight: 600)
.frame(minHeight: 600) #endif
#endif
}
} }

View file

@ -44,20 +44,18 @@ struct DefaultCutHoleShape: Shape {
} }
} }
struct DefaultCutHoleShape_Previews: PreviewProvider { #Preview("Default") {
static var previews: some View { VStack {
VStack { DefaultCutHoleShape(size: .init(width: 100, height: 100))
DefaultCutHoleShape(size: .init(width: 100, height: 100)) .fill(style: FillStyle(eoFill: true))
.fill(style: FillStyle(eoFill: true)) .foregroundColor(.black.opacity(0.6))
.foregroundColor(.black.opacity(0.6))
}
.previewDisplayName("Default")
VStack {
DefaultCutHoleShape(size: .init(width: 100, height: 100), isCircular: true)
.fill(style: FillStyle(eoFill: true))
.foregroundColor(.black.opacity(0.6))
}
.previewDisplayName("Circular")
} }
} }
#Preview("Circular") {
VStack {
DefaultCutHoleShape(size: .init(width: 100, height: 100), isCircular: true)
.fill(style: FillStyle(eoFill: true))
.foregroundColor(.black.opacity(0.6))
}
}

View file

@ -61,11 +61,10 @@ public struct DefaultCutHoleView: View {
} }
} }
struct DefaultCutHoleView_Previews: PreviewProvider { #Preview("Default") {
static var previews: some View { DefaultCutHoleView(targetSize: .init(width: 100, height: 100))
DefaultCutHoleView(targetSize: .init(width: 100, height: 100)) }
.previewDisplayName("Default")
DefaultCutHoleView(targetSize: .init(width: 100, height: 100), isCircular: true) #Preview("Circular") {
.previewDisplayName("Circular") DefaultCutHoleView(targetSize: .init(width: 100, height: 100), isCircular: true)
}
} }

View file

@ -191,18 +191,18 @@ struct UnderlyingImageView: View {
} }
} }
struct MoveAndScalableImageView_Previews: PreviewProvider { #Preview {
struct PreviewView: View { struct PreviewView: View {
@State private var offset: CGSize = .zero @State private var offset: CGSize = .zero
@State private var scale: CGFloat = 1 @State private var scale: CGFloat = 1
@State private var rotation: Angle = .zero @State private var rotation: Angle = .zero
var body: some View { var body: some View {
UnderlyingImageView( UnderlyingImageView(
offset: $offset, offset: $offset,
scale: $scale, scale: $scale,
rotation: $rotation, rotation: $rotation,
image: .init(contentsOfFile: "/Users/laosb/Downloads/png.png")!, image: .init(contentsOf: URL(string: "file:///System/Library/Desktop%20Pictures/Hello%20Metallic%20Blue.heic")!)!,
viewSize: .init(width: 200, height: 100), viewSize: .init(width: 200, height: 100),
targetSize: .init(width: 100, height: 100), targetSize: .init(width: 100, height: 100),
fulfillTargetFrame: true fulfillTargetFrame: true
@ -210,8 +210,6 @@ struct MoveAndScalableImageView_Previews: PreviewProvider {
.frame(width: 200, height: 100) .frame(width: 200, height: 100)
} }
} }
static var previews: some View { return PreviewView()
PreviewView()
}
} }