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

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

?? sec-mainloop.html

?? GTK+_ Gnome Application Development
?? HTML
?? 第 1 頁 / 共 2 頁
字號:
      <div class="SECT2">        <h2 class="SECT2">          <a name="Z62">Timeout Functions</a>        </h2>        <p>          <i class="FIRSTTERM">Timeout functions</i> are connected          and disconnected exactly as quit functions are; the          expected callback is the same. <tt class="FUNCTION">          gtk_timeout_add()</tt> expects an <span class=          "STRUCTNAME">interval</span> argument; the callback is          invoked every <span class="STRUCTNAME">interval</span>          milliseconds. If the callback ever returns <span class=           "STRUCTNAME">FALSE</span>, it is removed from the list of          timeout functions, just as if you'd called <tt class=           "FUNCTION">gtk_timeout_remove()</tt>. It is not safe to          call <tt class="FUNCTION">gtk_timeout_remove()</tt> from          within a timeout function; this modifies the timeout list          while GTK+ is iterating over it, causing a crash.          Instead, return <span class="STRUCTNAME">FALSE</span> to          remove a function.        </p>        <div class="FIGURE">          <a name="FL-TIMEOUTFUNCS"></a>          <div class="FUNCSYNOPSIS">            <a name="FL-TIMEOUTFUNCS.SYNOPSIS"></a>            <table border="0" bgcolor="#E0E0E0" width="100%">              <tr>                <td><pre class="FUNCSYNOPSISINFO">#include &lt;gtk/gtkmain.h&gt;</pre>                </td>              </tr>            </table>            <p>              <code><code class="FUNCDEF">guint <tt class=              "FUNCTION">gtk_timeout_add</tt></code>(guint32 <tt              class="PARAMETER"><i>interval</i></tt>, GtkFunction              <tt class="PARAMETER"><i>function</i></tt>, gpointer              <tt class="PARAMETER"><i>data</i></tt>);</code>            </p>            <p>              <code><code class="FUNCDEF">void <tt class=              "FUNCTION">gtk_timeout_remove</tt></code>(guint <tt              class="PARAMETER"><i>              timeout_handler_id</i></tt>);</code>            </p>          </div>          <p>            <b>Figure 30. Timeout Functions</b>          </p>        </div>      </div>      <div class="SECT2">        <h2 class="SECT2">          <a name="Z63">Idle Functions</a>        </h2>        <p>          <i class="FIRSTTERM">Idle functions</i> run continuously          while the GTK+ main loop has nothing else to do. Idle          functions run only when the event queue is empty and the          main loop would normally sit idly, waiting for something          to happen. As long as they return <span class=          "STRUCTNAME">TRUE</span> they are invoked over and over;          when they return <span class="STRUCTNAME">FALSE</span>,          they are removed, just as if <tt class="FUNCTION">          gtk_idle_remove()</tt> had been called.        </p>        <p>          The idle function API, shown in <a href=           "sec-mainloop.html#FL-IDLEFUNCS">Figure 31</a>, is          identical to the timeout and quit function APIs. Again,          <tt class="FUNCTION">gtk_idle_remove()</tt> should not be          called from within an idle function, because it will          corrupt GTK+'s idle function list. Return <span class=           "STRUCTNAME">FALSE</span> to remove the idle function.        </p>        <p>          Idle functions are mostly useful to queue "one-shot"          code, which is run after all events have been handled.          Relatively expensive operations such as GTK+ size          negotiation and <tt class="CLASSNAME">GnomeCanvas</tt>          repaints take place in idle functions that return <span          class="STRUCTNAME">FALSE</span>. This ensures that          expensive operations are performed only once, even though          multiple consecutive events independently request the          recalculation.        </p>        <p>          The GTK+ main loop contains a simple scheduler; idle          functions actually have priorities assigned to them, just          as UNIX processes do. You can assign a non-default          priority to your idle functions, but it's a complicated          topic outside the scope of this book.        </p>        <div class="FIGURE">          <a name="FL-IDLEFUNCS"></a>          <div class="FUNCSYNOPSIS">            <a name="FL-IDLEFUNCS.SYNOPSIS"></a>            <table border="0" bgcolor="#E0E0E0" width="100%">              <tr>                <td><pre class="FUNCSYNOPSISINFO">#include &lt;gtk/gtkmain.h&gt;</pre>                </td>              </tr>            </table>            <p>              <code><code class="FUNCDEF">guint <tt class=              "FUNCTION">gtk_idle_add</tt></code>(GtkFunction <tt              class="PARAMETER"><i>function</i></tt>, gpointer <tt              class="PARAMETER"><i>data</i></tt>);</code>            </p>            <p>              <code><code class="FUNCDEF">void <tt class=              "FUNCTION">gtk_idle_remove</tt></code>(guint <tt              class="PARAMETER"><i>              idle_handler_id</i></tt>);</code>            </p>            <p>              <code><code class="FUNCDEF">void <tt class=              "FUNCTION">              gtk_idle_remove_by_data</tt></code>(gpointer <tt              class="PARAMETER"><i>data</i></tt>);</code>            </p>          </div>          <p>            <b>Figure 31. Idle Functions</b>          </p>        </div>      </div>      <div class="SECT2">        <h2 class="SECT2">          <a name="Z64">Input Functions</a>        </h2>        <p>          <i class="FIRSTTERM">Input functions</i> are handled on          the GDK level. They are invoked when a given file          descriptor is ready for reading or writing. They're          especially useful for networked applications.        </p>        <p>          To add an input function, you specify the file descriptor          to monitor, the state you want to wait for (ready for          reading or writing), and a callback/data pair. <a href=           "sec-mainloop.html#FL-INPUTFUNCS">Figure 32</a> shows the          API. Functions can be removed using the tag returned by          <tt class="FUNCTION">gdk_input_add()</tt>. Unlike quit,          timeout, and idle functions, it should be safe to call          <tt class="FUNCTION">gdk_input_remove()</tt> from inside          the input function; GTK+ will not be in the midst of          iterating over the list of input functions.        </p>        <p>          To specify the condition(s) to wait for, use the <span          class="STRUCTNAME">GdkInputCondition</span> flags: <span          class="STRUCTNAME">GDK_INPUT_READ</span>, <span class=           "STRUCTNAME">GDK_INPUT_WRITE</span>, and <span class=           "STRUCTNAME">GDK_INPUT_EXCEPTION</span>. You can OR one          or more flags together. These correspond to the three          file descriptor sets passed to the <tt class="FUNCTION">          select()</tt> system call; consult a good UNIX          programming book for details. If any condition is met,          the input function is invoked.        </p>        <p>          The callback should look like this:        </p>        <table border="0" bgcolor="#E0E0E0" width="100%">          <tr>            <td><pre class="PROGRAMLISTING">&#13;typedef void (*GdkInputFunction) (gpointer data,                                  gint source_fd,                                  GdkInputCondition condition);&#13;</pre>            </td>          </tr>        </table>        <p>          It receives your callback data, the file descriptor being          watched, and the conditions that were met (possibly a          subset of those you were watching for).        </p>        <div class="FIGURE">          <a name="FL-INPUTFUNCS"></a>          <div class="FUNCSYNOPSIS">            <a name="FL-INPUTFUNCS.SYNOPSIS"></a>            <table border="0" bgcolor="#E0E0E0" width="100%">              <tr>                <td><pre class="FUNCSYNOPSISINFO">#include &lt;gdk/gdk.h&gt;</pre>                </td>              </tr>            </table>            <p>              <code><code class="FUNCDEF">gint <tt class=              "FUNCTION">gdk_input_add</tt></code>(gint <tt class=               "PARAMETER"><i>source_fd</i></tt>, GdkInputCondition              <tt class="PARAMETER"><i>condition</i></tt>,              GdkInputFunction <tt class="PARAMETER"><i>              function</i></tt>, gpointer <tt class="PARAMETER"><i>              data</i></tt>);</code>            </p>            <p>              <code><code class="FUNCDEF">void <tt class=              "FUNCTION">gdk_input_remove</tt></code>(gint <tt              class="PARAMETER"><i>tag</i></tt>);</code>            </p>          </div>          <p>            <b>Figure 32. Input Functions</b>          </p>        </div>      </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="z57.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">            <a href="build-app.html"><font color="#0000ff" size=            "2"><b>Next &gt;&gt;&gt;</b></font></a>          </td>        </tr>        <tr>          <td colspan="2" align="left">            <font color="#000000" size="2"><b>Widget            Concepts</b></font>          </td>          <td colspan="2" align="right">            <font color="#000000" size="2"><b>Building a Gnome            Application</b></font>          </td>        </tr>      </table>    </div>  </body></html>

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
91精品办公室少妇高潮对白| www.一区二区| 日韩视频中午一区| 免费在线观看不卡| 精品国产亚洲一区二区三区在线观看| 日本一道高清亚洲日美韩| 欧美成人r级一区二区三区| 精品系列免费在线观看| 久久亚洲精精品中文字幕早川悠里| 激情丁香综合五月| 国产精品久99| 欧美日韩高清不卡| 国产一区二区三区香蕉| 国产精品美女久久久久久久久久久 | 精品系列免费在线观看| 国产欧美日韩综合| 欧美在线影院一区二区| 免费成人av在线| 中文字幕一区二区三| 欧美日韩在线播放三区| 精品一区二区三区免费视频| 国产精品成人午夜| 911精品国产一区二区在线| 国产一区二区三区免费观看| 综合在线观看色| 日韩欧美不卡在线观看视频| 国产宾馆实践打屁股91| 亚洲超碰精品一区二区| 久久青草欧美一区二区三区| 色婷婷综合久久久久中文一区二区| 天天影视色香欲综合网老头| 日本一区二区三区在线不卡| 欧美日韩一区二区三区四区 | 国产精品一二三在| 一区二区高清免费观看影视大全 | 国产日产精品一区| 在线播放91灌醉迷j高跟美女| 九九精品一区二区| 一卡二卡欧美日韩| 中文字幕av不卡| 日韩一区二区精品| 欧美午夜精品久久久久久孕妇 | 成人av午夜影院| 日韩不卡手机在线v区| 国产精品久久久久一区| 欧美电影免费观看完整版| 欧美午夜精品免费| 91同城在线观看| 国产成人午夜视频| 极品美女销魂一区二区三区免费| 亚洲午夜一区二区三区| 综合久久久久久| 欧美韩国日本一区| 精品国产一区二区三区不卡| 欧美在线综合视频| 色天天综合久久久久综合片| 国产一区二区三区在线观看精品| 日韩精品欧美精品| 婷婷久久综合九色综合伊人色| 亚洲欧洲精品一区二区三区| 久久久久久久久久久久久女国产乱| 欧美精品色综合| 欧美日韩日本视频| 欧美性猛片xxxx免费看久爱| av一区二区三区四区| 粉嫩aⅴ一区二区三区四区五区| 免费成人在线视频观看| 日韩精品午夜视频| 日本成人在线视频网站| 婷婷中文字幕综合| 天天做天天摸天天爽国产一区| 亚洲精品第1页| 亚洲激情图片一区| 一区二区三区在线观看国产| 亚洲理论在线观看| 亚洲韩国一区二区三区| 成人免费小视频| 亚洲美女视频一区| 亚洲国产精品久久久久婷婷884| 亚洲欧美激情小说另类| 一区二区免费在线| 日韩中文欧美在线| 日韩高清一区在线| 麻豆免费精品视频| 国产乱码一区二区三区| 成人一区二区视频| 色婷婷激情综合| 欧美日韩国产系列| 欧美va在线播放| 亚洲国产精品t66y| 亚洲乱码国产乱码精品精小说| 亚洲综合无码一区二区| 日韩av电影天堂| 久久精品久久综合| 岛国精品在线播放| 欧美私人免费视频| 欧美成人激情免费网| 国产农村妇女毛片精品久久麻豆| 国产拍揄自揄精品视频麻豆| 亚洲欧美激情插| 亚洲va韩国va欧美va精品| 亚洲成va人在线观看| 激情综合色播五月| 成人教育av在线| 欧美日韩精品是欧美日韩精品| 欧美一区二区在线免费观看| 精品国产乱码久久久久久夜甘婷婷| 久久综合成人精品亚洲另类欧美 | 国产婷婷色一区二区三区四区| 国产欧美日本一区二区三区| 亚洲免费在线播放| 久久精品国产第一区二区三区| 国产suv精品一区二区三区| 在线观看视频91| www成人在线观看| 一区视频在线播放| 蜜臀av性久久久久蜜臀aⅴ四虎| 粉嫩av一区二区三区| 7777女厕盗摄久久久| 国产精品久久久久久久久免费相片 | 成人深夜福利app| 欧美日韩国产小视频在线观看| 精品理论电影在线观看 | 午夜天堂影视香蕉久久| 国产一区二区三区在线观看精品| 在线精品亚洲一区二区不卡| 精品久久久久久久一区二区蜜臀| 亚洲美女免费视频| 国产精品123| 欧美久久久久久久久中文字幕| 国产亚洲欧美激情| 日产国产欧美视频一区精品| av在线不卡免费看| 2021中文字幕一区亚洲| 亚洲自拍与偷拍| 国产成人精品免费在线| 日韩一区二区三区电影在线观看 | 亚洲精品日韩一| 国产一区二区三区不卡在线观看| 欧美视频一区二区三区四区| 久久精品夜色噜噜亚洲aⅴ| 亚洲成人免费影院| 99在线热播精品免费| 7777精品伊人久久久大香线蕉经典版下载| 久久久国产一区二区三区四区小说 | 不卡电影一区二区三区| 久久久久亚洲综合| 成人伦理片在线| 亚洲少妇30p| 九色|91porny| 欧美一区二区三区婷婷月色| 中文字幕亚洲一区二区av在线| 色欧美日韩亚洲| 亚洲欧美激情一区二区| 亚洲一区二区在线观看视频| 91老师国产黑色丝袜在线| 国产精品乱人伦中文| 国产91高潮流白浆在线麻豆| 在线观看91精品国产入口| 中文字幕在线一区二区三区| 成人av在线影院| 国产精品免费av| 亚洲美女屁股眼交| eeuss鲁一区二区三区| 国产视频视频一区| 国产精品亚洲视频| 精品国产凹凸成av人网站| 老色鬼精品视频在线观看播放| 欧美精品在线观看播放| 日韩黄色免费网站| 欧美一区二区三区成人| 日本成人中文字幕| 精品区一区二区| 久久99国产乱子伦精品免费| 欧美精品一区二区三区蜜桃| 久久精品国产精品亚洲红杏| 精品乱人伦一区二区三区| 国产久卡久卡久卡久卡视频精品| 日韩视频免费观看高清在线视频| 日本在线不卡视频| 久久久久99精品国产片| 国产成人日日夜夜| 1024成人网色www| 欧美手机在线视频| 蜜桃精品在线观看| 精品国产免费视频| 国产白丝网站精品污在线入口| 国产精品入口麻豆原神| 色婷婷狠狠综合| 亚洲va在线va天堂| 日韩欧美国产精品| 国产成人午夜99999| 一区二区三区不卡在线观看| 在线不卡中文字幕播放| 久久草av在线| 18成人在线观看| 欧美丰满美乳xxx高潮www| 精品在线免费观看| 成人欧美一区二区三区1314 | 综合亚洲深深色噜噜狠狠网站|