//Auto-generated by kalyptus. DO NOT EDIT.
#include <qsize.h>
#include <qrect.h>
#include <qfont.h>
#include <qstring.h>
#include <qfontmetrics.h>

#include <qtjava/QtSupport.h>
#include <qtjava/QFontMetrics.h>

class QFontMetricsJBridge : public QFontMetrics
{
public:
	QFontMetricsJBridge(const QFont& arg1) : QFontMetrics(arg1) {};
	QFontMetricsJBridge(const QFont& arg1,QFont::Script arg2) : QFontMetrics(arg1,arg2) {};
	QFontMetricsJBridge(const QFontMetrics& arg1) : QFontMetrics(arg1) {};
	~QFontMetricsJBridge() {QtSupport::qtKeyDeleted(this);}
};

JNIEXPORT jint JNICALL
Java_org_kde_qt_QFontMetrics_ascent(JNIEnv* env, jobject obj)
{
	jint xret = (jint) ((QFontMetrics*) QtSupport::getQt(env, obj))->ascent();
	return xret;
}

JNIEXPORT jobject JNICALL
Java_org_kde_qt_QFontMetrics_boundingRect__C(JNIEnv* env, jobject obj, jchar arg1)
{
static QChar* _qchar_arg1 = 0;
	jobject xret = QtSupport::objectForQtKey(env, (void*)new QRect(((QFontMetrics*) QtSupport::getQt(env, obj))->boundingRect((QChar)*(QChar*) QtSupport::toQChar(env, arg1, &_qchar_arg1))), "org.kde.qt.QRect", TRUE);
	return xret;
}

JNIEXPORT jobject JNICALL
Java_org_kde_qt_QFontMetrics_boundingRect__IIIIILjava_lang_String_2(JNIEnv* env, jobject obj, jint x, jint y, jint w, jint h, jint flags, jstring str)
{
static QString* _qstring_str = 0;
	jobject xret = QtSupport::objectForQtKey(env, (void*)new QRect(((QFontMetrics*) QtSupport::getQt(env, obj))->boundingRect((int) x, (int) y, (int) w, (int) h, (int) flags, (const QString&)*(QString*) QtSupport::toQString(env, str, &_qstring_str))), "org.kde.qt.QRect", TRUE);
	return xret;
}

JNIEXPORT jobject JNICALL
Java_org_kde_qt_QFontMetrics_boundingRect__IIIIILjava_lang_String_2I(JNIEnv* env, jobject obj, jint x, jint y, jint w, jint h, jint flags, jstring str, jint len)
{
static QString* _qstring_str = 0;
	jobject xret = QtSupport::objectForQtKey(env, (void*)new QRect(((QFontMetrics*) QtSupport::getQt(env, obj))->boundingRect((int) x, (int) y, (int) w, (int) h, (int) flags, (const QString&)*(QString*) QtSupport::toQString(env, str, &_qstring_str), (int) len)), "org.kde.qt.QRect", TRUE);
	return xret;
}

JNIEXPORT jobject JNICALL
Java_org_kde_qt_QFontMetrics_boundingRect__IIIIILjava_lang_String_2II(JNIEnv* env, jobject obj, jint x, jint y, jint w, jint h, jint flags, jstring str, jint len, jint tabstops)
{
static QString* _qstring_str = 0;
	jobject xret = QtSupport::objectForQtKey(env, (void*)new QRect(((QFontMetrics*) QtSupport::getQt(env, obj))->boundingRect((int) x, (int) y, (int) w, (int) h, (int) flags, (const QString&)*(QString*) QtSupport::toQString(env, str, &_qstring_str), (int) len, (int) tabstops)), "org.kde.qt.QRect", TRUE);
	return xret;
}

JNIEXPORT jobject JNICALL
Java_org_kde_qt_QFontMetrics_boundingRect__IIIIILjava_lang_String_2II_3I(JNIEnv* env, jobject obj, jint x, jint y, jint w, jint h, jint flags, jstring str, jint len, jint tabstops, jintArray tabarray)
{
static QString* _qstring_str = 0;
	int* _int_tabarray = QtSupport::toIntPtr(env, tabarray);
	jobject xret = QtSupport::objectForQtKey(env, (void*)new QRect(((QFontMetrics*) QtSupport::getQt(env, obj))->boundingRect((int) x, (int) y, (int) w, (int) h, (int) flags, (const QString&)*(QString*) QtSupport::toQString(env, str, &_qstring_str), (int) len, (int) tabstops,  (int*) _int_tabarray)), "org.kde.qt.QRect", TRUE);
	env->SetIntArrayRegion(tabarray, 0, 1, (jint *) _int_tabarray);
	return xret;
}

