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

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

?? main.sgml

?? GLIB-C的最新源代碼
?? SGML
?? 第 1 頁 / 共 2 頁
字號:
<!-- ##### SECTION Title ##### -->The Main Event Loop<!-- ##### SECTION Short_Description ##### -->manages all available sources of events.<!-- ##### SECTION Long_Description ##### -->  <para>    The main event loop manages all the available sources of events for    GLib and GTK+ applications. These events can come from any number of    different types of sources such as file descriptors (plain files,    pipes or sockets) and timeouts.  New types of event sources can also    be added using g_source_attach().  </para>  <para>    To allow multiple independent sets of sources to be handled in    different threads, each source is associated with a #GMainContext.    A #GMainContext can only be running in a single thread, but    sources can be added to it and removed from it from other threads.  </para>  <para>    Each event source is assigned a priority.  The default priority,    #G_PRIORITY_DEFAULT, is 0.  Values less than 0 denote higher    priorities.  Values greater than 0 denote lower priorities.  Events    from high priority sources are always processed before events from    lower priority sources.  </para>  <para>    Idle functions can also be added, and assigned a priority. These will    be run whenever no events with a higher priority are ready to be    processed.  </para>  <para>    The #GMainLoop data type represents a main event loop.  A #GMainLoop    is created with g_main_loop_new(). After adding the initial event sources,    g_main_loop_run() is called. This continuously checks for new events from    each of the event sources and dispatches them.  Finally, the    processing of an event from one of the sources leads to a call to    g_main_loop_quit() to exit the main loop, and g_main_loop_run() returns.  </para>  <para>    It is possible to create new instances of #GMainLoop recursively.    This is often used in GTK+ applications when showing modal dialog    boxes. Note that event sources are associated with a particular    #GMainContext, and will be checked and dispatched for all main    loops associated with that #GMainContext.  </para>  <para>    GTK+ contains wrappers of some of these functions, e.g. gtk_main(),    gtk_main_quit() and gtk_events_pending().   </para>  <refsect2>    <title>Creating new sources types</title>    <para>      One of the unusual features of the GTK+ main loop functionality      is that new types of event source can be created and used in      addition to the builtin type of event source. A new event source      type is used for handling GDK events. A new source type is      created by <firstterm>deriving</firstterm> from the #GSource      structure. The derived type of source is represented by a      structure that has the #GSource structure as a first element,      and other elements specific to the new source type. To create      an instance of the new source type, call g_source_new() passing      in the size of the derived structure and a table of functions.      These #GSourceFuncs determine the behavior of the new source      types.    </para>    <para>      New source types basically interact with with the main context      in two ways. Their prepare function in #GSourceFuncs can set      a timeout to determine the maximum amount of time that the      main loop will sleep before checking the source again.  In      addition, or as well, the source can add file descriptors to      the set that the main context checks using g_source_add_poll().    </para>  </refsect2>  <refsect2>    <title>Customizing the main loop iteration</title>    <para>      Single iterations of a #GMainContext can be run with      g_main_context_iteration(). In some cases, more detailed control      of exactly how the details of the main loop work is desired,      for instance, when integrating the #GMainLoop with an external      main loop. In such cases, you can call the component functions      of g_main_context_iteration() directly. These functions      are g_main_context_prepare(), g_main_context_query(),      g_main_context_check() and g_main_context_dispatch().    </para>    <para>      The operation of these functions can best be seen in terms      of a state diagram, as shown in <xref linkend="mainloop-states"/>.    </para>    <figure id="mainloop-states">      <title>States of a Main Context</title>      <graphic fileref="mainloop-states.gif" format="GIF"></graphic>    </figure>  </refsect2><!-- ##### SECTION See_Also ##### --><para></para><!-- ##### SECTION Stability_Level ##### --><!-- ##### STRUCT GMainLoop ##### --><para>The <structname>GMainLoop</structname> struct is an opaque data type representing the main event loop of a GLib or GTK+ application.</para><!-- ##### FUNCTION g_main_loop_new ##### --><para></para>@context: @is_running: @Returns: <!-- ##### FUNCTION g_main_loop_ref ##### --><para></para>@loop: @Returns: <!-- ##### FUNCTION g_main_loop_unref ##### --><para></para>@loop: <!-- ##### FUNCTION g_main_loop_run ##### --><para></para>@loop: <!-- ##### FUNCTION g_main_loop_quit ##### --><para></para>@loop: <!-- ##### FUNCTION g_main_loop_is_running ##### --><para></para>@loop: @Returns: <!-- ##### FUNCTION g_main_loop_get_context ##### --><para></para>@loop: @Returns: <!-- ##### MACRO g_main_new ##### --><para>Creates a new #GMainLoop for the default main loop. </para>@is_running: set to %TRUE to indicate that the loop is running. This is notvery important since calling g_main_run() will set this to %TRUE anyway.@Returns: a new #GMainLoop.@Deprecated: 2.2: Use g_main_loop_new() instead.<!-- ##### MACRO g_main_destroy ##### --><para>Frees the memory allocated for the #GMainLoop. </para>@loop: a #GMainLoop.@Deprecated: 2.2: Use g_main_loop_unref() instead.<!-- ##### MACRO g_main_run ##### --><para>Runs a main loop until it stops running. </para>@loop: a #GMainLoop.@Deprecated: 2.2: Use g_main_loop_run() instead.<!-- ##### MACRO g_main_quit ##### --><para>Stops the #GMainLoop. If g_main_run() was called to run the #GMainLoop,it will now return. </para>@loop: a #GMainLoop.@Deprecated: 2.2: Use g_main_loop_quit() instead.<!-- ##### MACRO g_main_is_running ##### --><para>Checks if the main loop is running. </para>@loop: a #GMainLoop.@Returns: %TRUE if the main loop is running.@Deprecated: 2.2: USe g_main_loop_is_running() instead.<!-- ##### MACRO G_PRIORITY_HIGH ##### --><para>Use this for high priority event sources.It is not used within GLib or GTK+.</para><!-- ##### MACRO G_PRIORITY_DEFAULT ##### --><para>Use this for default priority event sources.In GLib this priority is used when adding timeout functions withg_timeout_add().In GDK this priority is used for events from the X server.</para><!-- ##### MACRO G_PRIORITY_HIGH_IDLE ##### --><para>Use this for high priority idle functions.GTK+ uses #G_PRIORITY_HIGH_IDLE + 10 for resizing operations, and#G_PRIORITY_HIGH_IDLE + 20 for redrawing operations. (This is done toensure that any pending resizes are processed before any pending redraws,so that widgets are not redrawn twice unnecessarily.)</para><!-- ##### MACRO G_PRIORITY_DEFAULT_IDLE ##### --><para>Use this for default priority idle functions.In GLib this priority is used when adding idle functions with g_idle_add().</para><!-- ##### MACRO G_PRIORITY_LOW ##### --><para>Use this for very low priority background tasks.It is not used within GLib or GTK+.</para><!-- ##### STRUCT GMainContext ##### --><para>The <structname>GMainContext</structname> struct is an opaque data type representing a set of sources to be handled in a main loop. </para><!-- ##### FUNCTION g_main_context_new ##### --><para></para>@Returns: <!-- ##### FUNCTION g_main_context_ref ##### --><para></para>@context: @Returns: <!-- ##### FUNCTION g_main_context_unref ##### --><para></para>@context: <!-- ##### FUNCTION g_main_context_default ##### --><para></para>@Returns: <!-- ##### FUNCTION g_main_context_iteration ##### --><para></para>@context: @may_block: @Returns: <!-- ##### MACRO g_main_iteration ##### --><para>Runs a single iteration for the default #GMainContext.</para>@may_block: set to %TRUE if it should block (i.e. wait) until an event sourcebecomes ready. It will return after an event source has been processed.If set to %FALSE it will return immediately if no event source is ready to beprocessed.@Returns: %TRUE if more events are pending.@Deprecated: 2.2: Use g_main_context_iteration() instead.<!-- ##### FUNCTION g_main_context_pending ##### --><para></para>@context: @Returns: <!-- ##### MACRO g_main_pending ##### --><para>Checks if any events are pending for the default #GMainContext(i.e. ready to be processed).  </para>@Returns: %TRUE if any events are pending.@Deprecated: 2.2: Use g_main_context_pending() instead.<!-- ##### FUNCTION g_main_context_find_source_by_id ##### --><para></para>@context: @source_id: @Returns: <!-- ##### FUNCTION g_main_context_find_source_by_user_data ##### --><para></para>@context: @user_data: @Returns: <!-- ##### FUNCTION g_main_context_find_source_by_funcs_user_data ##### --><para></para>@context: @funcs: @user_data: @Returns: <!-- ##### FUNCTION g_main_context_wakeup ##### --><para></para>@context: <!-- ##### FUNCTION g_main_context_acquire ##### --><para></para>@context: @Returns: <!-- ##### FUNCTION g_main_context_release ##### --><para></para>@context: <!-- ##### FUNCTION g_main_context_is_owner ##### --><para></para>@context: @Returns: <!-- ##### FUNCTION g_main_context_wait ##### --><para></para>@context: @cond: @mutex: @Returns: <!-- ##### FUNCTION g_main_context_prepare ##### --><para></para>@context: @priority: @Returns: <!-- ##### FUNCTION g_main_context_query ##### --><para></para>@context: @max_priority: @timeout_: @fds: @n_fds: @Returns: <!-- ##### FUNCTION g_main_context_check ##### --><para></para>@context: @max_priority: @fds: @n_fds: @Returns: <!-- ##### FUNCTION g_main_context_dispatch ##### --><para></para>@context: <!-- ##### FUNCTION g_main_context_set_poll_func ##### --><para></para>@context: @func: <!-- ##### FUNCTION g_main_context_get_poll_func ##### --><para></para>@context: @Returns: <!-- ##### USER_FUNCTION GPollFunc ##### --><para>Specifies the type of function passed to g_main_context_set_poll_func().The semantics of the function should match those of the<function>poll()</function> system call.</para>@ufds: an array of #GPollFD elements.@nfsd: the number of elements in @ufds.@timeout_: the maximum time to wait for an event of the file descriptors.          A negative value indicates an infinite timeout.@Returns: the number of #GPollFD elements which have events or errors reported,or -1 if an error occurred.<!-- ##### FUNCTION g_main_context_add_poll ##### --><para></para>@context: @fd: @priority: 

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
精品国产乱子伦一区| 另类小说欧美激情| 国产精品视频线看| 国产精品视频你懂的| 中文幕一区二区三区久久蜜桃| 国产欧美日韩亚州综合| 国产精品免费视频网站| 国产精品天干天干在线综合| 亚洲欧洲三级电影| 亚洲激情综合网| 亚洲线精品一区二区三区| 亚洲va中文字幕| 蜜桃精品视频在线| 国产很黄免费观看久久| 国产99一区视频免费| aa级大片欧美| 欧美亚洲高清一区| 欧美丰满少妇xxxxx高潮对白| 这里是久久伊人| 精品久久久久久综合日本欧美| 久久久亚洲精品一区二区三区| 亚洲一区二区精品视频| 亚洲欧美乱综合| 久久久精品综合| 欧美va亚洲va在线观看蝴蝶网| 欧美aaa在线| 国产麻豆91精品| 日韩电影免费在线观看网站| 亚洲欧美日韩成人高清在线一区| 国产亚洲精久久久久久| 欧美日韩第一区日日骚| 欧美一区在线视频| 欧美裸体bbwbbwbbw| 欧美mv和日韩mv的网站| 久久久久亚洲综合| 日韩一区欧美小说| 日韩 欧美一区二区三区| 久久 天天综合| 99麻豆久久久国产精品免费| 日本韩国欧美在线| 精品国产一区二区亚洲人成毛片| 中文字幕亚洲一区二区va在线| 麻豆高清免费国产一区| 国产ts人妖一区二区| 91久久久免费一区二区| 26uuu欧美| 亚洲一级二级在线| 成人高清视频在线| 欧美一区二区二区| 亚洲日穴在线视频| 国产精品1区二区.| 91精品国产一区二区人妖| 亚洲图片你懂的| 国产99久久久国产精品潘金网站| 日韩欧美资源站| 国内精品嫩模私拍在线| 成人高清视频在线| 日韩午夜激情av| 亚洲成人av在线电影| 99视频精品全部免费在线| 亚洲国产精品二十页| 国产露脸91国语对白| 久久久精品免费观看| 美腿丝袜一区二区三区| 在线播放/欧美激情| 亚洲国产日韩一级| 欧美日韩一区二区三区免费看| 国产精品理伦片| 91久久精品网| 一区二区欧美国产| 爽好多水快深点欧美视频| 欧美午夜精品久久久| 午夜精品福利一区二区三区蜜桃| 97久久精品人人做人人爽50路| 国产欧美一区二区精品久导航| 国产成人夜色高潮福利影视| 精品乱人伦小说| 91视频精品在这里| 久久av资源网| 日韩精品一区二区在线观看| 国产精品女同一区二区三区| 成人激情动漫在线观看| 亚洲同性gay激情无套| 精品蜜桃在线看| 北条麻妃国产九九精品视频| 亚洲三级免费观看| 日韩免费高清av| 97精品国产露脸对白| 久久精品久久久精品美女| 欧美日韩1区2区| 免费欧美在线视频| 国产清纯在线一区二区www| 91浏览器入口在线观看| 男人的天堂亚洲一区| 国产亚洲欧美中文| 欧美精品日韩综合在线| 99精品国产一区二区三区不卡| 亚洲一区二区三区在线播放| 欧美电视剧免费全集观看| 日本韩国欧美在线| 精品综合久久久久久8888| 亚洲欧美成aⅴ人在线观看| 日韩欧美国产wwwww| 在线观看一区不卡| 91久久免费观看| 欧美军同video69gay| 国产精品99久| 极品少妇xxxx精品少妇偷拍| 亚洲第四色夜色| 亚洲品质自拍视频网站| www国产亚洲精品久久麻豆| 欧美三级欧美一级| 欧美日韩一区在线观看| 亚洲美女视频在线| 欧美三级电影在线观看| 日韩av电影天堂| 亚洲国产精品一区二区久久恐怖片| 国产日韩欧美a| 日韩一级二级三级| 在线观看日韩毛片| 欧美日韩卡一卡二| 欧美精品一区二| 国产精品久久毛片| 日韩国产欧美视频| 成人av午夜电影| 欧美欧美欧美欧美首页| 国产亚洲综合av| 亚洲国产综合91精品麻豆| 久久久精品中文字幕麻豆发布| 久久久另类综合| 日韩精品成人一区二区在线| 国产精品18久久久久久久久| 欧美日韩精品一区二区三区| 国产偷国产偷精品高清尤物| 亚洲一区在线观看免费观看电影高清| 久久99精品久久久久久国产越南 | 日韩欧美黄色影院| 欧美视频自拍偷拍| 欧美精品久久久久久久多人混战 | 日韩三级中文字幕| 精品国产乱码久久久久久蜜臀| 亚洲国产精品ⅴa在线观看| 黑人巨大精品欧美黑白配亚洲| 51午夜精品国产| 一区二区三区在线影院| 欧美羞羞免费网站| 久久色成人在线| 亚洲一区二区三区免费视频| 麻豆精品视频在线| 欧美午夜精品一区二区三区| 日韩欧美国产电影| 午夜影院久久久| 成人小视频在线| 精品欧美乱码久久久久久1区2区| 国产精品乱码久久久久久| 久久国产精品72免费观看| 91成人国产精品| 欧美国产日韩一二三区| 蜜桃视频在线一区| 欧美中文字幕亚洲一区二区va在线| 久久久久久9999| 精品一区二区三区在线播放| 欧美三级韩国三级日本一级| 国产精品天美传媒沈樵| 豆国产96在线|亚洲| 亚洲欧洲日韩一区二区三区| www.成人在线| 一区二区视频免费在线观看| 欧美视频三区在线播放| 日韩综合小视频| 精品人在线二区三区| 丰满放荡岳乱妇91ww| 综合欧美亚洲日本| 欧美日韩免费高清一区色橹橹| 日韩有码一区二区三区| 欧美精品一区二区三区久久久| 国产在线精品视频| 夜夜精品浪潮av一区二区三区| 欧美日韩在线播放一区| 激情都市一区二区| 亚洲黄色av一区| 久久九九久久九九| 色婷婷综合久久| 国产一区二区三区蝌蚪| 自拍偷拍欧美精品| 日韩一区二区精品| 色综合久久99| 亚洲h在线观看| 日韩av在线免费观看不卡| 亚洲精品在线观看视频| 欧美午夜电影在线播放| av电影天堂一区二区在线| 另类欧美日韩国产在线| 亚洲国产精品久久久久婷婷884| 日韩美女视频19| 日韩欧美国产一二三区| 欧美久久久久免费| 欧美日本免费一区二区三区| 欧美日韩一级片网站| 国产一区二区三区综合|