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

📄 z875.html

📁 gtk 开发手册和参考文档。 包括gtk glib gdk等
💻 HTML
📖 第 1 页 / 共 3 页
字号:
    case GDK_LEAVE_NOTIFY:      return g_strdup(_("Leave Notify\n"));      break;         case GDK_FOCUS_CHANGE:      return g_strdup(_("Focus Change\n"));      break;         case GDK_CONFIGURE:      return g_strdup(_("Configure\n"));      break;                   case GDK_MAP:      return g_strdup(_("Map\n"));      break;                   case GDK_UNMAP:      return g_strdup(_("Unmap\n"));      break;                   case GDK_PROPERTY_NOTIFY:      return g_strdup(_("Property Notify\n"));      break;      case GDK_SELECTION_CLEAR:      return g_strdup(_("Selection Clear\n"));      break;      case GDK_SELECTION_REQUEST:      return g_strdup(_("Selection Request\n"));      break;    case GDK_SELECTION_NOTIFY:      return g_strdup(_("Selection Notify\n"));      break;     case GDK_PROXIMITY_IN:      return g_strdup(_("Proximity In\n"));      break;         case GDK_PROXIMITY_OUT:      return g_strdup(_("Proximity Out\n"));      break;        case GDK_DRAG_ENTER:      return g_strdup(_("Drag Enter\n"));      break;           case GDK_DRAG_LEAVE:      return g_strdup(_("Drag Leave\n"));      break;           case GDK_DRAG_MOTION:      return g_strdup(_("Drag Motion\n"));      break;          case GDK_DRAG_STATUS:      return g_strdup(_("Drag Status\n"));      break;          case GDK_DROP_START:      return g_strdup(_("Drop Start\n"));      break;           case GDK_DROP_FINISHED:       return g_strdup(_("Drop Finished\n"));      break;        case GDK_CLIENT_EVENT:      return g_strdup(_("Client Event\n"));      break;         case GDK_VISIBILITY_NOTIFY:      return g_strdup(_("Visibility Notify\n"));      break;    case GDK_NO_EXPOSE:      return g_strdup(_("No Expose\n"));      break;                   default:      g_assert_not_reached();      return NULL;      break;    }}static gchar* any_event_line(GdkEvent* event){  guint32 event_time;  event_time = gdk_event_get_time(event);  if (event_time != GDK_CURRENT_TIME)    return g_strdup_printf(_("Window: %p Time: %u send_event: %s\n"),                           event-&gt;any.window,                            event_time,                           event-&gt;any.send_event ? _("True") : _("False"));  else    return g_strdup_printf(_("Window: %p send_event: %s\n"),                           event-&gt;any.window,                            event-&gt;any.send_event ? _("True") : _("False"));}#define MAX_STATES 30static gchar* event_state_line(GdkModifierType state){  gchar** states;  gint n_active;  states = g_new(gchar*, MAX_STATES);  n_active = 0;    if (state &amp; GDK_SHIFT_MASK)    {      states[n_active] = _("Shift");      ++n_active;    }     if (state &amp; GDK_LOCK_MASK)    {      states[n_active] = _("Lock");      ++n_active;    }        if (state &amp; GDK_CONTROL_MASK)    {      states[n_active] = _("Ctrl");      ++n_active;    }   if (state &amp; GDK_MOD1_MASK)    {      states[n_active] = _("Mod1");      ++n_active;    }        if (state &amp; GDK_MOD2_MASK)    {      states[n_active] = _("Mod2");      ++n_active;    }        if (state &amp; GDK_MOD3_MASK)    {      states[n_active] = _("Mod3");      ++n_active;    }        if (state &amp; GDK_MOD4_MASK)    {      states[n_active] = _("Mod4");      ++n_active;    }        if (state &amp; GDK_MOD5_MASK)    {      states[n_active] = _("Mod5");      ++n_active;    }        if (state &amp; GDK_BUTTON1_MASK)    {      states[n_active] = _("Button1");      ++n_active;    }   if (state &amp; GDK_BUTTON2_MASK)    {      states[n_active] = _("Button2");      ++n_active;    }   if (state &amp; GDK_BUTTON3_MASK)    {      states[n_active] = _("Button3");      ++n_active;    }   if (state &amp; GDK_BUTTON4_MASK)    {      states[n_active] = _("Button4");      ++n_active;    }   if (state &amp; GDK_BUTTON5_MASK)    {      states[n_active] = _("Button4");      ++n_active;    }   if (state &amp; GDK_RELEASE_MASK)    {      states[n_active] = _("Release");      ++n_active;    }     if (n_active == 0)    return NULL;  else    {      /* Not efficient, but not important */      gchar* str = NULL;      gchar* tmp = NULL;      guint i = 0;      while (i &lt; n_active)        {          if (str)            {              tmp = str;                        str = g_strconcat(str, " | ", states[i], NULL);              g_free(tmp);            }          else            {              str = g_strdup(states[i]);            }          ++i;        }      tmp = str;      str = g_strconcat(str, "\n", NULL);      g_free(tmp);      return str;    }}static gchar* event_to_text (GdkEvent* event){  gchar* any_line;  gchar* name_line;  gchar* entire_line;  gchar* detail;  gchar* state;  name_line = event_name_line(event);  any_line = any_event_line(event);  entire_line = NULL;  detail = NULL;  state = NULL;  switch (event-&gt;type)    {    case GDK_NOTHING:      break;          case GDK_DELETE:      break;                   case GDK_DESTROY:      break;                   case GDK_EXPOSE:      detail = g_strdup_printf(_("Area: %d,%d  %dx%d Count: %d\n"),                               event-&gt;expose.area.x,                                event-&gt;expose.area.y,                               event-&gt;expose.area.width,                               event-&gt;expose.area.height,                               event-&gt;expose.count);      break;                   case GDK_MOTION_NOTIFY:      detail = g_strdup_printf(_("x: %g y: %g\n"),                               event-&gt;motion.x,                                event-&gt;motion.y);      state = event_state_line(event-&gt;motion.state);      break;        case GDK_BUTTON_PRESS:    case GDK_2BUTTON_PRESS:    case GDK_3BUTTON_PRESS:    case GDK_BUTTON_RELEASE:      detail = g_strdup_printf(_("Button: %d\n"),                               event-&gt;button.button);      state = event_state_line(event-&gt;button.state);      break;       case GDK_KEY_PRESS:    case GDK_KEY_RELEASE:      detail = g_strdup_printf(_("Keyval: GDK_%s Text: %s\n"),                               gdk_keyval_name(event-&gt;key.keyval),                               event-&gt;key.string);      state = event_state_line(event-&gt;key.state);      break;          case GDK_ENTER_NOTIFY:      break;         case GDK_LEAVE_NOTIFY:      break;         case GDK_FOCUS_CHANGE:      break;         case GDK_CONFIGURE:      break;                   case GDK_MAP:      break;                   case GDK_UNMAP:      break;                   case GDK_PROPERTY_NOTIFY:      break;      case GDK_SELECTION_CLEAR:      break;      case GDK_SELECTION_REQUEST:      break;    case GDK_SELECTION_NOTIFY:      break;     case GDK_PROXIMITY_IN:      break;         case GDK_PROXIMITY_OUT:      break;        case GDK_DRAG_ENTER:      break;           case GDK_DRAG_LEAVE:      break;           case GDK_DRAG_MOTION:      break;          case GDK_DRAG_STATUS:      break;          case GDK_DROP_START:      break;           case GDK_DROP_FINISHED:      break;        case GDK_CLIENT_EVENT:      break;         case GDK_VISIBILITY_NOTIFY:      break;    case GDK_NO_EXPOSE:      break;                   default:      g_assert_not_reached();      break;    }  if (entire_line == NULL)    {      /* Assumes we always have a detail if we have a state */      entire_line = g_strconcat(name_line,                                 "  ", any_line,                                 detail ? "  " : NULL, detail,                                 state ? "  " : NULL, state,                                NULL);    }  g_free(name_line);  g_free(any_line);  g_free(detail);  g_free(state);  return entire_line;}&#13;</pre>            </td>          </tr>        </table>      </div>    </div>    <div class="NAVFOOTER">      <br>      <br>      <table width="100%" border="0" bgcolor="#ffffff" cellpadding=       "1" cellspacing="0">        <tr>          <td width="25%" bgcolor="#ffffff" align="left">            <a href="listing.html"><font color="#0000ff" size="2">            <b>&lt;&lt;&lt; Previous</b></font></a>          </td>          <td width="25%" colspan="2" bgcolor="#ffffff" align=           "center">            <font color="#0000ff" size="2"><b><a href="ggad.html">            <font color="#0000ff" size="2"><b>            Home</b></font></a></b></font>          </td>          <td width="25%" bgcolor="#ffffff" align="right">            &nbsp;          </td>        </tr>        <tr>          <td colspan="2" align="left">            <font color="#000000" size="2"><b>Code            Listings</b></font>          </td>          <td colspan="2" align="right">            &nbsp;          </td>        </tr>      </table>    </div>  </body></html>

⌨️ 快捷键说明

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