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

Method drawPatch

examples/scenes/src/GeometryScene.java:165–202  ·  view source on GitHub ↗
(Canvas canvas)

Source from the content-addressed store, hash-verified

163 }
164
165 public void drawPatch(Canvas canvas) {
166 canvas.save();
167
168 Point[] cubics = new Point[] {
169 new Point(30, 10), new Point(40, 20), new Point(50, 10), new Point(70, 30),
170 /* new Point(70, 30), */ new Point(60, 40), new Point(70, 50), new Point(50, 70),
171 /* new Point(50, 70), */ new Point(40, 60), new Point(30, 70), new Point(10, 50),
172 /* new Point(10, 50), */ new Point(20, 40), new Point(10, 30), /* new Point(30, 10) */
173 };
174 int[] colors = new int[] { 0xFFFF0000, 0xFF0000FF, 0xFFFFFF00, 0xFF00FFFF };
175
176 try (var paint = new Paint();
177 var shader = Shader.makeLinearGradient( 0, 0, 70, 0, new int[] { 0xFF277da1, 0xFFffba08 });)
178 {
179 canvas.drawPatch(cubics, colors, paint);
180 canvas.translate(80, 0);
181
182 paint.setShader(shader);
183 canvas.drawPatch(cubics, colors, paint);
184 canvas.translate(80, 0);
185
186 canvas.drawPatch(cubics, colors, null, BlendMode.SRC_OVER, paint);
187 canvas.translate(80, 0);
188
189 colors = new int[] {0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF};
190 canvas.drawPatch(cubics, colors, paint);
191 canvas.translate(80, 0);
192
193 Point[] texCoords = new Point[] {
194 new Point(0, 0), new Point(70, 0), new Point(70, 70), new Point(0, 70)
195 };
196 canvas.drawPatch(cubics, colors, texCoords, paint);
197 canvas.translate(80, 0);
198 }
199
200 canvas.restore();
201 canvas.translate(0, 80);
202 }
203
204 public void drawRotate(Canvas canvas) {
205 var stroke1px = new Paint().setStrokeWidth(1f);

Callers 1

drawMethod · 0.95

Calls 5

makeLinearGradientMethod · 0.95
saveMethod · 0.80
setShaderMethod · 0.80
restoreMethod · 0.80
translateMethod · 0.45

Tested by

no test coverage detected