This is an automated email from the git hooks/post-receive script. Git pushed a commit to branch master in repository ffmpeg.
commit 1333ee5294664e7bdc925651fc15441e2ba79ddf Author: Ayose <[email protected]> AuthorDate: Fri Dec 5 14:19:57 2025 +0000 Commit: Marton Balint <[email protected]> CommitDate: Sun Jan 4 13:42:20 2026 +0000 doc/drawvg-reference: changes on color syntax. Colors expressions (like `#RRGGBB`) can now be used as arguments for `setvar` and `call`. The trick of setting a variable with a `0xRRGGBBAA` value is not valid anymore. Signed-off-by: Ayose <[email protected]> --- doc/drawvg-reference.texi | 81 +++++++++++++++++++++++++++++------------------ 1 file changed, 51 insertions(+), 30 deletions(-) diff --git a/doc/drawvg-reference.texi b/doc/drawvg-reference.texi index 7d381915e8..c503bcec06 100644 --- a/doc/drawvg-reference.texi +++ b/doc/drawvg-reference.texi @@ -450,29 +450,34 @@ Optionally, an @code{@@a} suffix can be added to set the alpha value, where @code{a} is a number between @code{0} and @code{1}. @end itemize -The color can be a variable name. In that case, its value is interpreted -as a @code{0xRRGGBBAA} code. - @example -circle 75 100 50 +circle 70 70 60 setcolor #FF0000 fill -circle 125 100 50 -setvar CustomGreen 0x90EEAAFF +circle 170 170 60 +setcolor blue@@0.5 +fill +@end example + +The color can be a variable name. In that case, it must be assigned with +@vgscmd{defrgba}, @vgscmd{defhsla}, or @vgscmd{setvar} and a color. + +@example +circle 70 70 60 +setvar CustomGreen #22FF44 setcolor CustomGreen fill -circle 175 100 50 -setcolor blue@@0.5 +circle 170 170 60 +defhsla CustomBlue 200 0.7 0.5 1 +setcolor CustomBlue fill @end example -The commands @vgscmd{setrgba} and @vgscmd{sethsla} allow setting colors -using expressions. - -@vgscmd{defrgba} and @vgscmd{defhsla} compute the color and store it in a -variable. +The commands @vgscmd{setrgba} and @vgscmd{sethsla} allow setting colors using +expressions. Similar to @vgscmd{defrgba} and @vgscmd{defhsla}, but with no +intermediate variable. @subsection Constants @@ -845,13 +850,13 @@ fill @subsection Variables @vgscmd{setcolor} and @vgscmd{colorstop} accept a variable name as the -argument. When a variable is used, its value is interpreted as a -@code{0xRRGGBBAA} code. +argument. The variable must be assigned with @vgscmd{defrgba}, +@vgscmd{defhsla}, or @vgscmd{setvar} and a color. @codeexample{ @example // Use color #1020FF, alpha = 50% -setvar someblue 0x1020FF7F +setvar someblue #1020FF@@0.5 setcolor someblue @@ -872,15 +877,15 @@ setcolor teal rect 30 30 120 120 fill -setvar teal 0x70AAAAFF // Now, `teal` is #70AAAA -setcolor teal +setvar teal #70AAAA +setcolor teal // Use the new color for `teal`. rect 90 90 120 120 fill @end example } -@vgscmd{defrgba} and @vgscmd{defhsla} compute the @code{0xRRGGBBAA} value -for a color given its color components: +@vgscmd{defrgba} and @vgscmd{defhsla} assign a color to a variable, by providing +an expression for each color component: @itemize @item @@ -1241,9 +1246,9 @@ proc zigzag color y @{ stroke @} -call zigzag 0x40C0FFFF 60 -call zigzag 0x00AABBFF 120 -call zigzag 0x20F0B7FF 180 +call zigzag #40C0FF 60 +call zigzag #00AABB 120 +call zigzag #20F0B7 180 @end example } @@ -1328,9 +1333,26 @@ There are some functions specific to drawvg available in @ffexprs{}. @subsection Function @code{p} -@code{p(x, y)} returns the color of the pixel at coordinates -@code{x, y}, as a @code{0xRRGGBBAA} value. This value can be assigned to -a variable, which can be used later as the argument for @vgscmd{setcolor}. +@code{p(x, y)} returns the color of the pixel at coordinates @code{x, y}, as a +@code{0xRRGGBBAA} value. It can be assigned to a variable, so the color can be +available for @vgscmd{setcolor} and @vgscmd{colorstop} commands. + +If a single expression contains multiple calls to the function, it must return +the value of the last call in order to use it as a color. + +@codeexample{ +In this example, the first call to @code{p(0, 0)} is stored in the variable +@var{0} of the expression. Then, the same expression makes a second call to +@code{p(1, 1)}, and finally it returns the value in the variable @var{0}. + +@example +setvar pixel (st(0, p(0, 0)); p(1, 1); ld(0)) +@end example + +Since the result of the expression is not the last call to @code{p}, the +variable @var{pixel} can not be used as a color, but it still can be used as +a numeric @code{0xRRGGBBAA} value. +} If the coordinates are outside the frame, or any of the arguments is not a finite number (like @@ -1951,8 +1973,8 @@ point}. @signature{defhsla varname @var{h} @var{s} @var{l} @var{a}} Similar to @vgscmd{sethsla}, but instead of establishing the color for -stroke and fill operations, the computed color is stored as a -@code{0xRRGGBBAA} value in the variable @var{varname}. +stroke and fill operations, the computed color is assigned to the +variable @var{varname}. @var{varname} can then be used as a color for @vgscmd{setcolor} and @vgscmd{colorstop}. @@ -1965,8 +1987,7 @@ See @vgscmd{sethsla} for more details on how the color is computed. @signature{defrgba varname @var{r} @var{g} @var{b} @var{a}} Computes a color from the @emph{red}, @emph{green}, @emph{blue}, and -@emph{alpha} components, and assigns it to the variable @var{varname} -as a @code{0xRRGGBBAA} value. +@emph{alpha} components, and assigns it to the variable @var{varname}. All components are values between @code{0} and @code{1}. Values outside that range are clamped to it. _______________________________________________ ffmpeg-cvslog mailing list -- [email protected] To unsubscribe send an email to [email protected]
