MCPcopy Create free account
hub / github.com/HumbleUI/Skija / drawBlending

Method drawBlending

examples/scenes/src/ShadersScene.java:239–286  ·  view source on GitHub ↗
(Canvas canvas)

Source from the content-addressed store, hash-verified

237 }
238
239 private void drawBlending(Canvas canvas) {
240 int pink = 0xFFFF0080;
241 int purple = 0xFF8000FF;
242 int orange = 0xFFFFA500;
243 int transparentBlack = 0x00000000;
244
245 try (Paint fill = new Paint();
246 Shader gr1 = Shader.makeLinearGradient(0, 0, 0, 100, new int[] {pink, purple});
247 Shader gr2 = Shader.makeLinearGradient(0, 0, 400, 0, new int[] {orange, transparentBlack});
248 Shader gr3 = Shader.makeLinearGradient(0, 0, 400, 0, new int[] {orange, transparentBlack}, null, GradientStyle.DEFAULT.withPremul(false));
249 Shader gr4 = Shader.makeBlend(BlendMode.SRC_OVER, gr1, gr2);)
250 {
251 canvas.save();
252 canvas.drawRect(Rect.makeXYWH(0, 0, 80, 80), fill.setColor(pink));
253 canvas.translate(90, 0);
254 canvas.drawRect(Rect.makeXYWH(0, 0, 400, 80), fill.setShader(gr1));
255 canvas.translate(410, 0);
256 canvas.drawRect(Rect.makeXYWH(0, 0, 80, 80), fill.setShader(null).setColor(purple));
257 canvas.restore();
258
259 canvas.translate(0, 90);
260 canvas.save();
261 canvas.drawRect(Rect.makeXYWH(0, 0, 80, 80), fill.setColor(orange));
262 canvas.translate(90, 0);
263 canvas.drawRect(Rect.makeXYWH(0, 0, 400, 80), fill.setShader(gr2));
264 canvas.translate(410, 0);
265 canvas.drawRect(Rect.makeXYWH(0, 0, 80, 80), fill.setShader(null).setColor(transparentBlack));
266 canvas.restore();
267
268 canvas.translate(0, 90);
269 canvas.save();
270 canvas.drawRect(Rect.makeXYWH(0, 0, 80, 80), fill.setColor(orange));
271 canvas.translate(90, 0);
272 canvas.drawRect(Rect.makeXYWH(0, 0, 400, 80), fill.setShader(gr3));
273 canvas.translate(410, 0);
274 canvas.drawRect(Rect.makeXYWH(0, 0, 80, 80), fill.setShader(null).setColor(transparentBlack));
275 canvas.restore();
276
277 canvas.translate(0, 90);
278 canvas.save();
279 canvas.drawRect(Rect.makeXYWH(0, 0, 80, 80), fill.setColor(orange));
280 canvas.translate(90, 0);
281 canvas.drawRect(Rect.makeXYWH(0, 0, 400, 80), fill.setShader(gr4));
282 canvas.translate(410, 0);
283 canvas.drawRect(Rect.makeXYWH(0, 0, 80, 80), fill.setShader(gr1));
284 canvas.restore();
285 }
286 }
287}

Callers 1

drawMethod · 0.95

Calls 8

makeLinearGradientMethod · 0.95
makeBlendMethod · 0.95
saveMethod · 0.80
drawRectMethod · 0.80
setShaderMethod · 0.80
restoreMethod · 0.80
setColorMethod · 0.45
translateMethod · 0.45

Tested by

no test coverage detected