* Move everything into package * Remove .DS_Store * Move scripts and eslintrc to package * Create CODE_OF_CONDUCT.md * fix some links * Update all links (I think) * Update generated docs * Update notice-yarn-changes.yml * Update validate-android.yml * Update validate-cpp.yml * Delete notice-yarn-changes.yml * Update validate-cpp.yml * Update validate-cpp.yml * Update validate-js.yml * Update validate-cpp.yml * Update validate-cpp.yml * wrong c++ style * Revert "wrong c++ style" This reverts commit 55a3575589c6f13f8b05134d83384f55e0601ab2.
		
			
				
	
	
		
			29 lines
		
	
	
		
			887 B
		
	
	
	
		
			Swift
		
	
	
	
	
	
			
		
		
	
	
			29 lines
		
	
	
		
			887 B
		
	
	
	
		
			Swift
		
	
	
	
	
	
| //
 | |
| //  AVCaptureDevice+neutralZoom.swift
 | |
| //  mrousavy
 | |
| //
 | |
| //  Created by Marc Rousavy on 10.01.21.
 | |
| //  Copyright © 2021 mrousavy. All rights reserved.
 | |
| //
 | |
| 
 | |
| import AVFoundation
 | |
| 
 | |
| extension AVCaptureDevice {
 | |
|   /**
 | |
|    Get the value at which the Zoom factor is neutral.
 | |
| 
 | |
|    For normal wide-angle devices, this is always going to be 1.0, since this is the default scale.
 | |
|    For devices with an ultra-wide-angle camera, this value is going to be the value where the wide-angle device will switch over.
 | |
|    */
 | |
|   var neutralZoomFactor: CGFloat {
 | |
|     if #available(iOS 13.0, *) {
 | |
|       if let indexOfWideAngle = self.constituentDevices.firstIndex(where: { $0.deviceType == .builtInWideAngleCamera }) {
 | |
|         if let zoomFactor = self.virtualDeviceSwitchOverVideoZoomFactors[safe: indexOfWideAngle - 1] {
 | |
|           return CGFloat(zoomFactor.doubleValue)
 | |
|         }
 | |
|       }
 | |
|     }
 | |
|     return 1.0
 | |
|   }
 | |
| }
 |