JNIEXPORT jobject JNICALL
Java_org_kde_qt_QFontMetrics_boundingRect__Ljava_lang_String_2(JNIEnv* env, jobject obj, jstring arg1)
{
static QString* _qstring_arg1 = 0;
	jobject xret = QtSupport::objectForQtKey(env, (void*)new QRect(((QFontMetrics*) QtSupport::getQt(env, obj))->boundingRect((const QString&)*(QString*) QtSupport::toQString(env, arg1, &_qstring_arg1))), "org.kde.qt.QRect", TRUE);
	return xret;
}

JNIEXPORT jobject JNICALL
Java_org_kde_qt_QFontMetrics_boundingRect__Ljava_lang_String_2I(JNIEnv* env, jobject obj, jstring arg1, jint len)
{
static QString* _qstring_arg1 = 0;
	jobject xret = QtSupport::objectForQtKey(env, (void*)new QRect(((QFontMetrics*) QtSupport::getQt(env, obj))->boundingRect((const QString&)*(QString*) QtSupport::toQString(env, arg1, &_qstring_arg1), (int) len)), "org.kde.qt.QRect", TRUE);
	return xret;
}

JNIEXPORT jint JNICALL
Java_org_kde_qt_QFontMetrics_charWidth(JNIEnv* env, jobject obj, jstring str, jint pos)
{
static QString* _qstring_str = 0;
	jint xret = (jint) ((QFontMetrics*) QtSupport::getQt(env, obj))->charWidth((const QString&)*(QString*) QtSupport::toQString(env, str, &_qstring_str), (int) pos);
	return xret;
}

JNIEXPORT jint JNICALL
Java_org_kde_qt_QFontMetrics_descent(JNIEnv* env, jobject obj)
{
	jint xret = (jint) ((QFontMetrics*) QtSupport::getQt(env, obj))->descent();
	return xret;
}

JNIEXPORT void JNICALL
Java_org_kde_qt_QFontMetrics_dispose(JNIEnv* env, jobject obj)
{
	Java_org_kde_qt_QFontMetrics_finalize(env, obj);
	return;
}

JNIEXPORT void JNICALL
Java_org_kde_qt_QFontMetrics_finalize(JNIEnv* env, jobject obj)
{
	if (QtSupport::allocatedInJavaWorld(env, obj)) {
		delete (QFontMetrics*)QtSupport::getQt(env, obj);
		QtSupport::setQt(env, obj, 0);
	}
	return;
}

JNIEXPORT jint JNICALL
Java_org_kde_qt_QFontMetrics_height(JNIEnv* env, jobject obj)
{
	jint xret = (jint) ((QFontMetrics*) QtSupport::getQt(env, obj))->height();
	return xret;
}

JNIEXPORT jboolean JNICALL
Java_org_kde_qt_QFontMetrics_inFont(JNIEnv* env, jobject obj, jchar arg1)
{
static QChar* _qchar_arg1 = 0;
	jboolean xret = (jboolean) ((QFontMetrics*) QtSupport::getQt(env, obj))->inFont((QChar)*(QChar*) QtSupport::toQChar(env, arg1, &_qchar_arg1));
	return xret;
}

JNIEXPORT jboolean JNICALL
Java_org_kde_qt_QFontMetrics_isDisposed(JNIEnv* env, jobject obj)
{
	return (QtSupport::getQt(env, obj) == 0);
}

JNIEXPORT jint JNICALL
Java_org_kde_qt_QFontMetrics_leading(JNIEnv* env, jobject obj)
{
	jint xret = (jint) ((QFontMetrics*) QtSupport::getQt(env, obj))->leading();
	return xret;
}

JNIEXPORT jint JNICALL
Java_org_kde_qt_QFontMetrics_leftBearing(JNIEnv* env, jobject obj, jchar arg1)
{
static QChar* _qchar_arg1 = 0;
	jint xret = (jint) ((QFontMetrics*) QtSupport::getQt(env, obj))->leftBearing((QChar)*(QChar*) QtSupport::toQChar(env, arg1, &_qchar_arg1));
	return xret;
}

