radial_gradient is now actually working.

This commit is contained in:
Creeper Lv
2026-01-24 01:39:36 +11:00
parent 48e7e54db3
commit f1c556839f
2 changed files with 3 additions and 1 deletions

View File

@@ -86,6 +86,7 @@ namespace Progrart.Core.JSExecution
var sy = (float)jsObject.Get("Center").Get("y").AsNumber(); var sy = (float)jsObject.Get("Center").Get("y").AsNumber();
var s = context.TranslatePoint(sx, sy); var s = context.TranslatePoint(sx, sy);
var radius = (float)jsObject.Get("Radius").AsNumber(); var radius = (float)jsObject.Get("Radius").AsNumber();
radius = context.TranslateSize(radius);
SKColor C0 = SKColors.Black; SKColor C0 = SKColors.Black;
SKColor C1 = SKColors.White; SKColor C1 = SKColors.White;
float p0 = 0; float p0 = 0;

View File

@@ -62,6 +62,7 @@ namespace Progrart.Core.JSExecution
public static JsObject radial_gradient(Engine engine) public static JsObject radial_gradient(Engine engine)
{ {
var obj = new JsObject(engine); var obj = new JsObject(engine);
obj.Set("Radius", 1);
{ {
JsObject point = new JsObject(engine); 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("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}"); obj.Set("Type", $"{ShaderType.RadialGradient}");
return obj; return obj;
} }