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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? gdkasync.c

?? linux下電話本所依賴的一些圖形庫
?? C
?? 第 1 頁 / 共 2 頁
字號:
/* GTK - The GIMP Toolkit * gdkasync.c: Utility functions using the Xlib asynchronous interfaces * Copyright (C) 2003, Red Hat, Inc. * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public * License as published by the Free Software Foundation; either * version 2 of the License, or (at your option) any later version. * * This library is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU * Lesser General Public License for more details. * * You should have received a copy of the GNU Lesser General Public * License along with this library; if not, write to the * Free Software Foundation, Inc., 59 Temple Place - Suite 330, * Boston, MA 02111-1307, USA. *//* Portions of code in this file are based on code from Xlib *//*Copyright 1986, 1998  The Open GroupPermission to use, copy, modify, distribute, and sell this software and itsdocumentation for any purpose is hereby granted without fee, provided thatthe above copyright notice appear in all copies and that both thatcopyright notice and this permission notice appear in supportingdocumentation.The above copyright notice and this permission notice shall be included inall copies or substantial portions of the Software.THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS ORIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL THEOPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER INAN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR INCONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.Except as contained in this notice, the name of The Open Group shall not beused in advertising or otherwise to promote the sale, use or other dealingsin this Software without prior written authorization from The Open Group.*/#include <config.h>#ifdef NEED_XIPROTO_H_FOR_XREPLY#include <X11/extensions/XIproto.h>#endif#include <X11/Xlibint.h>#include "gdkasync.h"#include "gdkx.h"#include "gdkalias.h"typedef struct _ChildInfoChildState ChildInfoChildState;typedef struct _ChildInfoState ChildInfoState;typedef struct _ListChildrenState ListChildrenState;typedef struct _SendEventState SendEventState;typedef struct _SetInputFocusState SetInputFocusState;typedef enum {  CHILD_INFO_GET_PROPERTY,  CHILD_INFO_GET_WA,  CHILD_INFO_GET_GEOMETRY} ChildInfoReq;struct _ChildInfoChildState{  gulong seq[3];};struct _ChildInfoState{  gboolean get_wm_state;  Window *children;  guint nchildren;  GdkChildInfoX11 *child_info;  ChildInfoChildState *child_states;  guint current_child;  guint n_children_found;  gint current_request;  gboolean have_error;  gboolean child_has_error;};struct _ListChildrenState{  Display *dpy;  gulong get_property_req;  gboolean have_error;  gboolean has_wm_state;};struct _SendEventState{  Display *dpy;  Window window;  _XAsyncHandler async;  gulong send_event_req;  gulong get_input_focus_req;  gboolean have_error;  GdkSendXEventCallback callback;  gpointer data;};struct _SetInputFocusState{  Display *dpy;  _XAsyncHandler async;  gulong set_input_focus_req;  gulong get_input_focus_req;};static Boolsend_event_handler (Display *dpy,		    xReply  *rep,		    char    *buf,		    int      len,		    XPointer data){  SendEventState *state = (SendEventState *)data;    if (dpy->last_request_read == state->send_event_req)    {      if (rep->generic.type == X_Error &&	  rep->error.errorCode == BadWindow)	{	  state->have_error = TRUE;	  return True;	}    }  else if (dpy->last_request_read == state->get_input_focus_req)    {      xGetInputFocusReply replbuf;      xGetInputFocusReply *repl;            if (rep->generic.type != X_Error)	{	  /* Actually does nothing, since there are no additional bytes	   * to read, but maintain good form.	   */	  repl = (xGetInputFocusReply *)	    _XGetAsyncReply(dpy, (char *)&replbuf, rep, buf, len,			    (sizeof(xGetInputFocusReply) - sizeof(xReply)) >> 2,			    True);	}      if (state->callback)	state->callback (state->window, !state->have_error, state->data);      DeqAsyncHandler(state->dpy, &state->async);      g_free (state);      return (rep->generic.type != X_Error);    }  return False;}static voidclient_message_to_wire (XClientMessageEvent *ev,			xEvent              *event){  int i;  event->u.clientMessage.window = ev->window;  event->u.u.type = ev->type;  event->u.u.detail = ev->format;  switch (ev->format)    {    case 8:	      event->u.clientMessage.u.b.type   = ev->message_type;      for (i = 0; i < 20; i++)	event->u.clientMessage.u.b.bytes[i] = ev->data.b[i];      break;    case 16:      event->u.clientMessage.u.s.type   = ev->message_type;      event->u.clientMessage.u.s.shorts0   = ev->data.s[0];      event->u.clientMessage.u.s.shorts1   = ev->data.s[1];      event->u.clientMessage.u.s.shorts2   = ev->data.s[2];      event->u.clientMessage.u.s.shorts3   = ev->data.s[3];      event->u.clientMessage.u.s.shorts4   = ev->data.s[4];      event->u.clientMessage.u.s.shorts5   = ev->data.s[5];      event->u.clientMessage.u.s.shorts6   = ev->data.s[6];      event->u.clientMessage.u.s.shorts7   = ev->data.s[7];      event->u.clientMessage.u.s.shorts8   = ev->data.s[8];      event->u.clientMessage.u.s.shorts9   = ev->data.s[9];      break;    case 32:      event->u.clientMessage.u.l.type   = ev->message_type;      event->u.clientMessage.u.l.longs0   = ev->data.l[0];      event->u.clientMessage.u.l.longs1   = ev->data.l[1];      event->u.clientMessage.u.l.longs2   = ev->data.l[2];      event->u.clientMessage.u.l.longs3   = ev->data.l[3];      event->u.clientMessage.u.l.longs4   = ev->data.l[4];      break;    default:      /* client passing bogus data, let server complain */      break;    }}void_gdk_x11_send_client_message_async (GdkDisplay           *display, 				    Window                window, 				    gboolean              propagate,				    glong                 event_mask,				    XClientMessageEvent  *event_send,				    GdkSendXEventCallback callback,				    gpointer              data){  Display *dpy;  SendEventState *state;    dpy = GDK_DISPLAY_XDISPLAY (display);  state = g_new (SendEventState, 1);  state->dpy = dpy;  state->window = window;  state->callback = callback;  state->data = data;  state->have_error = FALSE;    LockDisplay(dpy);  state->async.next = dpy->async_handlers;  state->async.handler = send_event_handler;  state->async.data = (XPointer) state;  dpy->async_handlers = &state->async;  {    register xSendEventReq *req;    xEvent ev;        client_message_to_wire (event_send, &ev);          GetReq(SendEvent, req);    req->destination = window;    req->propagate = propagate;    req->eventMask = event_mask;    /* gross, matches Xproto.h */#ifdef WORD64			    memcpy ((char *) req->eventdata, (char *) &ev, SIZEOF(xEvent));#else        memcpy ((char *) &req->event, (char *) &ev, SIZEOF(xEvent));#endif        state->send_event_req = dpy->request;  }  /*   * XSync (dpy, 0)   */  {    xReq *req;        GetEmptyReq(GetInputFocus, req);    state->get_input_focus_req = dpy->request;  }    UnlockDisplay(dpy);  SyncHandle();}static Boolset_input_focus_handler (Display *dpy,			 xReply  *rep,			 char    *buf,			 int      len,			 XPointer data){  SetInputFocusState *state = (SetInputFocusState *)data;    if (dpy->last_request_read == state->set_input_focus_req)    {      if (rep->generic.type == X_Error &&	  rep->error.errorCode == BadMatch)	{	  /* Consume BadMatch errors, since we have no control	   * over them.	   */	  return True;	}    }    if (dpy->last_request_read == state->get_input_focus_req)    {      xGetInputFocusReply replbuf;      xGetInputFocusReply *repl;            if (rep->generic.type != X_Error)	{	  /* Actually does nothing, since there are no additional bytes	   * to read, but maintain good form.	   */	  repl = (xGetInputFocusReply *)	    _XGetAsyncReply(dpy, (char *)&replbuf, rep, buf, len,			    (sizeof(xGetInputFocusReply) - sizeof(xReply)) >> 2,			    True);	}      DeqAsyncHandler(state->dpy, &state->async);      g_free (state);            return (rep->generic.type != X_Error);    }  return False;}void_gdk_x11_set_input_focus_safe (GdkDisplay             *display,			       Window                  window,			       int                     revert_to,			       Time                    time){  Display *dpy;  SetInputFocusState *state;    dpy = GDK_DISPLAY_XDISPLAY (display);  state = g_new (SetInputFocusState, 1);  state->dpy = dpy;    LockDisplay(dpy);  state->async.next = dpy->async_handlers;  state->async.handler = set_input_focus_handler;  state->async.data = (XPointer) state;  dpy->async_handlers = &state->async;  {    xSetInputFocusReq *req;        GetReq(SetInputFocus, req);    req->focus = window;    req->revertTo = revert_to;    req->time = time;    state->set_input_focus_req = dpy->request;  }  /*   * XSync (dpy, 0)   */  {    xReq *req;        GetEmptyReq(GetInputFocus, req);    state->get_input_focus_req = dpy->request;  }    UnlockDisplay(dpy);  SyncHandle();}static Boollist_children_handler (Display *dpy,		       xReply  *rep,		       char    *buf,		       int      len,		       XPointer data){

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
精品三级在线看| 99re6这里只有精品视频在线观看 99re8在线精品视频免费播放 | 一区二区三区四区不卡在线| 成人免费视频一区| 综合久久久久久久| 欧美中文字幕一区| 日韩电影一二三区| 精品99999| 成人午夜免费视频| 亚洲一区二区美女| 精品少妇一区二区三区| 国产精品一级黄| 最近中文字幕一区二区三区| 欧美自拍丝袜亚洲| 美女脱光内衣内裤视频久久网站| 久久综合色天天久久综合图片| 成人av在线播放网站| 亚洲国产三级在线| 26uuu久久综合| 91黄色激情网站| 久久99热99| 亚洲精品va在线观看| 91精品国产色综合久久| 国产成a人亚洲| 亚洲国产日韩a在线播放性色| 欧美电影精品一区二区| bt欧美亚洲午夜电影天堂| 亚洲第一av色| 国产精品欧美一区二区三区| 欧美日产国产精品| 成人动漫视频在线| 日韩一区欧美二区| 综合久久国产九一剧情麻豆| 日韩精品最新网址| 日本韩国一区二区三区视频| 久久成人综合网| 亚洲一区国产视频| 国产嫩草影院久久久久| 51精品视频一区二区三区| 成人动漫一区二区三区| 麻豆91在线看| 五月天一区二区三区| 中文av一区二区| 精品久久久久久久人人人人传媒| 一本一道久久a久久精品综合蜜臀| 精品一区二区免费在线观看| 亚洲午夜久久久久久久久电影院 | 欧美精品一区二区三区蜜臀| 在线视频中文字幕一区二区| 粉嫩蜜臀av国产精品网站| 日本vs亚洲vs韩国一区三区二区 | 亚洲精品视频在线| 国产精品嫩草影院av蜜臀| 亚洲精品一区二区三区在线观看| 在线观看成人免费视频| 成人动漫av在线| 国产激情视频一区二区在线观看 | 久久九九99视频| 日韩一级片在线播放| 欧美最猛黑人xxxxx猛交| 成人黄色网址在线观看| 国产一区日韩二区欧美三区| 日韩成人一级大片| 日日夜夜精品免费视频| 亚洲一区二区综合| 亚洲综合一二区| 亚洲曰韩产成在线| 一级特黄大欧美久久久| 亚洲色图另类专区| 中文字幕在线视频一区| 亚洲国产精品99久久久久久久久| 26uuu色噜噜精品一区| 欧美成人a在线| 日韩一二三区不卡| 欧美本精品男人aⅴ天堂| 日韩欧美国产综合| 欧美电影免费观看完整版| 欧美一级高清片| 日韩精品一区在线| 欧美一区二区三区视频在线| 欧美剧在线免费观看网站| 欧美精品v日韩精品v韩国精品v| 欧美丝袜第三区| 欧美日韩亚洲综合在线| 91精品国产手机| 欧美成人bangbros| 久久精品人人做人人综合| 欧美国产日韩a欧美在线观看 | 久久www免费人成看片高清| 麻豆专区一区二区三区四区五区| 美女一区二区视频| 国产露脸91国语对白| 国产99久久久国产精品免费看| 成人国产亚洲欧美成人综合网| 91免费视频观看| 欧美在线免费观看视频| 91精品国产高清一区二区三区蜜臀| 欧美精品三级日韩久久| 亚洲精品一区二区三区香蕉| 国产精品色婷婷久久58| 一区二区三区日韩精品| 日韩精品电影一区亚洲| 精品一区二区三区的国产在线播放| 国产成人在线免费| 91小视频在线免费看| 在线播放中文字幕一区| 久久亚洲二区三区| 亚洲裸体xxx| 免费看精品久久片| 99亚偷拍自图区亚洲| 欧美肥胖老妇做爰| 国产精品人人做人人爽人人添| 亚洲综合av网| 国产在线精品免费| 欧洲日韩一区二区三区| 精品国产一区二区三区不卡 | 日韩精品专区在线影院观看| 国产精品无人区| 日本欧美一区二区三区| 国产69精品久久久久毛片| 欧美三级在线视频| 久久久久久99精品| 亚洲成人动漫精品| 国产91在线看| 欧美一区二区三区视频免费播放 | 国产精品免费视频观看| 亚洲18色成人| 国产精品污www在线观看| 国产成人久久精品77777最新版本| 樱花草国产18久久久久| 激情欧美日韩一区二区| 欧美在线观看视频在线| 欧美高清在线精品一区| 偷窥少妇高潮呻吟av久久免费| 国产成人精品亚洲777人妖| 9191久久久久久久久久久| 国产精品久久久久久久久免费相片| 婷婷国产v国产偷v亚洲高清| 99re6这里只有精品视频在线观看 99re8在线精品视频免费播放 | 成人午夜电影网站| 日韩欧美激情一区| 午夜激情久久久| 91在线视频官网| 欧美国产精品一区| 国产麻豆精品95视频| 日韩免费观看高清完整版| 亚洲一区二区三区视频在线| av电影天堂一区二区在线| 国产午夜精品一区二区| 黑人精品欧美一区二区蜜桃| 欧美一区国产二区| 亚洲成年人影院| 欧美吞精做爰啪啪高潮| 亚洲人精品午夜| 91视频国产观看| 亚洲色图欧美激情| 99久久精品免费看国产免费软件| 日本一区二区视频在线观看| 韩国欧美一区二区| 久久综合色天天久久综合图片| 久久精品国产亚洲一区二区三区| 666欧美在线视频| 日韩精品免费专区| 日韩欧美国产不卡| 免费欧美高清视频| 日韩欧美一级二级| 老色鬼精品视频在线观看播放| 日韩欧美综合一区| 国产麻豆视频精品| 中文字幕精品在线不卡| 国产91丝袜在线观看| 国产精品视频九色porn| av网站免费线看精品| 亚洲欧美综合色| 色婷婷精品久久二区二区蜜臀av | 日本美女视频一区二区| 欧美一卡二卡三卡| 九九九久久久精品| 中文字幕巨乱亚洲| 一本久久精品一区二区| 亚洲成人av福利| 精品国产三级电影在线观看| 国产原创一区二区| 国产精品久久久久一区二区三区 | 在线观看网站黄不卡| 午夜免费欧美电影| 欧美成人女星排名| 成人福利视频在线看| 伊人一区二区三区| 欧美一区二区三区免费| 韩国在线一区二区| 亚洲老司机在线| 91精品国产综合久久久久久漫画| 精品夜夜嗨av一区二区三区| 国产精品国产自产拍高清av王其| 99视频在线精品| 免费观看久久久4p| 国产精品第四页| 欧美一区二区精品在线| 丁香六月综合激情|