JNIEXPORT jint JNICALL
Java_org_kde_qt_QFontMetrics_lineSpacing(JNIEnv* env, jobject obj)
{
	jint xret = (jint) ((QFontMetrics*) QtSupport::getQt(env, obj))->lineSpacing();
	return xret;
}

JNIEXPORT jint JNICALL
Java_org_kde_qt_QFontMetrics_lineWidth(JNIEnv* env, jobject obj)
{
	jint xret = (jint) ((QFontMetrics*) QtSupport::getQt(env, obj))->lineWidth();
	return xret;
}

JNIEXPORT jint JNICALL
Java_org_kde_qt_QFontMetrics_maxWidth(JNIEnv* env, jobject obj)
{
	jint xret = (jint) ((QFontMetrics*) QtSupport::getQt(env, obj))->maxWidth();
	return xret;
}

JNIEXPORT jint JNICALL
Java_org_kde_qt_QFontMetrics_minLeftBearing(JNIEnv* env, jobject obj)
{
	jint xret = (jint) ((QFontMetrics*) QtSupport::getQt(env, obj))->minLeftBearing();
	return xret;
}

JNIEXPORT jint JNICALL
Java_org_kde_qt_QFontMetrics_minRightBearing(JNIEnv* env, jobject obj)
{
	jint xret = (jint) ((QFontMetrics*) QtSupport::getQt(env, obj))->minRightBearing();
	return xret;
}

JNIEXPORT void JNICALL
Java_org_kde_qt_QFontMetrics_newQFontMetrics__Lorg_kde_qt_QFontMetrics_2(JNIEnv* env, jobject obj, jobject arg1)
{
	if (QtSupport::getQt(env, obj) == 0) {
		QtSupport::setQt(env, obj, new QFontMetricsJBridge((const QFontMetrics&)*(const QFontMetrics*) QtSupport::getQt(env, arg1)));
		QtSupport::setObjectForQtKey(env, obj, QtSupport::getQt(env, obj));
	}
	return;
}

JNIEXPORT void JNICALL
Java_org_kde_qt_QFontMetrics_newQFontMetrics__Lorg_kde_qt_QFont_2(JNIEnv* env, jobject obj, jobject arg1)
{
	if (QtSupport::getQt(env, obj) == 0) {
		QtSupport::setQt(env, obj, new QFontMetricsJBridge((const QFont&)*(const QFont*) QtSupport::getQt(env, arg1)));
		QtSupport::setObjectForQtKey(env, obj, QtSupport::getQt(env, obj));
	}
	return;
}

JNIEXPORT void JNICALL
Java_org_kde_qt_QFontMetrics_newQFontMetrics__Lorg_kde_qt_QFont_2I(JNIEnv* env, jobject obj, jobject arg1, jint arg2)
{
	if (QtSupport::getQt(env, obj) == 0) {
		QtSupport::setQt(env, obj, new QFontMetricsJBridge((const QFont&)*(const QFont*) QtSupport::getQt(env, arg1), (QFont::Script) arg2));
		QtSupport::setObjectForQtKey(env, obj, QtSupport::getQt(env, obj));
	}
	return;
}

JNIEXPORT jint JNICALL
Java_org_kde_qt_QFontMetrics_overlinePos(JNIEnv* env, jobject obj)
{
	jint xret = (jint) ((QFontMetrics*) QtSupport::getQt(env, obj))->overlinePos();
	return xret;
}

JNIEXPORT jint JNICALL
Java_org_kde_qt_QFontMetrics_rightBearing(JNIEnv* env, jobject obj, jchar arg1)
{
static QChar* _qchar_arg1 = 0;
	jint xret = (jint) ((QFontMetrics*) QtSupport::getQt(env, obj))->rightBearing((QChar)*(QChar*) QtSupport::toQChar(env, arg1, &_qchar_arg1));
	return xret;
}

