+++ /dev/null
-// Native Gtk AWT label code.
-
-#include <config.h>
-
-#include <gcj/cni.h>
-
-#include "gtkcommon.h"
-
-#include <gnu/awt/gtk/GtkLabelPeer.h>
-#include <java/awt/Label.h>
-
-void
-gnu::awt::gtk::GtkLabelPeer::setText (java::lang::String *text)
-{
- _Jv_GdkThreadLock sync;
- jsize len = 0;
- if (text)
- len = JvGetStringUTFLength (text);
- // FIXME: this can allocate an unbounded amount. Should use heap
- // even though it is slower.
- char buf[len + 1];
- if (text)
- JvGetStringUTFRegion (text, 0, len, buf);
- buf[len] = '\0';
- gtk_label_set_text (GTK_LABEL (ptr), buf);
-}
-
-void
-gnu::awt::gtk::GtkLabelPeer::setAlignment (jint alignment)
-{
- using namespace java::awt;
-
- gfloat value = 0.5;
- if (alignment == Label::LEFT)
- value = 0.0;
- else if (alignment == Label::RIGHT)
- value = 1.0;
-
- _Jv_GdkThreadLock sync;
- gtk_misc_set_alignment (GTK_MISC (ptr), 0.5f, value);
-}
-
-void
-gnu::awt::gtk::GtkLabelPeer::create ()
-{
- if (! ptr)
- {
- _Jv_GdkThreadLock sync;
- // This is a little inefficient.
- ptr = (gnu::gcj::RawData *) gtk_label_new ("");
-
- using namespace ::java::awt;
- Label *label = reinterpret_cast<Label *> (awtComponent);
- setText (label->getText ());
- setAlignment (label->getAlignment ());
- }
-
- gnu::awt::gtk::GtkComponentPeer::create ();
-}