GSCamera

@objc
public protocol GSCamera

Camera protocol.

Note

This protocol is for Objective-C compatibility only.
  • Whether the camera is active. This state may change depending on the current mode of the drone. For example the activation / deactivation of the thermal mode can activate / deactivate some cameras.

    Declaration

    Swift

    var isActive: Bool { get }
  • Camera mode switcher, to select recording or photo mode if supported.

    Declaration

    Swift

    @objc(modeSetting)
    var gsModeSetting: GSCameraModeSetting { get }
  • Exposure settings.

    Declaration

    Swift

    @objc(exposureSettings)
    var gsExposureSettings: GSCameraExposureSettings { get }
  • Exposure compensation setting.

    Declaration

    Swift

    @objc(exposureCompensationSetting)
    var gsExposureCompensationSetting: GSCameraExposureCompensationSetting { get }
  • White balance settings.

    Declaration

    Swift

    @objc(whiteBalanceSettings)
    var gsWhiteBalanceSettings: GSCameraWhiteBalanceSettings { get }
  • White balance lock. nil if white balance lock is not available or when device is not connected.

    Declaration

    Swift

    @objc(whiteBalanceLock)
    var gsWhiteBalanceLock: GSCameraWhiteBalanceLock? { get }
  • HDR setting. Tells if HDR must be activated when available in current recording/photo setting. nil if HDR is not supported by this camera.

    Declaration

    Swift

    var hdrSetting: BoolSetting? { get }
  • Style settings.

    Declaration

    Swift

    @objc(styleSettings)
    var gsStyleSettings: GSCameraStyleSettings { get }
  • Settings when the camera is in recording mode.

    Declaration

    Swift

    @objc(recordingSettings)
    var gsRecordingSettings: GSCameraRecordingSettings { get }
  • Auto start and stop recording setting. When enabled, if the drone is in .recording mode, recording starts when taking-off and stops after landing. nil if auto-record is not supported by this camera.

    Declaration

    Swift

    var autoRecordSetting: BoolSetting? { get }
  • Settings when the camera is in photo mode.

    Declaration

    Swift

    @objc(photoSettings)
    var gsPhotoSettings: GSCameraPhotoSettings { get }
  • Exposure lock. nil if exposure lock is not available and when device is not connected.

    Declaration

    Swift

    @objc(exposureLock)
    var gsExposureLock: GSCameraExposureLock? { get }
  • HDR state. Tell if HDR is currently active.

    Declaration

    Swift

    var hdrState: Bool { get }
  • Camera zoom.

    nil if zoom is not supported by this camera.

    Declaration

    Swift

    var zoom: CameraZoom? { get }
  • Camera alignment. nil if camera is not the active camera, if device is not connected or if alignment is not supported.

    Declaration

    Swift

    @objc(alignment)
    var gsAlignment: GSCameraAlignment? { get }
  • Recording function state.

    Declaration

    Swift

    var recordingState: CameraRecordingState { get }
  • Photo state.

    Declaration

    Swift

    var photoState: CameraPhotoState { get }
  • Whether startRecording can be called.

    Declaration

    Swift

    var canStartRecord: Bool { get }
  • Whether stopRecord can be called.

    Declaration

    Swift

    var canStopRecord: Bool { get }
  • Whether startPhotoCapture can be called.

    Declaration

    Swift

    var canStartPhotoCapture: Bool { get }
  • Whether stopPhotoCapture can be called.

    Declaration

    Swift

    var canStopPhotoCapture: Bool { get }
  • Starts recording. Can be called when recordingState.state is ready.

    Declaration

    Swift

    func startRecording()
  • Stops recording. Can be called when recordingState.state is inProgress.

    Declaration

    Swift

    func stopRecording()
  • Starts taking photo(s). Can be called when canStartPhotoCapture is true.

    Declaration

    Swift

    func startPhotoCapture()
  • Stops taking photos(s). Can be called when canStopPhotoCapture is true. The command is only sent when photoSettings.mode is gpslapse or timelapse.

    Declaration

    Swift

    func stopPhotoCapture()