public long ConvertScalingMode(ServiceCtx context)
        {
            SrcScalingMode scalingMode     = (SrcScalingMode)context.RequestData.ReadInt32();
            DstScalingMode?destScalingMode = ConvetScalingModeImpl(scalingMode);

            if (!destScalingMode.HasValue)
            {
                return(MakeError(ErrorModule.Vi, 1));
            }

            context.ResponseData.Write((ulong)destScalingMode);

            return(0);
        }
        private DstScalingMode?ConvertScalingMode(SrcScalingMode source)
        {
            switch (source)
            {
            case SrcScalingMode.None:                return(DstScalingMode.None);

            case SrcScalingMode.Freeze:              return(DstScalingMode.Freeze);

            case SrcScalingMode.ScaleAndCrop:        return(DstScalingMode.ScaleAndCrop);

            case SrcScalingMode.ScaleToWindow:       return(DstScalingMode.ScaleToWindow);

            case SrcScalingMode.PreserveAspectRatio: return(DstScalingMode.PreserveAspectRatio);
            }

            return(null);
        }
        [Command(2102)] // 5.0.0+
        // ConvertScalingMode(unknown) -> unknown
        public ResultCode ConvertScalingMode(ServiceCtx context)
        {
            SrcScalingMode scalingMode = (SrcScalingMode)context.RequestData.ReadInt32();

            DstScalingMode?convertedScalingMode = ConvertScalingMode(scalingMode);

            if (!convertedScalingMode.HasValue)
            {
                // Scaling mode out of the range of valid values.
                return(ResultCode.InvalidArguments);
            }

            if (scalingMode != SrcScalingMode.ScaleToWindow &&
                scalingMode != SrcScalingMode.PreserveAspectRatio)
            {
                // Invalid scaling mode specified.
                return(ResultCode.InvalidScalingMode);
            }

            context.ResponseData.Write((ulong)convertedScalingMode);

            return(ResultCode.Success);
        }
Beispiel #4
0
        public long ConvertScalingMode(ServiceCtx context)
        {
            SrcScalingMode scalingMode = (SrcScalingMode)context.RequestData.ReadInt32();

            DstScalingMode?convertedScalingMode = ConvertScalingMode(scalingMode);

            if (!convertedScalingMode.HasValue)
            {
                //Scaling mode out of the range of valid values.
                return(MakeError(ErrorModule.Vi, 1));
            }

            if (scalingMode != SrcScalingMode.ScaleToWindow &&
                scalingMode != SrcScalingMode.PreserveAspectRatio)
            {
                //Invalid scaling mode specified.
                return(MakeError(ErrorModule.Vi, 6));
            }

            context.ResponseData.Write((ulong)convertedScalingMode);

            return(0);
        }