From 0ca11ec962d01b422b9c03b371383cfcc7507cbb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=9C=D0=B0=D0=BA=D1=81=D0=B8=D0=BC=20=D0=91=D0=B0=D0=B3?= =?UTF-8?q?=D1=80=D1=8F=D0=BD=D1=86=D0=B5=D0=B2?= Date: Thu, 30 Apr 2020 15:13:47 +0300 Subject: [PATCH] Added DrawTextOptions Former-commit-id: 240c9bb23b990855a1e102edb459217975eb2a29 --- .../ArgumentContainerFluentExtensions.cs | 26 +++++++++++++++++++ 1 file changed, 26 insertions(+) diff --git a/FFMpegCore/FFMPEG/Argument/ArgumentContainerFluentExtensions.cs b/FFMpegCore/FFMPEG/Argument/ArgumentContainerFluentExtensions.cs index 4e8cc98..daf905c 100644 --- a/FFMpegCore/FFMPEG/Argument/ArgumentContainerFluentExtensions.cs +++ b/FFMpegCore/FFMPEG/Argument/ArgumentContainerFluentExtensions.cs @@ -82,6 +82,32 @@ public static ArgumentContainer DisableChannel(this ArgumentContainer container, return container; } + public class DrawTextOptions + { + public string Text { get; set; } + public string FontPath { get; set; } + public List<(string, string)> Params { get; private set; } + + public DrawTextOptions() + { + Params = new List<(string, string)>(); + } + + public DrawTextOptions AddParam(string key, string value) + { + Params.Add((key, value)); + return this; + } + } + + public static ArgumentContainer DrawText(this ArgumentContainer container, Action builder) + { + var argumentParams = new DrawTextOptions(); + builder.Invoke(argumentParams); + container.Add(new DrawTextArgument(argumentParams.Text, argumentParams.FontPath, argumentParams.Params.ToArray())); + return container; + } + public static ArgumentContainer DrawText(this ArgumentContainer container, string text, string fontPath, params (string, string)[] optionalArguments) { container.Add(new DrawTextArgument(text, fontPath, optionalArguments));