JNIEXPORT jobject JNICALL
Java_org_kde_qt_QFontMetrics_size__ILjava_lang_String_2(JNIEnv* env, jobject obj, jint flags, jstring str)
{
static QString* _qstring_str = 0;
	jobject xret = QtSupport::objectForQtKey(env, (void*)new QSize(((QFontMetrics*) QtSupport::getQt(env, obj))->size((int) flags, (const QString&)*(QString*) QtSupport::toQString(env, str, &_qstring_str))), "org.kde.qt.QSize", TRUE);
	return xret;
}

JNIEXPORT jobject JNICALL
Java_org_kde_qt_QFontMetrics_size__ILjava_lang_String_2I(JNIEnv* env, jobject obj, jint flags, jstring str, jint len)
{
static QString* _qstring_str = 0;
	jobject xret = QtSupport::objectForQtKey(env, (void*)new QSize(((QFontMetrics*) QtSupport::getQt(env, obj))->size((int) flags, (const QString&)*(QString*) QtSupport::toQString(env, str, &_qstring_str), (int) len)), "org.kde.qt.QSize", TRUE);
	return xret;
}

JNIEXPORT jobject JNICALL
Java_org_kde_qt_QFontMetrics_size__ILjava_lang_String_2II(JNIEnv* env, jobject obj, jint flags, jstring str, jint len, jint tabstops)
{
static QString* _qstring_str = 0;
	jobject xret = QtSupport::objectForQtKey(env, (void*)new QSize(((QFontMetrics*) QtSupport::getQt(env, obj))->size((int) flags, (const QString&)*(QString*) QtSupport::toQString(env, str, &_qstring_str), (int) len, (int) tabstops)), "org.kde.qt.QSize", TRUE);
	return xret;
}

JNIEXPORT jobject JNICALL
Java_org_kde_qt_QFontMetrics_size__ILjava_lang_String_2II_3I(JNIEnv* env, jobject obj, jint flags, jstring str, jint len, jint tabstops, jintArray tabarray)
{
static QString* _qstring_str = 0;
	int* _int_tabarray = QtSupport::toIntPtr(env, tabarray);
	jobject xret = QtSupport::objectForQtKey(env, (void*)new QSize(((QFontMetrics*) QtSupport::getQt(env, obj))->size((int) flags, (const QString&)*(QString*) QtSupport::toQString(env, str, &_qstring_str), (int) len, (int) tabstops,  (int*) _int_tabarray)), "org.kde.qt.QSize", TRUE);
	env->SetIntArrayRegion(tabarray, 0, 1, (jint *) _int_tabarray);
	return xret;
}

JNIEXPORT jint JNICALL
Java_org_kde_qt_QFontMetrics_strikeOutPos(JNIEnv* env, jobject obj)
{
	jint xret = (jint) ((QFontMetrics*) QtSupport::getQt(env, obj))->strikeOutPos();
	return xret;
}

JNIEXPORT jint JNICALL
Java_org_kde_qt_QFontMetrics_underlinePos(JNIEnv* env, jobject obj)
{
	jint xret = (jint) ((QFontMetrics*) QtSupport::getQt(env, obj))->underlinePos();
	return xret;
}

JNIEXPORT jint JNICALL
Java_org_kde_qt_QFontMetrics_width__C(JNIEnv* env, jobject obj, jchar arg1)
{
static QChar* _qchar_arg1 = 0;
	jint xret = (jint) ((QFontMetrics*) QtSupport::getQt(env, obj))->width((QChar)*(QChar*) QtSupport::toQChar(env, arg1, &_qchar_arg1));
	return xret;
}

JNIEXPORT jint JNICALL
Java_org_kde_qt_QFontMetrics_width__Ljava_lang_String_2(JNIEnv* env, jobject obj, jstring arg1)
{
static QString* _qstring_arg1 = 0;
	jint xret = (jint) ((QFontMetrics*) QtSupport::getQt(env, obj))->width((const QString&)*(QString*) QtSupport::toQString(env, arg1, &_qstring_arg1));
	return xret;
}

JNIEXPORT jint JNICALL
Java_org_kde_qt_QFontMetrics_width__Ljava_lang_String_2I(JNIEnv* env, jobject obj, jstring arg1, jint len)
{
static QString* _qstring_arg1 = 0;
	jint xret = (jint) ((QFontMetrics*) QtSupport::getQt(env, obj))->width((const QString&)*(QString*) QtSupport::toQString(env, arg1, &_qstring_arg1), (int) len);
	return xret;
}

