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

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

?? 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){

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲午夜在线视频| 色婷婷综合激情| 久久99精品久久久久| 亚洲曰韩产成在线| 一区二区三区在线播放| 亚洲激情第一区| 一区二区三区不卡在线观看| 日韩毛片高清在线播放| 国产精品乱人伦| 中文字幕在线免费不卡| 国产精品福利一区二区| 亚洲视频免费观看| 亚洲自拍都市欧美小说| 亚洲午夜在线电影| 免费在线观看成人| 极品美女销魂一区二区三区免费| 国产一区二区精品在线观看| 国产一区二区精品在线观看| 成人免费福利片| 色婷婷综合久久久久中文 | 欧美日本在线视频| 3751色影院一区二区三区| 日韩三级免费观看| 久久精品视频网| 亚洲精品水蜜桃| 日韩精品亚洲专区| 国产精一区二区三区| 成人h动漫精品| 91搞黄在线观看| 日韩欧美精品三级| 国产精品久久久久精k8| 一区二区高清在线| 裸体一区二区三区| www.亚洲国产| 欧美日韩一级二级三级| 久久一留热品黄| 亚洲精品免费在线播放| 日韩av中文字幕一区二区| 国产成人在线免费| 欧美又粗又大又爽| 久久天天做天天爱综合色| 最新日韩在线视频| 青青草伊人久久| www.欧美.com| 欧美一区二区三区的| 欧美激情一区三区| 亚洲超碰精品一区二区| 国内久久婷婷综合| 欧美做爰猛烈大尺度电影无法无天| 日韩欧美色综合网站| 亚洲麻豆国产自偷在线| 韩国欧美国产1区| 欧美三级电影在线看| 亚洲午夜免费福利视频| 九九精品视频在线看| 色噜噜久久综合| 久久亚洲综合色| 亚洲国产中文字幕| 懂色一区二区三区免费观看| 欧美色图免费看| 国产精品另类一区| 久色婷婷小香蕉久久| 91久久线看在观草草青青| 2欧美一区二区三区在线观看视频| 综合激情成人伊人| 国产一区二区三区不卡在线观看| 欧美三级资源在线| 一色屋精品亚洲香蕉网站| 久久国产日韩欧美精品| 欧美视频精品在线| 亚洲视频中文字幕| 高清不卡一区二区在线| 欧美岛国在线观看| 香港成人在线视频| 在线观看网站黄不卡| 中文字幕中文字幕一区二区 | eeuss鲁片一区二区三区在线观看 eeuss鲁片一区二区三区在线看 | 国产69精品久久777的优势| 欧美一级在线视频| 亚洲一区二区三区影院| 91免费版在线看| 国产精品色噜噜| 国产电影一区在线| 精品国产免费一区二区三区四区| 亚洲123区在线观看| 日本高清不卡在线观看| 中文字幕一区在线| 成人伦理片在线| 中文字幕二三区不卡| 高潮精品一区videoshd| 久久久99久久| 国产精品一区二区不卡| 欧美本精品男人aⅴ天堂| 青青草91视频| 欧美成人精品1314www| 蜜臀av一级做a爰片久久| 正在播放亚洲一区| 日韩电影在线免费| 91精品国产入口| 日本欧美一区二区在线观看| 欧美日韩成人综合在线一区二区| 亚洲午夜视频在线| 欧美男同性恋视频网站| 午夜精品久久久久影视| 在线播放/欧美激情| 日韩激情中文字幕| 91精品综合久久久久久| 奇米四色…亚洲| 26uuu欧美日本| 国产乱人伦偷精品视频免下载| 国产丝袜欧美中文另类| av网站一区二区三区| 亚洲欧美日韩国产一区二区三区| 色八戒一区二区三区| 亚洲午夜免费电影| 91精品国产色综合久久不卡蜜臀| 日韩激情一区二区| 欧美精品一区二| 欧美日韩中文国产| 日韩电影一区二区三区| 精品国产网站在线观看| 国产成人免费视| 椎名由奈av一区二区三区| 欧美视频在线一区二区三区 | 美国三级日本三级久久99| 久久久久久久久伊人| 成人免费黄色大片| 亚洲一区二区在线播放相泽| 欧美久久久久久蜜桃| 久久超级碰视频| 国产精品欧美一区二区三区| 91香蕉视频mp4| 日韩精品福利网| 欧美激情综合在线| 欧美三级一区二区| 日本中文字幕一区二区有限公司| 精品国产成人在线影院| 99久久精品免费| 日韩精品福利网| 国产精品欧美一区二区三区| 欧美日韩午夜在线视频| 国产河南妇女毛片精品久久久| 综合欧美一区二区三区| 欧美一级生活片| 91丨porny丨首页| 奇米色777欧美一区二区| 国产精品嫩草99a| 亚洲精品乱码久久久久久久久| 成人av动漫网站| 亚洲资源在线观看| 久久九九99视频| 欧美午夜精品久久久久久超碰| 久久66热re国产| 一区二区三区日韩精品视频| 日韩美女主播在线视频一区二区三区| 国产成人精品亚洲日本在线桃色 | 国产一区二区日韩精品| 一区二区在线观看免费视频播放| 欧美r级电影在线观看| 色婷婷国产精品| 国产精品911| 天堂蜜桃一区二区三区| 亚洲色图视频网| 欧美精品一区二区三区视频 | 久久久亚洲高清| 欧美日韩精品欧美日韩精品一综合| 国产麻豆一精品一av一免费 | 欧美精品一卡两卡| 美女www一区二区| aaa国产一区| 亚瑟在线精品视频| 亚洲欧洲日韩一区二区三区| 日韩欧美国产精品| 欧美日韩视频在线第一区| 成人免费电影视频| 国产精品一区久久久久| 婷婷久久综合九色国产成人| 国产精品灌醉下药二区| 久久久久久亚洲综合| 91精品国产aⅴ一区二区| 91福利在线观看| 99re视频这里只有精品| 国产91精品久久久久久久网曝门| 日韩1区2区日韩1区2区| 亚洲成a人片综合在线| 亚洲人精品午夜| 综合激情成人伊人| 欧美激情综合五月色丁香小说| 日韩欧美国产电影| 日韩欧美在线综合网| 欧美日韩精品久久久| 欧美日韩一区二区三区高清 | 欧美性生活一区| 91在线porny国产在线看| 国产69精品久久99不卡| 国产白丝精品91爽爽久久| 极品尤物av久久免费看| 美女久久久精品| 蜜桃一区二区三区在线观看| 视频一区欧美日韩|