[CommandHipc(2102)] // 5.0.0+ // ConvertScalingMode(u32 source_scaling_mode) -> u64 destination_scaling_mode public ResultCode ConvertScalingMode(ServiceCtx context) { SourceScalingMode scalingMode = (SourceScalingMode)context.RequestData.ReadInt32(); DestinationScalingMode?convertedScalingMode = scalingMode switch { SourceScalingMode.None => DestinationScalingMode.None, SourceScalingMode.Freeze => DestinationScalingMode.Freeze, SourceScalingMode.ScaleAndCrop => DestinationScalingMode.ScaleAndCrop, SourceScalingMode.ScaleToWindow => DestinationScalingMode.ScaleToWindow, SourceScalingMode.PreserveAspectRatio => DestinationScalingMode.PreserveAspectRatio, _ => null, }; if (!convertedScalingMode.HasValue) { // Scaling mode out of the range of valid values. return(ResultCode.InvalidArguments); } if (scalingMode != SourceScalingMode.ScaleToWindow && scalingMode != SourceScalingMode.PreserveAspectRatio) { // Invalid scaling mode specified. return(ResultCode.InvalidScalingMode); } context.ResponseData.Write((ulong)convertedScalingMode); return(ResultCode.Success); }
private DestinationScalingMode?ConvertScalingMode(SourceScalingMode source) { switch (source) { case SourceScalingMode.None: return(DestinationScalingMode.None); case SourceScalingMode.Freeze: return(DestinationScalingMode.Freeze); case SourceScalingMode.ScaleAndCrop: return(DestinationScalingMode.ScaleAndCrop); case SourceScalingMode.ScaleToWindow: return(DestinationScalingMode.ScaleToWindow); case SourceScalingMode.PreserveAspectRatio: return(DestinationScalingMode.PreserveAspectRatio); } return(null); }