34 char* patch = (
char*) inData;
35 if (inData != outData) {
36 memmove(&outData->wasDeserialized, patch, 4);
37 memmove(&outData->paddingLeft, patch + 12, 4);
39 outData->wasDeserialized =
true;
40 char* data = (
char*)outData;
41 data +=
sizeof(Res_png_9patch);
42 outData->xDivs = (int32_t*) data;
43 data += outData->numXDivs *
sizeof(int32_t);
44 outData->yDivs = (int32_t*) data;
45 data += outData->numYDivs *
sizeof(int32_t);
46 outData->colors = (uint32_t*) data;
60Java_org_qtproject_qt_android_ExtractStyle_extractNativeChunkInfo20(JNIEnv *env, jobject,
long addr)
62 Res_png_9patch20* chunk =
reinterpret_cast<Res_png_9patch20*>(addr);
63 Res_png_9patch20::deserialize(chunk);
66 size_t size = 3+chunk->numXDivs+chunk->numYDivs+chunk->numColors;
67 result = env->NewIntArray(size);
71 jint *data = (jint*)malloc(
sizeof(jint)*size);
73 data[pos++] = chunk->numXDivs;
74 data[pos++] = chunk->numYDivs;
75 data[pos++] = chunk->numColors;
77 int32_t* xDivs = chunk->getXDivs();
78 int32_t* yDivs = chunk->getYDivs();
79 uint32_t* colors = chunk->getColors();
81 for (
int x = 0; x <chunk->numXDivs; x ++)
83 for (
int y = 0; y <chunk->numYDivs; y ++)
84 data[pos++] = yDivs[y];
85 for (
int c = 0; c <chunk->numColors; c ++)
86 data[pos++] = colors[c];
87 env->SetIntArrayRegion(result, 0, size, data);