I have some complex gradients that needs more than 12 stops for visualization (40 in this case) and when I try to use it from css I get the following exception:
java.lang.RuntimeException: Maximum number of gradient stops exceeded (paint uses 19 stops, but max is 12)
at com.sun.prism.impl.ps.PaintHelper.stopsToImage(PaintHelper.java:94)
at com.sun.prism.impl.ps.PaintHelper.initGradient(PaintHelper.java:137)
at com.sun.prism.impl.ps.PaintHelper.setMultiGradient(PaintHelper.java:164)
at com.sun.prism.impl.ps.PaintHelper.setLinearGradient(PaintHelper.java:271)
at com.sun.prism.impl.ps.BaseShaderContext.updatePaintShader(BaseShaderContext.java:209)
at com.sun.prism.impl.ps.BaseShaderContext.validatePaintOp(BaseShaderContext.java:379)
at com.sun.prism.impl.ps.BaseShaderContext.validatePaintOp(BaseShaderContext.java:326)
at com.sun.prism.impl.ps.BaseShaderContext.validatePaintOp(BaseShaderContext.java:285)
at com.sun.prism.impl.BaseContext.validateClearOp(BaseContext.java:91)
at com.sun.prism.es2.ES2Graphics.clear(ES2Graphics.java:74)
at com.sun.javafx.tk.quantum.ViewPainter.doPaint(ViewPainter.java:106)
at com.sun.javafx.tk.quantum.AbstractPainter.paintImpl(AbstractPainter.java:175)
at com.sun.javafx.tk.quantum.PresentingPainter.run(PresentingPainter.java:73)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471)
at java.util.concurrent.FutureTask$Sync.innerRunAndReset(FutureTask.java:351)
at java.util.concurrent.FutureTask.runAndReset(FutureTask.java:178)
at com.sun.prism.render.RenderJob.run(RenderJob.java:37)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)
at com.sun.javafx.tk.quantum.QuantumRenderer$PipelineRunnable.run(QuantumRenderer.java:98)
at java.lang.Thread.run(Thread.java:722)
It might be very rare problem but nevertheless I think 12 stops are not enough for a bit more complex gradients.
java.lang.RuntimeException: Maximum number of gradient stops exceeded (paint uses 19 stops, but max is 12)
at com.sun.prism.impl.ps.PaintHelper.stopsToImage(PaintHelper.java:94)
at com.sun.prism.impl.ps.PaintHelper.initGradient(PaintHelper.java:137)
at com.sun.prism.impl.ps.PaintHelper.setMultiGradient(PaintHelper.java:164)
at com.sun.prism.impl.ps.PaintHelper.setLinearGradient(PaintHelper.java:271)
at com.sun.prism.impl.ps.BaseShaderContext.updatePaintShader(BaseShaderContext.java:209)
at com.sun.prism.impl.ps.BaseShaderContext.validatePaintOp(BaseShaderContext.java:379)
at com.sun.prism.impl.ps.BaseShaderContext.validatePaintOp(BaseShaderContext.java:326)
at com.sun.prism.impl.ps.BaseShaderContext.validatePaintOp(BaseShaderContext.java:285)
at com.sun.prism.impl.BaseContext.validateClearOp(BaseContext.java:91)
at com.sun.prism.es2.ES2Graphics.clear(ES2Graphics.java:74)
at com.sun.javafx.tk.quantum.ViewPainter.doPaint(ViewPainter.java:106)
at com.sun.javafx.tk.quantum.AbstractPainter.paintImpl(AbstractPainter.java:175)
at com.sun.javafx.tk.quantum.PresentingPainter.run(PresentingPainter.java:73)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471)
at java.util.concurrent.FutureTask$Sync.innerRunAndReset(FutureTask.java:351)
at java.util.concurrent.FutureTask.runAndReset(FutureTask.java:178)
at com.sun.prism.render.RenderJob.run(RenderJob.java:37)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)
at com.sun.javafx.tk.quantum.QuantumRenderer$PipelineRunnable.run(QuantumRenderer.java:98)
at java.lang.Thread.run(Thread.java:722)
It might be very rare problem but nevertheless I think 12 stops are not enough for a bit more complex gradients.