func onVideoFilterButtonClicked()

in AmazonChimeSDKDemo/AmazonChimeSDKDemo/VideoModel.swift [526:561]


    func onVideoFilterButtonClicked(videoFilter: BackgroundFilter, uiView: UIViewController) {
        switch videoFilter {
        case .none:
            if isUsingBackgroundBlur {
                isUsingBackgroundBlur.toggle()
                uiView.view.makeToast("Turning background blur off.")
            } else if isUsingBackgroundReplacement {
                isUsingBackgroundReplacement.toggle()
                uiView.view.makeToast("Turning background replacement off.")
            } else {
                uiView.view.makeToast("No video filers are on.")
            }
        case .blur:
            if isUsingMetalVideoProcessor ||
               isUsingCoreImageVideoProcessor ||
               isUsingBackgroundReplacement {
                uiView.view.makeToast("Cannot toggle more than one filter at a time.")
                return
            }
            let nextStatus = isUsingBackgroundBlur ? "off" : "on"
            uiView.view.makeToast("Turning background \(videoFilter.description) \(nextStatus).")
            isUsingBackgroundBlur.toggle()
        case .replacement:
            if isUsingMetalVideoProcessor ||
               isUsingCoreImageVideoProcessor ||
               isUsingBackgroundBlur {
                uiView.view.makeToast("Cannot toggle more than one filter at a time.")
                return
            }
            let nextStatus = isUsingBackgroundReplacement ? "off" : "on"
            uiView.view.makeToast("Turning background \(videoFilter.description) \(nextStatus).")
            isUsingBackgroundReplacement.toggle()
        @unknown default:
            self.logger.info(msg: "Unknown background filter.")
        }
    }