@@ -5,7 +5,8 @@ import TTProgressHUD
55
66enum ShareData {
77 case none
8- case exportPNG( image: UIImage , filename: String ? )
8+ case exportPNG( image: UIImage , filename: String )
9+ case exportPDF( pdfData: Data , filename: String )
910}
1011
1112struct HCMenuView : View {
@@ -43,6 +44,25 @@ struct HCMenuView: View {
4344 }
4445 }
4546
47+ var exportPDFButton : some View {
48+ Button ( " Vector PDF " ) {
49+ hudVisible = true
50+ model. exportToPDF ( ) { status in
51+ switch status {
52+ case let HCMenuViewModel . ExportPDFStatus . ok( pdfData, filename) :
53+ hudVisible = false
54+ self . shareData = ShareData . exportPDF ( pdfData: pdfData, filename: filename)
55+ self . isSharePresented = true
56+ case HCMenuViewModel . ExportPDFStatus . progress( let progress) :
57+ log. debug ( " progress: \( progress) " )
58+ case HCMenuViewModel . ExportPDFStatus . error( let message) :
59+ log. error ( " Unable to export to PDF. \( message) " )
60+ hudVisible = false
61+ }
62+ }
63+ }
64+ }
65+
4666 var emailDeveloperButton : some View {
4767 #if os(iOS)
4868 let view = MailButtonView (
@@ -81,7 +101,7 @@ struct HCMenuView: View {
81101 }
82102 Section ( header: Text ( " Export " ) ) {
83103 exportPNGButton
84- Button ( " Vector PDF " ) { }
104+ exportPDFButton
85105 Button ( " Vector SVG " ) { }
86106 }
87107 Section ( header: Text ( " Feedback " ) ) {
@@ -126,6 +146,9 @@ struct ActivityViewController: UIViewControllerRepresentable {
126146 case let . exportPNG( image, filename) :
127147 log. debug ( " share: png " )
128148 return HCMenuViewController . createSharePNGActivityViewController ( image: image, filename: filename, triangleCount: 0 )
149+ case let . exportPDF( pdfData, filename) :
150+ log. debug ( " share: pdf " )
151+ return HCMenuViewController . createSharePDFActivityViewController ( pdfData: pdfData, filename: filename, triangleCount: 0 )
129152 }
130153 }
131154
0 commit comments