17static void ImageFilter_Release(JNIEnv*
env, jobject, jlong native_imageFilter) {
21static long ImageFilter_DistantLitDiffuse(JNIEnv*
env, jobject, jfloat
x, jfloat
y, jfloat z,
22 jfloat r, jfloat g, jfloat
b,
23 jfloat surfaceScale, jfloat kd,
29 return reinterpret_cast<jlong
>(filter.release());
32static long ImageFilter_Blur(JNIEnv*
env, jobject, jfloat sigmaX, jfloat sigmaY,
33 jint jTileMode, jfloat l, jfloat t, jfloat r,
34 jfloat
b, jlong native_input) {
39 return reinterpret_cast<jlong
>(filter.release());
42static long ImageFilter_DropShadow(JNIEnv*
env, jobject, jfloat
dx, jfloat dy,
43 jfloat sigmaX, jfloat sigmaY,
44 jfloat r, jfloat g, jfloat
b,
49 return reinterpret_cast<jlong
>(filter.release());
52static long ImageFilter_Blend(JNIEnv*
env, jobject, jint bm, jlong background, jlong foreground) {
56 return reinterpret_cast<jlong
>(filter.release());
59static long ImageFilter_Image(JNIEnv*
env, jobject, jlong native_image) {
62 return reinterpret_cast<jlong
>(filter.release());
68 static const JNINativeMethod methods[] = {
69 {
"nRelease" ,
"(J)V" ,
reinterpret_cast<void*
>(ImageFilter_Release)},
70 {
"nDistantLitDiffuse",
"(FFFFFFFFJ)J" ,
reinterpret_cast<void*
>(ImageFilter_DistantLitDiffuse)},
71 {
"nBlur" ,
"(FFIFFFFJ)J" ,
reinterpret_cast<void*
>(ImageFilter_Blur)},
72 {
"nDropShadow" ,
"(FFFFFFFJ)J" ,
reinterpret_cast<void*
>(ImageFilter_DropShadow)},
73 {
"nBlend" ,
"(IJJ)J" ,
reinterpret_cast<void*
>(ImageFilter_Blend)},
74 {
"nImage" ,
"(J)J" ,
reinterpret_cast<void*
>(ImageFilter_Image)},
77 const auto clazz =
env->FindClass(
"org/skia/jetski/ImageFilter");
79 ?
env->RegisterNatives(clazz, methods,
std::size(methods))
int register_jetski_ImageFilter(JNIEnv *env)
static void SkSafeUnref(T *obj)
sk_sp< T > sk_ref_sp(T *obj)
static sk_sp< SkImageFilter > DropShadow(SkScalar dx, SkScalar dy, SkScalar sigmaX, SkScalar sigmaY, SkColor color, sk_sp< SkImageFilter > input, const CropRect &cropRect={})
static sk_sp< SkImageFilter > DistantLitDiffuse(const SkPoint3 &direction, SkColor lightColor, SkScalar surfaceScale, SkScalar kd, sk_sp< SkImageFilter > input, const CropRect &cropRect={})
static sk_sp< SkImageFilter > Blur(SkScalar sigmaX, SkScalar sigmaY, SkTileMode tileMode, sk_sp< SkImageFilter > input, const CropRect &cropRect={})
static sk_sp< SkImageFilter > Image(sk_sp< SkImage > image, const SkRect &srcRect, const SkRect &dstRect, const SkSamplingOptions &sampling)
static sk_sp< SkImageFilter > Blend(SkBlendMode mode, sk_sp< SkImageFilter > background, sk_sp< SkImageFilter > foreground=nullptr, const CropRect &cropRect={})
sk_sp< const SkImage > image
skia_private::AutoTArray< sk_sp< SkImageFilter > > filters TypedMatrix matrix TypedMatrix matrix SkScalar dx
it will be possible to load the file into Perfetto s trace viewer disable asset Prevents usage of any non test fonts unless they were explicitly Loaded via prefetched default font Indicates whether the embedding started a prefetch of the default font manager before creating the engine run In non interactive keep the shell running after the Dart script has completed enable serial On low power devices with low core running concurrent GC tasks on threads can cause them to contend with the UI thread which could potentially lead to jank This option turns off all concurrent GC activities domain network JSON encoded network policy per domain This overrides the DisallowInsecureConnections switch Embedder can specify whether to allow or disallow insecure connections at a domain level old gen heap size
SkTileMode TileMode(jint tm)
SkBlendMode BlendMode(jint bm)
static SkPoint3 Make(SkScalar x, SkScalar y, SkScalar z)
static constexpr SkRect MakeLTRB(float l, float t, float r, float b)