import UIKit
import VideoEditorSDK
class VideoAddFontsFromAppBundleSwift: Example, VideoEditViewControllerDelegate {
  override func invokeExample() {
    
    let video = Video(url: Bundle.main.url(forResource: "Skater", withExtension: "mp4")!)
    
    let fontURL = Bundle.main.url(forResource: "custom_font_raleway_regular", withExtension: "ttf")
    let customFont = Font(url: fontURL!, displayName: "Raleway", fontName: "custom_font_raleway_regular", identifier: "custom_font_raleway_regular")
    
    let systemFont = Font(displayName: "Helvetica", fontName: "Helvetica", identifier: "system_font_helvetica")
    
    let configuration = Configuration { builder in
      
      
      
      let assetCatalog = AssetCatalog.defaultItems
      
      assetCatalog.fonts.append(contentsOf: [customFont, systemFont])
      
      builder.assetCatalog = assetCatalog
    }
    
    let videoEditViewController = VideoEditViewController(videoAsset: video, configuration: configuration)
    videoEditViewController.delegate = self
    videoEditViewController.modalPresentationStyle = .fullScreen
    presentingViewController?.present(videoEditViewController, animated: true, completion: nil)
  }
  
  func videoEditViewControllerShouldStart(_ videoEditViewController: VideoEditViewController, task: VideoEditorTask) -> Bool {
    
    true
  }
  func videoEditViewControllerDidFinish(_ videoEditViewController: VideoEditViewController, result: VideoEditorResult) {
    
    presentingViewController?.dismiss(animated: true, completion: nil)
  }
  func videoEditViewControllerDidFail(_ videoEditViewController: VideoEditViewController, error: VideoEditorError) {
    
    print(error.localizedDescription)
    
    presentingViewController?.dismiss(animated: true, completion: nil)
  }
  func videoEditViewControllerDidCancel(_ videoEditViewController: VideoEditViewController) {
    
    presentingViewController?.dismiss(animated: true, completion: nil)
  }
}