|
Packit |
ffe0d2 |
/*
|
|
Packit |
ffe0d2 |
* Java ATK Wrapper for GNOME
|
|
Packit |
ffe0d2 |
* Copyright (C) 2009 Sun Microsystems Inc.
|
|
Packit |
ffe0d2 |
*
|
|
Packit |
ffe0d2 |
* This library is free software; you can redistribute it and/or
|
|
Packit |
ffe0d2 |
* modify it under the terms of the GNU Lesser General Public
|
|
Packit |
ffe0d2 |
* License as published by the Free Software Foundation; either
|
|
Packit |
ffe0d2 |
* version 2.1 of the License, or (at your option) any later version.
|
|
Packit |
ffe0d2 |
*
|
|
Packit |
ffe0d2 |
* This library is distributed in the hope that it will be useful,
|
|
Packit |
ffe0d2 |
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
Packit |
ffe0d2 |
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
|
Packit |
ffe0d2 |
* Lesser General Public License for more details.
|
|
Packit |
ffe0d2 |
*
|
|
Packit |
ffe0d2 |
* You should have received a copy of the GNU Lesser General Public
|
|
Packit |
ffe0d2 |
* License along with this library; if not, write to the Free Software
|
|
Packit |
ffe0d2 |
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
|
|
Packit |
ffe0d2 |
*/
|
|
Packit |
ffe0d2 |
|
|
Packit |
ffe0d2 |
#include <atk/atk.h>
|
|
Packit |
ffe0d2 |
#include <glib.h>
|
|
Packit |
ffe0d2 |
#include "jawimpl.h"
|
|
Packit |
ffe0d2 |
#include "jawutil.h"
|
|
Packit |
ffe0d2 |
|
|
Packit |
ffe0d2 |
extern void jaw_value_interface_init (AtkValueIface*);
|
|
Packit |
ffe0d2 |
extern gpointer jaw_value_data_init (jobject ac);
|
|
Packit |
ffe0d2 |
extern void jaw_value_data_finalize (gpointer);
|
|
Packit |
ffe0d2 |
|
|
Packit |
ffe0d2 |
static void jaw_value_get_current_value(AtkValue *obj, GValue *value);
|
|
Packit |
ffe0d2 |
static void jaw_value_get_maximum_value(AtkValue *obj, GValue *value);
|
|
Packit |
ffe0d2 |
static void jaw_value_get_minimum_value(AtkValue *obj, GValue *value);
|
|
Packit |
ffe0d2 |
static gboolean jaw_value_set_current_value(AtkValue *obj, const GValue *value);
|
|
Packit |
ffe0d2 |
static gdouble jaw_value_get_increment (AtkValue *obj);
|
|
Packit |
ffe0d2 |
|
|
Packit |
ffe0d2 |
typedef struct _ValueData {
|
|
Packit |
ffe0d2 |
jobject atk_value;
|
|
Packit |
ffe0d2 |
} ValueData;
|
|
Packit |
ffe0d2 |
|
|
Packit |
ffe0d2 |
void
|
|
Packit |
ffe0d2 |
jaw_value_interface_init (AtkValueIface *iface)
|
|
Packit |
ffe0d2 |
{
|
|
Packit |
ffe0d2 |
iface->get_current_value = jaw_value_get_current_value;
|
|
Packit |
ffe0d2 |
iface->get_maximum_value = jaw_value_get_maximum_value;
|
|
Packit |
ffe0d2 |
iface->get_minimum_value = jaw_value_get_minimum_value;
|
|
Packit |
ffe0d2 |
iface->set_current_value = jaw_value_set_current_value;
|
|
Packit |
ffe0d2 |
iface->get_increment = jaw_value_get_increment;
|
|
Packit |
ffe0d2 |
}
|
|
Packit |
ffe0d2 |
|
|
Packit |
ffe0d2 |
gpointer
|
|
Packit |
ffe0d2 |
jaw_value_data_init (jobject ac)
|
|
Packit |
ffe0d2 |
{
|
|
Packit |
ffe0d2 |
ValueData *data = g_new0(ValueData, 1);
|
|
Packit |
ffe0d2 |
|
|
Packit |
ffe0d2 |
JNIEnv *jniEnv = jaw_util_get_jni_env();
|
|
Packit |
ffe0d2 |
jclass classValue = (*jniEnv)->FindClass(jniEnv,
|
|
Packit |
ffe0d2 |
"org/GNOME/Accessibility/AtkValue");
|
|
Packit |
ffe0d2 |
jmethodID jmid = (*jniEnv)->GetMethodID(jniEnv,
|
|
Packit |
ffe0d2 |
classValue,
|
|
Packit |
ffe0d2 |
"<init>",
|
|
Packit |
ffe0d2 |
"(Ljavax/accessibility/AccessibleContext;)V");
|
|
Packit |
ffe0d2 |
jobject jatk_value = (*jniEnv)->NewObject(jniEnv, classValue, jmid, ac);
|
|
Packit |
ffe0d2 |
data->atk_value = (*jniEnv)->NewGlobalRef(jniEnv, jatk_value);
|
|
Packit |
ffe0d2 |
|
|
Packit |
ffe0d2 |
return data;
|
|
Packit |
ffe0d2 |
}
|
|
Packit |
ffe0d2 |
|
|
Packit |
ffe0d2 |
void
|
|
Packit |
ffe0d2 |
jaw_value_data_finalize (gpointer p)
|
|
Packit |
ffe0d2 |
{
|
|
Packit |
ffe0d2 |
ValueData *data = (ValueData*)p;
|
|
Packit |
ffe0d2 |
JNIEnv *jniEnv = jaw_util_get_jni_env();
|
|
Packit |
ffe0d2 |
|
|
Packit |
ffe0d2 |
if (data && data->atk_value)
|
|
Packit |
ffe0d2 |
{
|
|
Packit |
ffe0d2 |
(*jniEnv)->DeleteGlobalRef(jniEnv, data->atk_value);
|
|
Packit |
ffe0d2 |
data->atk_value = NULL;
|
|
Packit |
ffe0d2 |
}
|
|
Packit |
ffe0d2 |
}
|
|
Packit |
ffe0d2 |
|
|
Packit |
ffe0d2 |
static void
|
|
Packit |
ffe0d2 |
get_g_value_from_java_number (JNIEnv *jniEnv, jobject jnumber, GValue *value)
|
|
Packit |
ffe0d2 |
{
|
|
Packit |
ffe0d2 |
jclass classByte = (*jniEnv)->FindClass(jniEnv, "java/lang/Byte");
|
|
Packit |
ffe0d2 |
jclass classDouble = (*jniEnv)->FindClass(jniEnv, "java/lang/Double");
|
|
Packit |
ffe0d2 |
jclass classFloat = (*jniEnv)->FindClass(jniEnv, "java/lang/Float");
|
|
Packit |
ffe0d2 |
jclass classInteger = (*jniEnv)->FindClass(jniEnv, "java/lang/Integer");
|
|
Packit |
ffe0d2 |
jclass classLong = (*jniEnv)->FindClass(jniEnv, "java/lang/Long");
|
|
Packit |
ffe0d2 |
jclass classShort = (*jniEnv)->FindClass(jniEnv, "java/lang/Short");
|
|
Packit |
ffe0d2 |
|
|
Packit |
ffe0d2 |
jmethodID jmid;
|
|
Packit |
ffe0d2 |
|
|
Packit |
ffe0d2 |
if ((*jniEnv)->IsInstanceOf(jniEnv, jnumber, classByte))
|
|
Packit |
ffe0d2 |
{
|
|
Packit |
ffe0d2 |
jmid = (*jniEnv)->GetMethodID(jniEnv, classByte, "byteValue", "()B");
|
|
Packit |
ffe0d2 |
g_value_init(value, G_TYPE_CHAR);
|
|
Packit |
ffe0d2 |
g_value_set_schar(value,
|
|
Packit |
ffe0d2 |
(gchar)(*jniEnv)->CallByteMethod(jniEnv, jnumber, jmid));
|
|
Packit |
ffe0d2 |
|
|
Packit |
ffe0d2 |
return;
|
|
Packit |
ffe0d2 |
}
|
|
Packit |
ffe0d2 |
|
|
Packit |
ffe0d2 |
if ((*jniEnv)->IsInstanceOf(jniEnv, jnumber, classDouble))
|
|
Packit |
ffe0d2 |
{
|
|
Packit |
ffe0d2 |
jmid = (*jniEnv)->GetMethodID(jniEnv, classDouble, "doubleValue", "()D");
|
|
Packit |
ffe0d2 |
g_value_init(value, G_TYPE_DOUBLE);
|
|
Packit |
ffe0d2 |
g_value_set_double(value,
|
|
Packit |
ffe0d2 |
(gdouble)(*jniEnv)->CallDoubleMethod(jniEnv, jnumber, jmid));
|
|
Packit |
ffe0d2 |
|
|
Packit |
ffe0d2 |
return;
|
|
Packit |
ffe0d2 |
}
|
|
Packit |
ffe0d2 |
|
|
Packit |
ffe0d2 |
if ((*jniEnv)->IsInstanceOf(jniEnv, jnumber, classFloat))
|
|
Packit |
ffe0d2 |
{
|
|
Packit |
ffe0d2 |
jmid = (*jniEnv)->GetMethodID(jniEnv, classFloat, "floatValue", "()F");
|
|
Packit |
ffe0d2 |
g_value_init(value, G_TYPE_FLOAT);
|
|
Packit |
ffe0d2 |
g_value_set_float(value,
|
|
Packit |
ffe0d2 |
(gfloat)(*jniEnv)->CallFloatMethod(jniEnv, jnumber, jmid));
|
|
Packit |
ffe0d2 |
|
|
Packit |
ffe0d2 |
return;
|
|
Packit |
ffe0d2 |
}
|
|
Packit |
ffe0d2 |
|
|
Packit |
ffe0d2 |
if ((*jniEnv)->IsInstanceOf(jniEnv, jnumber, classInteger)
|
|
Packit |
ffe0d2 |
|| (*jniEnv)->IsInstanceOf(jniEnv, jnumber, classShort))
|
|
Packit |
ffe0d2 |
{
|
|
Packit |
ffe0d2 |
jmid = (*jniEnv)->GetMethodID(jniEnv, classInteger, "intValue", "()I");
|
|
Packit |
ffe0d2 |
g_value_init(value, G_TYPE_INT);
|
|
Packit |
ffe0d2 |
g_value_set_int(value,
|
|
Packit |
ffe0d2 |
(gint)(*jniEnv)->CallIntMethod(jniEnv, jnumber, jmid));
|
|
Packit |
ffe0d2 |
|
|
Packit |
ffe0d2 |
return;
|
|
Packit |
ffe0d2 |
}
|
|
Packit |
ffe0d2 |
|
|
Packit |
ffe0d2 |
if ((*jniEnv)->IsInstanceOf(jniEnv, jnumber, classLong)) {
|
|
Packit |
ffe0d2 |
jmid = (*jniEnv)->GetMethodID(jniEnv, classLong, "longValue", "()J");
|
|
Packit |
ffe0d2 |
g_value_init(value, G_TYPE_INT64);
|
|
Packit |
ffe0d2 |
g_value_set_int64(value,
|
|
Packit |
ffe0d2 |
(gint64)(*jniEnv)->CallLongMethod(jniEnv, jnumber, jmid));
|
|
Packit |
ffe0d2 |
|
|
Packit |
ffe0d2 |
return;
|
|
Packit |
ffe0d2 |
}
|
|
Packit |
ffe0d2 |
}
|
|
Packit |
ffe0d2 |
|
|
Packit |
ffe0d2 |
static void
|
|
Packit |
ffe0d2 |
jaw_value_get_current_value (AtkValue *obj, GValue *value)
|
|
Packit |
ffe0d2 |
{
|
|
Packit |
ffe0d2 |
if (!value)
|
|
Packit |
ffe0d2 |
{
|
|
Packit |
ffe0d2 |
return;
|
|
Packit |
ffe0d2 |
}
|
|
Packit |
ffe0d2 |
|
|
Packit |
ffe0d2 |
JawObject *jaw_obj = JAW_OBJECT(obj);
|
|
Packit |
ffe0d2 |
ValueData *data = jaw_object_get_interface_data(jaw_obj, INTERFACE_VALUE);
|
|
Packit |
ffe0d2 |
jobject atk_value = data->atk_value;
|
|
Packit |
ffe0d2 |
|
|
Packit |
ffe0d2 |
JNIEnv *jniEnv = jaw_util_get_jni_env();
|
|
Packit |
ffe0d2 |
jclass classAtkValue = (*jniEnv)->FindClass(jniEnv,
|
|
Packit |
ffe0d2 |
"org/GNOME/Accessibility/AtkValue");
|
|
Packit |
ffe0d2 |
jmethodID jmid = (*jniEnv)->GetMethodID(jniEnv,
|
|
Packit |
ffe0d2 |
classAtkValue,
|
|
Packit |
ffe0d2 |
"get_current_value",
|
|
Packit |
ffe0d2 |
"()Ljava/lang/Number;");
|
|
Packit |
ffe0d2 |
jobject jnumber = (*jniEnv)->CallObjectMethod(jniEnv,
|
|
Packit |
ffe0d2 |
atk_value,
|
|
Packit |
ffe0d2 |
jmid);
|
|
Packit |
ffe0d2 |
|
|
Packit |
ffe0d2 |
if (!jnumber)
|
|
Packit |
ffe0d2 |
{
|
|
Packit |
ffe0d2 |
return;
|
|
Packit |
ffe0d2 |
}
|
|
Packit |
ffe0d2 |
|
|
Packit |
ffe0d2 |
get_g_value_from_java_number(jniEnv, jnumber, value);
|
|
Packit |
ffe0d2 |
}
|
|
Packit |
ffe0d2 |
|
|
Packit |
ffe0d2 |
static void
|
|
Packit |
ffe0d2 |
jaw_value_get_maximum_value (AtkValue *obj, GValue *value)
|
|
Packit |
ffe0d2 |
{
|
|
Packit |
ffe0d2 |
if (!value)
|
|
Packit |
ffe0d2 |
{
|
|
Packit |
ffe0d2 |
return;
|
|
Packit |
ffe0d2 |
}
|
|
Packit |
ffe0d2 |
|
|
Packit |
ffe0d2 |
JawObject *jaw_obj = JAW_OBJECT(obj);
|
|
Packit |
ffe0d2 |
ValueData *data = jaw_object_get_interface_data(jaw_obj, INTERFACE_VALUE);
|
|
Packit |
ffe0d2 |
jobject atk_value = data->atk_value;
|
|
Packit |
ffe0d2 |
|
|
Packit |
ffe0d2 |
JNIEnv *jniEnv = jaw_util_get_jni_env();
|
|
Packit |
ffe0d2 |
jclass classAtkValue = (*jniEnv)->FindClass(jniEnv,
|
|
Packit |
ffe0d2 |
"org/GNOME/Accessibility/AtkValue");
|
|
Packit |
ffe0d2 |
jmethodID jmid = (*jniEnv)->GetMethodID(jniEnv,
|
|
Packit |
ffe0d2 |
classAtkValue,
|
|
Packit |
ffe0d2 |
"get_maximum_value",
|
|
Packit |
ffe0d2 |
"()Ljava/lang/Number;");
|
|
Packit |
ffe0d2 |
jobject jnumber = (*jniEnv)->CallObjectMethod(jniEnv, atk_value, jmid);
|
|
Packit |
ffe0d2 |
|
|
Packit |
ffe0d2 |
if (!jnumber)
|
|
Packit |
ffe0d2 |
{
|
|
Packit |
ffe0d2 |
return;
|
|
Packit |
ffe0d2 |
}
|
|
Packit |
ffe0d2 |
|
|
Packit |
ffe0d2 |
get_g_value_from_java_number(jniEnv, jnumber, value);
|
|
Packit |
ffe0d2 |
}
|
|
Packit |
ffe0d2 |
|
|
Packit |
ffe0d2 |
static void
|
|
Packit |
ffe0d2 |
jaw_value_get_minimum_value (AtkValue *obj, GValue *value)
|
|
Packit |
ffe0d2 |
{
|
|
Packit |
ffe0d2 |
if (!value)
|
|
Packit |
ffe0d2 |
{
|
|
Packit |
ffe0d2 |
return;
|
|
Packit |
ffe0d2 |
}
|
|
Packit |
ffe0d2 |
|
|
Packit |
ffe0d2 |
JawObject *jaw_obj = JAW_OBJECT(obj);
|
|
Packit |
ffe0d2 |
ValueData *data = jaw_object_get_interface_data(jaw_obj, INTERFACE_VALUE);
|
|
Packit |
ffe0d2 |
jobject atk_value = data->atk_value;
|
|
Packit |
ffe0d2 |
|
|
Packit |
ffe0d2 |
JNIEnv *jniEnv = jaw_util_get_jni_env();
|
|
Packit |
ffe0d2 |
jclass classAtkValue = (*jniEnv)->FindClass(jniEnv,
|
|
Packit |
ffe0d2 |
"org/GNOME/Accessibility/AtkValue");
|
|
Packit |
ffe0d2 |
jmethodID jmid = (*jniEnv)->GetMethodID(jniEnv,
|
|
Packit |
ffe0d2 |
classAtkValue,
|
|
Packit |
ffe0d2 |
"get_minimum_value",
|
|
Packit |
ffe0d2 |
"()Ljava/lang/Number;");
|
|
Packit |
ffe0d2 |
jobject jnumber = (*jniEnv)->CallObjectMethod(jniEnv, atk_value, jmid);
|
|
Packit |
ffe0d2 |
|
|
Packit |
ffe0d2 |
if (!jnumber)
|
|
Packit |
ffe0d2 |
{
|
|
Packit |
ffe0d2 |
return;
|
|
Packit |
ffe0d2 |
}
|
|
Packit |
ffe0d2 |
|
|
Packit |
ffe0d2 |
get_g_value_from_java_number(jniEnv, jnumber, value);
|
|
Packit |
ffe0d2 |
}
|
|
Packit |
ffe0d2 |
|
|
Packit |
ffe0d2 |
static gboolean
|
|
Packit |
ffe0d2 |
jaw_value_set_current_value (AtkValue *obj, const GValue *value)
|
|
Packit |
ffe0d2 |
{
|
|
Packit |
ffe0d2 |
if (!value)
|
|
Packit |
ffe0d2 |
{
|
|
Packit |
ffe0d2 |
return FALSE;
|
|
Packit |
ffe0d2 |
}
|
|
Packit |
ffe0d2 |
|
|
Packit |
ffe0d2 |
if (!G_TYPE_IS_FUNDAMENTAL (G_VALUE_TYPE (value)))
|
|
Packit |
ffe0d2 |
{
|
|
Packit |
ffe0d2 |
return FALSE;
|
|
Packit |
ffe0d2 |
}
|
|
Packit |
ffe0d2 |
|
|
Packit |
ffe0d2 |
JawObject *jaw_obj = JAW_OBJECT(obj);
|
|
Packit |
ffe0d2 |
ValueData *data = jaw_object_get_interface_data(jaw_obj, INTERFACE_VALUE);
|
|
Packit |
ffe0d2 |
jobject atk_value = data->atk_value;
|
|
Packit |
ffe0d2 |
|
|
Packit |
ffe0d2 |
JNIEnv *jniEnv = jaw_util_get_jni_env();
|
|
Packit |
ffe0d2 |
jclass classAtkValue = (*jniEnv)->FindClass(jniEnv,
|
|
Packit |
ffe0d2 |
"org/GNOME/Accessibility/AtkValue");
|
|
Packit |
ffe0d2 |
jmethodID jmid = (*jniEnv)->GetMethodID(jniEnv,
|
|
Packit |
ffe0d2 |
classAtkValue,
|
|
Packit |
ffe0d2 |
"set_current_value",
|
|
Packit |
ffe0d2 |
"(Ljava/lang/Number;)Z");
|
|
Packit |
ffe0d2 |
|
|
Packit |
ffe0d2 |
jboolean jbool;
|
|
Packit |
ffe0d2 |
jclass klass;
|
|
Packit |
ffe0d2 |
jmethodID jmidInit;
|
|
Packit |
ffe0d2 |
jobject o;
|
|
Packit |
ffe0d2 |
switch (value->g_type) {
|
|
Packit |
ffe0d2 |
case G_TYPE_CHAR:
|
|
Packit |
ffe0d2 |
{
|
|
Packit |
ffe0d2 |
gchar c = g_value_get_schar(value);
|
|
Packit |
ffe0d2 |
klass = (*jniEnv)->FindClass(jniEnv, "java/lang/Byte");
|
|
Packit |
ffe0d2 |
jmidInit = (*jniEnv)->GetMethodID(jniEnv, klass, "<init>", "(B)V");
|
|
Packit |
ffe0d2 |
o = (*jniEnv)->NewObject(jniEnv, klass, jmidInit, (jbyte)c);
|
|
Packit |
ffe0d2 |
jbool = (*jniEnv)->CallBooleanMethod(jniEnv, atk_value, jmid, o);
|
|
Packit |
ffe0d2 |
break;
|
|
Packit |
ffe0d2 |
}
|
|
Packit |
ffe0d2 |
case G_TYPE_DOUBLE:
|
|
Packit |
ffe0d2 |
{
|
|
Packit |
ffe0d2 |
gdouble d = g_value_get_double(value);
|
|
Packit |
ffe0d2 |
klass = (*jniEnv)->FindClass(jniEnv, "java/lang/Double");
|
|
Packit |
ffe0d2 |
jmidInit = (*jniEnv)->GetMethodID(jniEnv, klass, "<init>", "(D)V");
|
|
Packit |
ffe0d2 |
o = (*jniEnv)->NewObject(jniEnv, klass, jmidInit, (jdouble)d);
|
|
Packit |
ffe0d2 |
jbool = (*jniEnv)->CallBooleanMethod(jniEnv, atk_value, jmid, o);
|
|
Packit |
ffe0d2 |
break;
|
|
Packit |
ffe0d2 |
}
|
|
Packit |
ffe0d2 |
case G_TYPE_FLOAT:
|
|
Packit |
ffe0d2 |
{
|
|
Packit |
ffe0d2 |
gfloat f = g_value_get_float(value);
|
|
Packit |
ffe0d2 |
klass = (*jniEnv)->FindClass(jniEnv, "java/lang/Float");
|
|
Packit |
ffe0d2 |
jmidInit = (*jniEnv)->GetMethodID(jniEnv, klass, "<init>", "(F)V");
|
|
Packit |
ffe0d2 |
o = (*jniEnv)->NewObject(jniEnv, klass, jmidInit, (jfloat)f);
|
|
Packit |
ffe0d2 |
jbool = (*jniEnv)->CallBooleanMethod(jniEnv, atk_value, jmid, o);
|
|
Packit |
ffe0d2 |
break;
|
|
Packit |
ffe0d2 |
}
|
|
Packit |
ffe0d2 |
case G_TYPE_INT:
|
|
Packit |
ffe0d2 |
{
|
|
Packit |
ffe0d2 |
gint i = g_value_get_int(value);
|
|
Packit |
ffe0d2 |
klass = (*jniEnv)->FindClass(jniEnv, "java/lang/Integer");
|
|
Packit |
ffe0d2 |
jmidInit = (*jniEnv)->GetMethodID(jniEnv, klass, "<init>", "(I)V");
|
|
Packit |
ffe0d2 |
o = (*jniEnv)->NewObject(jniEnv, klass, jmidInit, (jint)i);
|
|
Packit |
ffe0d2 |
jbool = (*jniEnv)->CallBooleanMethod(jniEnv, atk_value, jmid, o);
|
|
Packit |
ffe0d2 |
break;
|
|
Packit |
ffe0d2 |
}
|
|
Packit |
ffe0d2 |
case G_TYPE_INT64:
|
|
Packit |
ffe0d2 |
{
|
|
Packit |
ffe0d2 |
gint64 i64 = g_value_get_int64(value);
|
|
Packit |
ffe0d2 |
klass = (*jniEnv)->FindClass(jniEnv, "java/lang/Long");
|
|
Packit |
ffe0d2 |
jmidInit = (*jniEnv)->GetMethodID(jniEnv, klass, "<init>", "(J)V");
|
|
Packit |
ffe0d2 |
o = (*jniEnv)->NewObject(jniEnv, klass, jmidInit, (jlong)i64);
|
|
Packit |
ffe0d2 |
jbool = (*jniEnv)->CallBooleanMethod(jniEnv, atk_value, jmid, o);
|
|
Packit |
ffe0d2 |
break;
|
|
Packit |
ffe0d2 |
}
|
|
Packit |
ffe0d2 |
default:
|
|
Packit |
ffe0d2 |
return FALSE;
|
|
Packit |
ffe0d2 |
}
|
|
Packit |
ffe0d2 |
|
|
Packit |
ffe0d2 |
return (jbool == JNI_TRUE) ? TRUE : FALSE;
|
|
Packit |
ffe0d2 |
}
|
|
Packit |
ffe0d2 |
|
|
Packit |
ffe0d2 |
static gdouble
|
|
Packit |
ffe0d2 |
jaw_value_get_increment (AtkValue *obj)
|
|
Packit |
ffe0d2 |
{
|
|
Packit |
ffe0d2 |
return atk_value_get_increment(obj);
|
|
Packit |
ffe0d2 |
}
|
|
Packit |
ffe0d2 |
|