MCPcopy Create free account
hub / github.com/XCSoar/XCSoar / LoadFileTiff

Method LoadFileTiff

src/Android/NativeView.cpp:126–153  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

124}
125
126Java::LocalObject
127NativeView::LoadFileTiff(JNIEnv *env, Path path)
128{
129 UncompressedImage image = LoadTiff(path);
130
131 // create a Bitmap.Config enum
132 Java::String config_name(env, "ARGB_8888");
133 Java::LocalObject bitmap_config{env,
134 env->CallStaticObjectMethod(clsBitmapConfig, bitmapConfigValueOf_method,
135 config_name.Get())};
136
137 // convert ABGR to ARGB
138 // TODO: I am not sure if this conversion depends on endianess. So
139 // it might be wrong for Intel CPUs?!
140 ConvertABGRToARGB(image);
141
142 // create int array
143 unsigned size = image.GetWidth() * image.GetHeight();
144 Java::LocalRef<jintArray> intArray{env, env->NewIntArray(size)};
145 env->SetIntArrayRegion(intArray, 0, size, static_cast<const jint*>(image.GetData()));
146
147 // call Bitmap.createBitmap()
148 return {env,
149 env->CallStaticObjectMethod(clsBitmap, createBitmap_method,
150 intArray.Get(),
151 image.GetWidth(), image.GetHeight(),
152 bitmap_config.Get())};
153}
154
155Java::LocalObject
156NativeView::LoadFileBitmap(JNIEnv *env, Path path)

Callers 1

LoadFileMethod · 0.80

Calls 6

LoadTiffFunction · 0.85
ConvertABGRToARGBFunction · 0.85
GetMethod · 0.45
GetWidthMethod · 0.45
GetHeightMethod · 0.45
GetDataMethod · 0.45

Tested by

no test coverage detected