⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 natgtkcomponentpeer.cc

📁 this gcc-g++-3.3.1.tar.gz is a source file of gcc, you can learn more about gcc through this codes f
💻 CC
字号:
// This file was created by `gcjh -stubs'. -*- c++ -*-//// This file is intended to give you a head start on implementing native// methods using CNI.// Be aware: running `gcjh -stubs ' once more for this class may// overwrite any edits you have made to this file.#include <config.h>#include <gcj/cni.h>#include <java/awt/Point.h>#include <java/awt/Dimension.h>#include <java/awt/Cursor.h>#include "gtkcommon.h"#include <gnu/awt/gtk/GtkComponentPeer.h>voidgnu::awt::gtk::GtkComponentPeer::dispose (){  GDK_THREADS_ENTER ();  gtk_widget_destroy (GTK_WIDGET (ptr));  GDK_THREADS_LEAVE ();}::java::awt::Point *gnu::awt::gtk::GtkComponentPeer::getLocationOnScreen (){  gint x, y;  _Jv_GdkThreadLock sync;  gdk_window_get_root_origin (GTK_WIDGET (ptr)->window, &x, &y);  return new ::java::awt::Point (x, y);}::java::awt::Dimension *gnu::awt::gtk::GtkComponentPeer::getMinimumSize (){  GtkRequisition req;  ::java::awt::Dimension *dim = new ::java::awt::Dimension ();  GDK_THREADS_ENTER ();  gtk_widget_size_request (GTK_WIDGET (ptr), &req);  GDK_THREADS_LEAVE ();  dim->width = (jint) req.width;  dim->height = (jint) req.height;  return dim;  }::java::awt::Dimension *gnu::awt::gtk::GtkComponentPeer::getPreferredSize (){  return getMinimumSize ();}voidgnu::awt::gtk::GtkComponentPeer::requestFocus (){  GDK_THREADS_ENTER ();  gtk_widget_grab_focus (GTK_WIDGET (ptr));  GDK_THREADS_LEAVE ();}voidgnu::awt::gtk::GtkComponentPeer::setBounds (jint x, jint y,                                                   jint width, jint height){  GDK_THREADS_ENTER ();  GtkWidget *widget = GTK_WIDGET (ptr);  gtk_widget_set_usize (widget, width, height);  //gtk_layout_move (GTK_LAYOUT (widget->parent), widget, x, y);  GDK_THREADS_LEAVE ();}voidgnu::awt::gtk::GtkComponentPeer::setCursor (::java::awt::Cursor *cursor){  GdkCursorType type;  switch (cursor->type)    {    case ::java::awt::Cursor::CROSSHAIR_CURSOR:      type = GDK_CROSSHAIR;      break;    case ::java::awt::Cursor::TEXT_CURSOR:      type = GDK_XTERM;      break;    case ::java::awt::Cursor::WAIT_CURSOR:      type = GDK_WATCH;      break;    case ::java::awt::Cursor::SW_RESIZE_CURSOR:      type = GDK_BOTTOM_LEFT_CORNER;      break;    case ::java::awt::Cursor::SE_RESIZE_CURSOR:      type = GDK_BOTTOM_RIGHT_CORNER;      break;    case ::java::awt::Cursor::NW_RESIZE_CURSOR:      type = GDK_TOP_LEFT_CORNER;      break;    case ::java::awt::Cursor::NE_RESIZE_CURSOR:      type = GDK_TOP_RIGHT_CORNER;      break;    case ::java::awt::Cursor::N_RESIZE_CURSOR:      type = GDK_TOP_SIDE;      break;    case ::java::awt::Cursor::S_RESIZE_CURSOR:      type = GDK_RIGHT_SIDE;      break;    case ::java::awt::Cursor::W_RESIZE_CURSOR:      type = GDK_LEFT_SIDE;      break;    case ::java::awt::Cursor::E_RESIZE_CURSOR:      type = GDK_BOTTOM_SIDE;      break;    case ::java::awt::Cursor::HAND_CURSOR:      type = GDK_HAND1;      break;    case ::java::awt::Cursor::MOVE_CURSOR:      type = GDK_FLEUR;      break;    case ::java::awt::Cursor::CUSTOM_CURSOR:      // FIXME: not implemented yet.  We want a gtk-specific subclass      // of Cursor which holds a new gdk cursor.  For now, fall      // through.    case ::java::awt::Cursor::DEFAULT_CURSOR:    default:      type = GDK_LEFT_PTR;      break;    }  _Jv_GdkThreadLock sync;  GtkWidget *widget = GTK_WIDGET (ptr);  GdkCursor *cursor = gdk_cursor_new (type);  gdk_window_set_cursor (widget->window, cursor);  gdk_cursor_destroy (cursor);}voidgnu::awt::gtk::GtkComponentPeer::setEnabled (jboolean enabled){  GDK_THREADS_ENTER ();  gtk_widget_set_sensitive (GTK_WIDGET (ptr), enabled);  GDK_THREADS_LEAVE ();}voidgnu::awt::gtk::GtkComponentPeer::setEventMask (jlong){  // TODO}voidgnu::awt::gtk::GtkComponentPeer::setFont (::java::awt::Font *){  // TODO}voidgnu::awt::gtk::GtkComponentPeer::setForeground (::java::awt::Color *color){  // FIXME: This doesn't work if component is already realized/visible  GdkColor gcolor;  _Jv_ConvertAwtColor(color, &gcolor);    GDK_THREADS_ENTER ();  GtkStyle *style = gtk_widget_get_style (GTK_WIDGET (ptr));  style->bg[GTK_STATE_NORMAL] = gcolor;  style->bg[GTK_STATE_ACTIVE] = gcolor;  style->bg[GTK_STATE_PRELIGHT] = gcolor;  style->bg[GTK_STATE_SELECTED] = gcolor;  style->bg[GTK_STATE_INSENSITIVE] = gcolor;    gtk_widget_set_style (GTK_WIDGET (ptr), style);  GDK_THREADS_LEAVE ();}voidgnu::awt::gtk::GtkComponentPeer::setBackground (::java::awt::Color *color){  // FIXME: This doesn't work if component is already realized/visible  GdkColor gcolor;  _Jv_ConvertAwtColor(color, &gcolor);  GDK_THREADS_ENTER ();  GtkStyle *style = gtk_widget_get_style (GTK_WIDGET (ptr));  style->bg[GTK_STATE_NORMAL] = gcolor;  style->bg[GTK_STATE_ACTIVE] = gcolor;  style->bg[GTK_STATE_PRELIGHT] = gcolor;  style->bg[GTK_STATE_SELECTED] = gcolor;  style->bg[GTK_STATE_INSENSITIVE] = gcolor;  // gtk allows us to set color values for different states of the  // widget. AWT only provides a single background color, so scale it  // to get some reasonable values.//  _Jv_GdkScaleColor (&gcolor, &style->bg[GTK_STATE_ACTIVE], -0.1);//  _Jv_GdkScaleColor (&gcolor, &style->bg[GTK_STATE_PRELIGHT], 0.2);//  _Jv_GdkScaleColor (&gcolor, &style->bg[GTK_STATE_SELECTED], -0.2);//  _Jv_GdkScaleColor (&gcolor, &style->bg[GTK_STATE_INSENSITIVE], -0.2);    gtk_widget_set_style (GTK_WIDGET (ptr), style);  GDK_THREADS_LEAVE ();}voidgnu::awt::gtk::GtkComponentPeer::setVisible (jboolean visible){  GDK_THREADS_ENTER ();    GtkWidget *widget = GTK_WIDGET (ptr);  if (visible)    gtk_widget_show (widget);  else    gtk_widget_hide (widget);  _Jv_FlushRequests ();  GDK_THREADS_LEAVE ();}voidgnu::awt::gtk::GtkComponentPeer::create (){}voidgnu::awt::gtk::GtkComponentPeer::realize (){  GDK_THREADS_ENTER ();  gtk_widget_realize (GTK_WIDGET (ptr));  GDK_THREADS_LEAVE ();}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -