Browse Source

Color correction

JNI-44
Volker Birk 10 years ago
parent
commit
fbf8f8710f
  1. 31
      src/gen_cpp_Engine.ysl2
  2. 8
      test/Testing.java

31
src/gen_cpp_Engine.ysl2

@ -140,6 +140,36 @@ tstylesheet {
||
when "$jtype = 'Color'"
||
jobject «$name»_ = NULL;
{
jclass clazz_color = findClass(env, "org/pEp/jniadapter/Color");
assert(clazz_color);
jmethodID method_values = env->GetStaticMethodID(clazz_color, "values",
"()[Lorg/pEp/jniadapter/Color;");
assert(method_values);
jfieldID field_value = env->GetFieldID(clazz_color, "value", "I");
assert(field_value);
jobjectArray values = (jobjectArray) env->CallStaticObjectMethod(clazz_color,
method_values);
assert(values);
jsize values_size = env->GetArrayLength(values);
for (jsize i = 0; i < values_size; i++) {
jobject element = env->GetObjectArrayElement(values, i);
assert(element);
jint value = env->GetIntField(element, field_value);
if (value == (jint) _color) {
«$name»_ = element;
break;
}
}
}
||
otherwise {
| jobject «$name»_ = NULL;
indent(0);
@ -147,6 +177,7 @@ tstylesheet {
> {\n
||
jclass clazz_«$name»_ = findClass(env, "org/pEp/jniadapter/«$jtype»");
assert(clazz_«$name»_);
jmethodID constructor_«$name»_ = env->GetMethodID(clazz_«$name»_, "<init>", "«$sig»");
assert(constructor_«$name»_);
||

8
test/Testing.java

@ -58,6 +58,14 @@ class Testing {
System.out.println(enc.getLongmsg());
Vector<Blob> attachments = enc.getAttachments();
System.out.println(e.toUTF16(attachments.get(1).data));
msg.setDir(Message.Direction.Outgoing);
try {
System.out.println(e.outgoing_message_color(msg));
}
catch (pEpException ex) {
System.out.println("cannot measure outgoing message color");
}
}
}

Loading…
Cancel
Save