Add support for TextureAsset::premultiply_alpha = false
on Android.
gamnit :: android19 $ NativeCByteArray
An array ofunsigned char
in C (unsigned char*
)
gamnit :: android19 $ NativeCByteArray
An array ofunsigned char
in C (unsigned char*
)
Serializable::inspect
to show more useful information
more_collections :: more_collections
Highly specific, but useful, collections-related classes.serialization :: serialization_core
Abstract services to serialize Nit objects to different formatscore :: union_find
union–find algorithm using an efficient disjoint-set data structure
# Variation using features from Android API 19
#
# Add support for `TextureAsset::premultiply_alpha = false` on Android.
module android19 is
android_api_min 19
android_api_target 22
end
import android
intrude import display_android
intrude import gamnit_android
intrude import android::load_image
in "Java" `{
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
`}
redef class TextureAsset
redef fun load_bitmap(asset_manager, path)
do
var stream = asset_manager.native_assets_manager.open(path.to_java_string)
return new NativeBitmap.from_stream_ex(stream, premultiply_alpha)
end
end
redef class NativeCByteArray
# The data was not premultiplied, don't unmultiply it
redef fun unmultiply(w, h) do end
end
redef class NativeBitmap
# Load from `input_stream` with optional `premultiply_alpha`
new from_stream_ex(input_stream: NativeInputStream, premultiply_alpha: Bool) in "Java" `{
BitmapFactory.Options opts = new BitmapFactory.Options();
opts.inPremultiplied = premultiply_alpha; // API 19
return BitmapFactory.decodeStream(input_stream, null, opts);
`}
end
lib/gamnit/android19.nit:15,1--56,3