blob: 3bfdfdbc682bd40956cc52b53650079fb9a58462 [file] [log] [blame]
/*
* Copyright 2021 Google Inc.
*
* Use of this source code is governed by a BSD-style license that can be
* found in the LICENSE file.
*/
package org.skia.androidkitdemo1.samples;
import android.content.res.Resources;
import java.io.InputStream;
import org.skia.androidkit.Canvas;
import org.skia.androidkit.Matrix;
import org.skia.androidkit.Paint;
import org.skia.androidkit.RuntimeShaderBuilder;
import org.skia.androidkitdemo1.samples.Sample;
public class RuntimeSample implements Sample {
private RuntimeShaderBuilder mShaderBuilder;
public RuntimeSample(Resources res, int resId) {
String sksl = "";
try {
InputStream is = res.openRawResource(resId);
byte[] data = new byte[is.available()];
is.read(data);
sksl = new String(data);
} catch (Exception e) {}
mShaderBuilder = new RuntimeShaderBuilder(sksl);
}
public void render(Canvas canvas, long ms, float left, float top, float right, float bottom) {
mShaderBuilder.setUniform("u_time", ms / 1000.0f)
.setUniform("u_w", right - left)
.setUniform("u_h", bottom - top);
Paint paint = new Paint().setShader(mShaderBuilder.makeShader());
canvas.save();
canvas.concat(new Matrix().translate(left, top));
canvas.drawRect(0, 0, right - left, bottom - top, paint);
canvas.restore();
}
}