示例#1
0
        internal static void InternalOnCaptureOverlayStateChangedCallback(Types.VideoCaptureOverlayState response, IntPtr data)
        {
            Action <Types.VideoCaptureOverlayState> action = Callbacks.IntPtrToPermanentCallback <Action <Types.VideoCaptureOverlayState> >(data);

            try
            {
                action(response);
            }
            catch (Exception arg)
            {
                Logger.e("Error encountered executing InternalOnCaptureOverlayStateChangedCallback. Smothering to avoid passing exception into Native: " + arg);
            }
        }
        internal static VideoCaptureOverlayState ConvertNativeVideoCaptureOverlayState(Types.VideoCaptureOverlayState nativeOverlayState)
        {
            switch ((nativeOverlayState + 1))
            {
            case ~Types.VideoCaptureOverlayState.UNKNOWN:
                return(VideoCaptureOverlayState.Unknown);

            case Types.VideoCaptureOverlayState.STARTED:
                return(VideoCaptureOverlayState.Shown);

            case Types.VideoCaptureOverlayState.STOPPED:
                return(VideoCaptureOverlayState.Started);

            case Types.VideoCaptureOverlayState.DISMISSED:
                return(VideoCaptureOverlayState.Stopped);

            case (Types.VideoCaptureOverlayState.DISMISSED | Types.VideoCaptureOverlayState.SHOWN):
                return(VideoCaptureOverlayState.Dismissed);
            }
            Debug.LogWarning("Unknown Types.VideoCaptureOverlayState: " + nativeOverlayState + ", defaulting to VideoCaptureOverlayState.Unknown.");
            return(VideoCaptureOverlayState.Unknown);
        }