From f1c556839f6c034d8633109fade5293fd49150fd Mon Sep 17 00:00:00 2001 From: Creeper Lv Date: Sat, 24 Jan 2026 01:39:36 +1100 Subject: [PATCH] radial_gradient is now actually working. --- Progrart.Core/JSExecution/ProgrartConversion.cs | 1 + Progrart.Core/JSExecution/ProgrartFunctions.cs | 3 ++- 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/Progrart.Core/JSExecution/ProgrartConversion.cs b/Progrart.Core/JSExecution/ProgrartConversion.cs index 56b2218..375cb6d 100644 --- a/Progrart.Core/JSExecution/ProgrartConversion.cs +++ b/Progrart.Core/JSExecution/ProgrartConversion.cs @@ -86,6 +86,7 @@ namespace Progrart.Core.JSExecution var sy = (float)jsObject.Get("Center").Get("y").AsNumber(); var s = context.TranslatePoint(sx, sy); var radius = (float)jsObject.Get("Radius").AsNumber(); + radius = context.TranslateSize(radius); SKColor C0 = SKColors.Black; SKColor C1 = SKColors.White; float p0 = 0; diff --git a/Progrart.Core/JSExecution/ProgrartFunctions.cs b/Progrart.Core/JSExecution/ProgrartFunctions.cs index b5db9e7..8dfe873 100644 --- a/Progrart.Core/JSExecution/ProgrartFunctions.cs +++ b/Progrart.Core/JSExecution/ProgrartFunctions.cs @@ -62,6 +62,7 @@ namespace Progrart.Core.JSExecution public static JsObject radial_gradient(Engine engine) { var obj = new JsObject(engine); + obj.Set("Radius", 1); { JsObject point = new JsObject(engine); @@ -79,7 +80,7 @@ namespace Progrart.Core.JSExecution { obj.Set("Positions", new JsArray(engine, new[] { new JsNumber(0), new JsNumber(1) })); } - obj.Set("TileMode", $"{SKShaderTileMode.Repeat}"); + obj.Set("TileMode", $"{SKShaderTileMode.Clamp}"); obj.Set("Type", $"{ShaderType.RadialGradient}"); return obj; }