亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? sec-gdkevent.html

?? gtk_text program sample&eg
?? HTML
?? 第 1 頁 / 共 5 頁
字號:
              <span class="STRUCTNAME">GDK_BUTTON_PRESS</span>&#13;            </p>          </li>          <li>            <p>              <span class="STRUCTNAME">              GDK_3BUTTON_PRESS</span>&#13;            </p>          </li>          <li>            <p>              <span class="STRUCTNAME">              GDK_BUTTON_RELEASE</span>&#13;            </p>          </li>        </ol>        <p>          The X server automatically causes a pointer grab when a          button is pressed, and releases it when it is released.          This means that the button release event always goes to          the same window that received the button press event.          Xlib allows you to change this behavior, but GDK does          not. (In the Xlib documentation, this automatic grab is          referred to as a "passive" grab. It's distinct from an          "active" grab initiated with <tt class="FUNCTION">          gdk_pointer_grab()</tt>, described in <a href=           "sec-gdkcursor.html#SEC-POINTERGRAB">the section called          <i>Grabbing the Pointer</i></a>.)        </p>        <p>          A button event is defined as follows:        </p>        <table border="0" bgcolor="#E0E0E0" width="100%">          <tr>            <td><pre class="PROGRAMLISTING">&#13;typedef struct _GdkEventButton GdkEventButton;struct _GdkEventButton{  GdkEventType type;  GdkWindow *window;  gint8 send_event;  guint32 time;  gdouble x;  gdouble y;  gdouble pressure;  gdouble xtilt;  gdouble ytilt;  guint state;  guint button;  GdkInputSource source;  guint32 deviceid;  gdouble x_root, y_root;};&#13;</pre>            </td>          </tr>        </table>        <p>          Button events are marked with a time stamp (<span class=           "STRUCTNAME">time</span>) by the X server. The time is          given in milliseconds of "server time"; every few weeks          the integer overflows and timestamps begin again at 0.          Thus, you should not rely on the value as an absolute          measure of time; it is intended only to determine          relative time between events.        </p>        <p>          The mouse pointer's X and Y coordinates (relative to the          window the event occurred in) are included in <span          class="STRUCTNAME">GdkEventButton</span>. Keep in mind          that the pointer may be outside the window (if a pointer          grab is in effect; see <a href="sec-gdkcursor.html">the          section called <i>The Mouse Pointer</i></a>). If the          pointer is outside the window, its coordinates could be          negative or larger than the window's size. Coordinates          are given as doubles rather than integers, because some          input devices such as graphics tablets have sub-pixel          resolution. For most purposes, you will want to cast the          doubles to integers. <span class="STRUCTNAME">          pressure</span>, <span class="STRUCTNAME">xtilt</span>,          and <span class="STRUCTNAME">ytilt</span> are also          special features of some input devices; they can be          ignored almost all the time.        </p>        <p>          The <span class="STRUCTNAME">state</span> member of <span          class="STRUCTNAME">GdkEventButton</span> indicates which          modifier keys or mouse buttons were held down an instant          before the button was pressed. It is a bitfield, with one          or more of the flags in <a href=           "sec-gdkevent.html#TAB-MODMASKS">Table 5</a> set. Since          the modifiers are read just before the button press, it          follows that button press events do not have the pressed          button in <span class="STRUCTNAME">state</span>, but          button release events do have it.        </p>        <p>          Be careful to check for the presence of certain bit          masks, rather than the exact value of <span class=           "STRUCTNAME">state</span>. That is, prefer this:        </p>        <table border="0" bgcolor="#E0E0E0" width="100%">          <tr>            <td><pre class="PROGRAMLISTING">&#13; if ( (state &amp; GDK_SHIFT_MASK) == GDK_SHIFT_MASK )&#13;</pre>            </td>          </tr>        </table>        <p>          and avoid this:        </p>        <table border="0" bgcolor="#E0E0E0" width="100%">          <tr>            <td><pre class="PROGRAMLISTING">&#13; if ( state == GDK_SHIFT_MASK )&#13;</pre>            </td>          </tr>        </table>        <p>          If you check the exact value of <span class="STRUCTNAME">          state</span>, your application will mysteriously stop          working if the user has Num Lock or some other obscure          modifier turned on.        </p>        <div class="TABLE">          <a name="TAB-MODMASKS"></a>          <p>            <b>Table 5. Modifier Masks for Key and Button            Events</b>          </p>          <table border="1" bgcolor="#E0E0E0" cellspacing="0"          cellpadding="4" class="CALSTABLE">            <tr>              <th align="LEFT" valign="TOP">                Modifier Mask              </th>              <th align="LEFT" valign="TOP">                Meaning              </th>            </tr>            <tr>              <td align="LEFT" valign="TOP">                <span class="STRUCTNAME">GDK_SHIFT_MASK</span>              </td>              <td align="LEFT" valign="TOP">                Shift              </td>            </tr>            <tr>              <td align="LEFT" valign="TOP">                <span class="STRUCTNAME">GDK_LOCK_MASK</span>              </td>              <td align="LEFT" valign="TOP">                Caps Lock              </td>            </tr>            <tr>              <td align="LEFT" valign="TOP">                <span class="STRUCTNAME">GDK_CONTROL_MASK</span>              </td>              <td align="LEFT" valign="TOP">                Control              </td>            </tr>            <tr>              <td align="LEFT" valign="TOP">                <span class="STRUCTNAME">GDK_MOD1_MASK</span>              </td>              <td align="LEFT" valign="TOP">                Mod1 (often Meta or Alt)              </td>            </tr>            <tr>              <td align="LEFT" valign="TOP">                <span class="STRUCTNAME">GDK_MOD2_MASK</span>              </td>              <td align="LEFT" valign="TOP">                Mod2              </td>            </tr>            <tr>              <td align="LEFT" valign="TOP">                <span class="STRUCTNAME">GDK_MOD3_MASK</span>              </td>              <td align="LEFT" valign="TOP">                Mod3              </td>            </tr>            <tr>              <td align="LEFT" valign="TOP">                <span class="STRUCTNAME">GDK_MOD4_MASK</span>              </td>              <td align="LEFT" valign="TOP">                Mod4              </td>            </tr>            <tr>              <td align="LEFT" valign="TOP">                <span class="STRUCTNAME">GDK_MOD5_MASK</span>              </td>              <td align="LEFT" valign="TOP">                Mod5              </td>            </tr>            <tr>              <td align="LEFT" valign="TOP">                <span class="STRUCTNAME">GDK_BUTTON1_MASK</span>              </td>              <td align="LEFT" valign="TOP">                Button 1              </td>            </tr>            <tr>              <td align="LEFT" valign="TOP">                <span class="STRUCTNAME">GDK_BUTTON2_MASK</span>              </td>              <td align="LEFT" valign="TOP">                Button 2              </td>            </tr>            <tr>              <td align="LEFT" valign="TOP">                <span class="STRUCTNAME">GDK_BUTTON3_MASK</span>              </td>              <td align="LEFT" valign="TOP">                Button 3              </td>            </tr>            <tr>              <td align="LEFT" valign="TOP">                <span class="STRUCTNAME">GDK_BUTTON4_MASK</span>              </td>              <td align="LEFT" valign="TOP">                Button 4              </td>            </tr>            <tr>              <td align="LEFT" valign="TOP">                <span class="STRUCTNAME">GDK_BUTTON5_MASK</span>              </td>              <td align="LEFT" valign="TOP">                Button 5              </td>            </tr>            <tr>              <td align="LEFT" valign="TOP">                <span class="STRUCTNAME">GDK_RELEASE_MASK</span>              </td>              <td align="LEFT" valign="TOP">                Key releases              </td>            </tr>          </table>        </div>        <p>          The <span class="STRUCTNAME">button</span> member of          <span class="STRUCTNAME">GdkEventButton</span> indicates          which button triggered the event (i.e., the button which          was pressed or released). Buttons are numbered from one          to five; most of the time, button one is the left button,          button two is the middle button, and button three is the          right button. Left-handed users might reverse these.          Button four and five events are generated by some scroll          wheel mice when you spin the scroll wheel; GTK+ attempts          to send capture these events and move nearby scroll bars.          You should probably ignore any events you receive for          buttons four or five.        </p>        <p>          The three standard mouse buttons have conventional          meanings in Gnome. Button one is used for selection, drag          and drop, and operating widgets: the most common tasks.          Button three typically activates a pop-up menu. Button          two is traditionally used to move objects, such as the          panel. Sometimes button one moves objects also; for          example, desktop icons can be moved with either button          one or two. It is a good idea to be consistent with other          applications whenever possible.        </p>        <p>          The <span class="STRUCTNAME">source</span> and <span          class="STRUCTNAME">deviceid</span> members are used to          determine which device triggered the event; the user may          have a graphics tablet and a mouse connected          simultaneously, for example. You can ignore these fields          unless you are writing an application that can take          advantage of non-mouse devices.        </p>        <p>          The last two members of <span class="STRUCTNAME">          GdkEventButton</span>, <span class="STRUCTNAME">          x_root</span> and <span class="STRUCTNAME">y_root</span>,          are the <span class="STRUCTNAME">x</span> and <span          class="STRUCTNAME">y</span> coordinates translated to be          relative to the root window rather than the window          receiving the event. You can use these as "absolute"          coordinates to compare events from two different windows.        </p>      </div>      <div class="SECT2">        <h2 class="SECT2">          <a name="Z120">Keyboard Events</a>        </h2>        <p>          There are only two types of key event: <span class=           "STRUCTNAME">GDK_KEY_PRESS</span> and <span class=           "STRUCTNAME">GDK_KEY_RELEASE</span>. Some hardware does          not generate key release events; you should not write          code that depends on <span class="STRUCTNAME">          GDK_KEY_RELEASE</span> events, though your code should          respond sanely if one is received.        </p>        <p>          Here are the contents of a key event:        </p>        <table border="0" bgcolor="#E0E0E0" width="100%">          <tr>            <td><pre class="PROGRAMLISTING">&#13;typedef struct _GdkEventKey GdkEventKey;struct _GdkEventKey{  GdkEventType type;  GdkWindow *window;  gint8 send_event;  guint32 time;  guint state;  guint keyval;  gint length;  gchar *string;};&#13;</pre>            </td>          </tr>        </table>        <p>          The first three members are the standard members from          <span class="STRUCTNAME">GdkEventAny</span>; the <span          class="STRUCTNAME">time</span> and <span class=          "STRUCTNAME">state</span> members are identical to those          found in <span class="STRUCTNAME">GdkEventButton</span>.        </p>        <p>          <span class="STRUCTNAME">keyval</span> contains a <i          class="FIRSTTERM">keysym</i>. The X server keeps a global          translation table which converts combinations of physical          keys and modifiers to keysyms. For example, the ke

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
三级欧美韩日大片在线看| 九九精品视频在线看| 亚洲精品免费视频| 国产精品久久久久aaaa| 国产日产欧美精品一区二区三区| 久久久无码精品亚洲日韩按摩| 日韩免费高清av| 精品99一区二区| 久久精品这里都是精品| 欧美国产成人精品| 中文字幕一区二区三区在线播放 | 宅男噜噜噜66一区二区66| 欧美三区在线观看| 欧美另类变人与禽xxxxx| 日韩欧美一区在线| 精品国产一二三| 日本一二三不卡| 亚洲精品成a人| 五月天激情小说综合| 理论片日本一区| 亚洲欧美福利一区二区| 久久蜜桃av一区精品变态类天堂| 欧美精品日日鲁夜夜添| 日韩一区二区三区在线观看| 蜜臀精品久久久久久蜜臀 | 亚洲午夜私人影院| 视频一区二区三区在线| 久久精品999| 成人黄色免费短视频| 色综合久久久久久久久| 欧美男生操女生| 国产亚洲福利社区一区| 亚洲青青青在线视频| 五月激情六月综合| 国产精品综合二区| 99re视频精品| 欧美一级片在线观看| 国产日产欧美一区二区三区| 亚洲伊人伊色伊影伊综合网| 美美哒免费高清在线观看视频一区二区 | 99国产精品久久久久久久久久| 欧美日韩一区视频| www国产精品av| 亚洲另类色综合网站| 日本成人中文字幕| www.av精品| 精品久久免费看| 亚洲黄色免费网站| 狠狠色丁香久久婷婷综合丁香| 99国产精品国产精品毛片| 日韩一级高清毛片| 中文字幕日韩一区| 免费成人美女在线观看| 99re成人在线| 精品久久人人做人人爽| 一级做a爱片久久| 国产夫妻精品视频| 欧美日韩三级一区二区| 国产精品视频一二三| 日韩电影在线免费观看| 91亚洲男人天堂| 久久久99精品免费观看| 亚洲成人在线网站| 不卡视频免费播放| 日韩欧美国产午夜精品| 一个色综合网站| voyeur盗摄精品| 久久综合精品国产一区二区三区 | 99久久99久久久精品齐齐| 日韩视频不卡中文| 亚洲国产精品精华液网站 | 一色屋精品亚洲香蕉网站| 捆绑调教美女网站视频一区| 色综合激情五月| 中文字幕的久久| 国产一区二区剧情av在线| 欧美视频在线观看一区| 国产精品久久久一本精品| 亚洲美女淫视频| 国产在线精品免费av| proumb性欧美在线观看| 欧美一区二区久久| 精品粉嫩aⅴ一区二区三区四区 | 欧美另类久久久品| 国产精品美女一区二区在线观看| 蜜桃av一区二区三区| aaa欧美日韩| 国产精品美日韩| 国产一区二区三区香蕉 | 国产日韩欧美综合一区| 激情av综合网| 亚洲精品一区二区三区精华液 | 国产专区欧美精品| 色综合激情五月| 中文字幕欧美一| 成人动漫一区二区在线| 欧美在线免费视屏| 欧美一区二区国产| 久热成人在线视频| 欧美午夜免费电影| 亚洲精品在线观看网站| 亚洲第一福利一区| 欧美日韩国产免费一区二区| 亚洲电影视频在线| 99精品久久只有精品| 国产亚洲综合av| 国产成人av一区二区三区在线观看| 久久男人中文字幕资源站| 日韩精品一二三| 91精品国产综合久久婷婷香蕉| 视频一区欧美日韩| 欧美中文字幕一区二区三区| 亚洲第四色夜色| 日韩欧美二区三区| 日韩毛片高清在线播放| 国产不卡一区视频| 国产精品素人视频| 在线影院国内精品| 91麻豆精品国产综合久久久久久 | 99国产欧美久久久精品| 国产精品伦理在线| 亚洲电影一区二区| 色综合久久久久久久久| 国产欧美日本一区二区三区| 92精品国产成人观看免费| 欧美精品一区二区精品网| 国产精品亚洲成人| 中文字幕av一区二区三区免费看 | 色综合久久66| 日韩美女久久久| 欧美三区在线视频| 久久 天天综合| 久久久久国产一区二区三区四区 | 日韩一区二区中文字幕| 日韩精品电影一区亚洲| 欧美一级片在线观看| 国产一区二区三区免费看| 国产精品视频免费看| 欧美日本免费一区二区三区| 狠狠色狠狠色综合系列| 中文字幕av一区二区三区| 在线视频欧美区| 毛片不卡一区二区| 日韩欧美国产电影| 亚洲色图一区二区三区| 欧美日韩高清一区| 国产成人午夜电影网| 亚洲图片欧美视频| 欧美专区亚洲专区| 亚洲手机成人高清视频| 欧美日韩国产另类一区| 国产成人综合精品三级| 亚洲一区在线观看网站| 久久久久久久国产精品影院| 欧美日韩午夜在线视频| 九九国产精品视频| 夜夜夜精品看看| 精品区一区二区| 欧美日韩一区二区电影| 国产最新精品免费| 午夜欧美在线一二页| 国产精品视频第一区| 欧美一区二区视频观看视频| 色综合久久精品| 夫妻av一区二区| 免费精品视频在线| 亚洲欧美乱综合| 欧美韩国日本不卡| 日韩免费电影网站| 成人黄色小视频在线观看| 麻豆成人综合网| 国产精品日产欧美久久久久| 日韩精品一区二区在线观看| 欧美性生活一区| 成人伦理片在线| 九九九久久久精品| 日韩不卡在线观看日韩不卡视频| 亚洲视频 欧洲视频| 欧美人狂配大交3d怪物一区| 高清国产午夜精品久久久久久| 日韩免费在线观看| 久久久久青草大香线综合精品| 粉嫩aⅴ一区二区三区四区五区| 日韩精品一区第一页| 美女爽到高潮91| 欧美亚洲日本国产| 日韩午夜在线观看视频| 国产麻豆精品久久一二三| 91在线码无精品| 欧美成人欧美edvon| 免费观看91视频大全| 欧美日韩精品欧美日韩精品一| 亚洲乱码国产乱码精品精98午夜 | 毛片不卡一区二区| 337p日本欧洲亚洲大胆精品| 日韩午夜在线观看视频| 欧美精品国产精品| 91久久一区二区| 国产盗摄精品一区二区三区在线| 久久国产精品色|