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

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

?? gdkimage-x11.c

?? linux下電話本所依賴的一些圖形庫
?? C
?? 第 1 頁 / 共 2 頁
字號:
#ifdef USE_SHM    /* Future: do we need one of these per-screen per-image? ShmPixmaps   * are the same for every screen, but can they be shared? Not a concern   * right now since we tie images to a particular screen.   */  if (!private->shm_pixmap && image->type == GDK_IMAGE_SHARED &&       GDK_DISPLAY_X11 (display)->have_shm_pixmaps)    private->shm_pixmap = XShmCreatePixmap (GDK_SCREEN_XDISPLAY (private->screen),					    GDK_SCREEN_XROOTWIN (private->screen),					    image->mem, private->x_shm_info, 					    image->width, image->height, image->depth);  return private->shm_pixmap;#else  return None;#endif    }static GdkImage*get_full_image (GdkDrawable    *drawable,		gint            src_x,		gint            src_y,		gint            width,		gint            height){  GdkImage *image;  GdkImagePrivateX11 *private;  GdkDrawableImplX11 *impl;  XImage *ximage;  impl = GDK_DRAWABLE_IMPL_X11 (drawable);    ximage = XGetImage (GDK_SCREEN_XDISPLAY (impl->screen),		      impl->xid,		      src_x, src_y, width, height,		      AllPlanes, ZPixmap);    if (!ximage)    return NULL;    image = g_object_new (gdk_image_get_type (), NULL);    private = PRIVATE_DATA (image);    private->screen = impl->screen;  private->ximage = ximage;    image->type = GDK_IMAGE_NORMAL;  image->visual = gdk_drawable_get_visual (drawable); /* could be NULL */  image->width = width;  image->height = height;  image->depth = gdk_drawable_get_depth (drawable);    image->mem = private->ximage->data;  image->bpl = private->ximage->bytes_per_line;  image->bits_per_pixel = private->ximage->bits_per_pixel;  image->bpp = (private->ximage->bits_per_pixel + 7) / 8;  image->byte_order = (private->ximage->byte_order == LSBFirst) ? GDK_LSB_FIRST : GDK_MSB_FIRST;    return image;}GdkImage*_gdk_x11_copy_to_image (GdkDrawable    *drawable,			GdkImage       *image,			gint            src_x,			gint            src_y,			gint            dest_x,			gint            dest_y,			gint            width,			gint            height){  GdkImagePrivateX11 *private;  GdkDrawableImplX11 *impl;  GdkVisual *visual;  GdkDisplay *display;  Display *xdisplay;  gboolean have_grab;  GdkRectangle req;  GdkRectangle window_rect;  Pixmap shm_pixmap = None;  gboolean success = TRUE;    g_return_val_if_fail (GDK_IS_DRAWABLE_IMPL_X11 (drawable), NULL);  g_return_val_if_fail (image != NULL || (dest_x == 0 && dest_y == 0), NULL);  visual = gdk_drawable_get_visual (drawable);  impl = GDK_DRAWABLE_IMPL_X11 (drawable);  display = gdk_drawable_get_display (drawable);  xdisplay = gdk_x11_display_get_xdisplay (display);  if (display->closed)    return NULL;    have_grab = FALSE;#define UNGRAB() G_STMT_START {					\    if (have_grab) {						\      gdk_x11_display_ungrab (display);				\      have_grab = FALSE; }					\  } G_STMT_END  if (!image && !GDK_IS_WINDOW_IMPL_X11 (drawable))    return get_full_image (drawable, src_x, src_y, width, height);  if (image && image->type == GDK_IMAGE_SHARED)    {      shm_pixmap = _gdk_x11_image_get_shm_pixmap (image);      if (shm_pixmap)	{	  GC xgc;	  XGCValues values;	  /* Again easy, we can just XCopyArea, and don't have to worry about clipping	   */	  values.subwindow_mode = IncludeInferiors;	  xgc = XCreateGC (xdisplay, impl->xid, GCSubwindowMode, &values);	  	  XCopyArea (xdisplay, impl->xid, shm_pixmap, xgc,		     src_x, src_y, width, height, dest_x, dest_y);	  XSync (xdisplay, FALSE);	  	  XFreeGC (xdisplay, xgc);	  	  return image;	}    }  /* Now the general case - we may have to worry about clipping to the screen   * bounds, in which case we'll have to grab the server and only get a piece   * of the window.   */  if (GDK_IS_WINDOW_IMPL_X11 (drawable))    {      GdkRectangle screen_rect;      Window child;      have_grab = TRUE;      gdk_x11_display_grab (display);      /* Translate screen area into window coordinates */      XTranslateCoordinates (xdisplay,			     GDK_SCREEN_XROOTWIN (impl->screen),			     impl->xid,			     0, 0, 			     &screen_rect.x, &screen_rect.y, 			     &child);      screen_rect.width = gdk_screen_get_width (impl->screen);      screen_rect.height = gdk_screen_get_height (impl->screen);            gdk_error_trap_push ();      window_rect.x = 0;      window_rect.y = 0;            gdk_window_get_geometry (GDK_WINDOW (impl->wrapper),                               NULL, NULL,                               &window_rect.width,                               &window_rect.height,                               NULL);            /* compute intersection of screen and window, in window       * coordinates       */      if (gdk_error_trap_pop () ||          !gdk_rectangle_intersect (&window_rect, &screen_rect,                                     &window_rect))	goto out;    }  else    {      window_rect.x = 0;      window_rect.y = 0;      gdk_drawable_get_size (drawable,			     &window_rect.width,			     &window_rect.height);    }        req.x = src_x;  req.y = src_y;  req.width = width;  req.height = height;    /* window_rect specifies the part of drawable which we can get from   * the server in window coordinates.    * For pixmaps this is all of the pixmap, for windows it is just    * the onscreen part.   */  if (!gdk_rectangle_intersect (&req, &window_rect, &req))    goto out;  gdk_error_trap_push ();    if (!image &&      req.x == src_x && req.y == src_y && req.width == width && req.height == height)    {      image = get_full_image (drawable, src_x, src_y, width, height);      if (!image)	success = FALSE;    }  else    {      gboolean created_image = FALSE;            if (!image)	{	  image = _gdk_image_new_for_depth (impl->screen, GDK_IMAGE_NORMAL, 					    visual, width, height,					    gdk_drawable_get_depth (drawable));	  created_image = TRUE;	}      private = PRIVATE_DATA (image);      /* In the ShmImage but no ShmPixmap case, we could use XShmGetImage when       * we are getting the entire image.       */      if (XGetSubImage (xdisplay, impl->xid,			req.x, req.y, req.width, req.height,			AllPlanes, ZPixmap,			private->ximage,			dest_x + req.x - src_x, dest_y + req.y - src_y) == None)	{	  if (created_image)	    g_object_unref (image);	  image = NULL;	  success = FALSE;	}    }  gdk_error_trap_pop (); out:    if (have_grab)    {				      gdk_x11_display_ungrab (display);      have_grab = FALSE;    }    if (success && !image)    {      /* We "succeeded", but could get no content for the image so return junk */      image = _gdk_image_new_for_depth (impl->screen, GDK_IMAGE_NORMAL, 					visual, width, height,					gdk_drawable_get_depth (drawable));    }        return image;}guint32gdk_image_get_pixel (GdkImage *image,		     gint x,		     gint y){  guint32 pixel;  GdkImagePrivateX11 *private;  g_return_val_if_fail (GDK_IS_IMAGE (image), 0);  g_return_val_if_fail (x >= 0 && x < image->width, 0);  g_return_val_if_fail (y >= 0 && y < image->height, 0);  private = PRIVATE_DATA (image);  if (!private->screen->closed)    pixel = XGetPixel (private->ximage, x, y);  else    pixel = 0;  return pixel;}voidgdk_image_put_pixel (GdkImage *image,		     gint x,		     gint y,		     guint32 pixel){  GdkImagePrivateX11 *private;  g_return_if_fail (GDK_IS_IMAGE (image));  g_return_if_fail (x >= 0 && x < image->width);  g_return_if_fail (y >= 0 && y < image->height);  private = PRIVATE_DATA (image);  if (!private->screen->closed)    pixel = XPutPixel (private->ximage, x, y, pixel);}static voidgdk_x11_image_destroy (GdkImage *image){  GdkImagePrivateX11 *private;#ifdef USE_SHM  XShmSegmentInfo *x_shm_info;#endif /* USE_SHM */  g_return_if_fail (GDK_IS_IMAGE (image));  private = PRIVATE_DATA (image);  if (private == NULL) /* This means that _gdk_image_exit() destroyed the                        * image already, and now we're called a second                        * time from _finalize()                        */    return;  if (private->ximage)		/* Deal with failure of creation */    {      switch (image->type)	{	case GDK_IMAGE_NORMAL:	  if (!private->screen->closed)	    XDestroyImage (private->ximage);	  break;	  	case GDK_IMAGE_SHARED:#ifdef USE_SHM	  if (!private->screen->closed)	    {	      gdk_display_sync (GDK_SCREEN_DISPLAY (private->screen));	      if (private->shm_pixmap)		XFreePixmap (GDK_SCREEN_XDISPLAY (private->screen), private->shm_pixmap);	  	  	      XShmDetach (GDK_SCREEN_XDISPLAY (private->screen), private->x_shm_info);	      XDestroyImage (private->ximage);	    }	  	  image_list = g_list_remove (image_list, image);	  x_shm_info = private->x_shm_info;	  shmdt (x_shm_info->shmaddr);	  	  g_free (private->x_shm_info);	  private->x_shm_info = NULL;#else /* USE_SHM */	  g_error ("trying to destroy shared memory image when gdk was compiled without shared memory support");#endif /* USE_SHM */	  break;	  	case GDK_IMAGE_FASTEST:	  g_assert_not_reached ();	}    }  g_free (private);  image->windowing_data = NULL;}/** * gdk_x11_image_get_xdisplay: * @image: a #GdkImage. *  * Returns the display of a #GdkImage. *  * Return value: an Xlib <type>Display*</type>. **/Display *gdk_x11_image_get_xdisplay (GdkImage *image){  GdkImagePrivateX11 *private;  g_return_val_if_fail (GDK_IS_IMAGE (image), NULL);  private = PRIVATE_DATA (image);  return GDK_SCREEN_XDISPLAY (private->screen);}/** * gdk_x11_image_get_ximage: * @image: a #GdkImage. *  * Returns the X image belonging to a #GdkImage. *  * Return value: an <type>XImage*</type>. **/XImage *gdk_x11_image_get_ximage (GdkImage *image){  GdkImagePrivateX11 *private;  g_return_val_if_fail (GDK_IS_IMAGE (image), NULL);  private = PRIVATE_DATA (image);  if (private->screen->closed)    return NULL;  else    return private->ximage;}gint_gdk_windowing_get_bits_for_depth (GdkDisplay *display,				   gint        depth){  XPixmapFormatValues *formats;  gint count, i;  formats = XListPixmapFormats (GDK_DISPLAY_XDISPLAY (display), &count);    for (i = 0; i < count; i++)    if (formats[i].depth == depth)      {	gint result = formats[i].bits_per_pixel;	XFree (formats);	return result;      }  g_assert_not_reached ();  return -1;}#define __GDK_IMAGE_X11_C__#include "gdkaliasdef.c"

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
自拍偷在线精品自拍偷无码专区 | 亚洲啪啪综合av一区二区三区| 9191精品国产综合久久久久久| 99久久国产综合精品麻豆| 国产又黄又大久久| 国产成人小视频| av一区二区三区黑人| av成人免费在线| 欧美三日本三级三级在线播放| 91麻豆高清视频| 欧美日本一区二区在线观看| 欧美夫妻性生活| 久久午夜羞羞影院免费观看| 国产色产综合产在线视频| 国产欧美一区在线| 亚洲免费成人av| 日韩中文字幕亚洲一区二区va在线| 日本最新不卡在线| 国产精品亚洲午夜一区二区三区| 91亚洲精华国产精华精华液| 欧美日韩国产一级| 26uuu欧美| 亚洲欧美另类小说| 日本午夜一本久久久综合| 国产原创一区二区| 在线看日韩精品电影| 日韩免费高清av| 国产欧美日产一区| 亚洲永久免费视频| 极品少妇一区二区| 在线精品观看国产| 久久精品视频免费观看| 一区二区三区精品视频在线| 极品少妇xxxx精品少妇| 色噜噜狠狠成人中文综合| 欧美一区二区三区色| 国产精品久久久久久户外露出| 亚洲成人先锋电影| 成人黄色软件下载| 欧美一级久久久| 一级中文字幕一区二区| 国内外成人在线| 欧美日韩免费观看一区三区| 国产欧美精品一区二区色综合 | 欧美videos大乳护士334| 国产精品日产欧美久久久久| 午夜a成v人精品| 成人黄色av网站在线| 精品国产污网站| 五月天激情综合| 在线观看日韩精品| 国产精品久久久久久福利一牛影视 | 麻豆精品一区二区三区| 91国产成人在线| 国产精品视频一二| 国产在线精品一区二区夜色| 欧美午夜电影网| 亚洲三级在线免费观看| 丁香六月久久综合狠狠色| 91精品国产综合久久香蕉麻豆 | 国产亚洲婷婷免费| 精品一区二区免费看| 欧美日韩精品欧美日韩精品一综合| 中文字幕国产一区二区| 成人性生交大片免费看中文 | 日本一区二区三级电影在线观看| 美女视频黄 久久| 69久久99精品久久久久婷婷 | 欧美变态凌虐bdsm| 三级久久三级久久| 欧美日韩精品一区二区天天拍小说| 国产精品不卡视频| 91在线视频官网| 中文字幕巨乱亚洲| 99精品欧美一区| 亚洲美腿欧美偷拍| 在线亚洲精品福利网址导航| 亚洲午夜精品网| 欧美日韩亚洲综合一区| 亚洲r级在线视频| 8v天堂国产在线一区二区| 日韩精品五月天| 精品免费一区二区三区| 国产一区激情在线| 国产婷婷一区二区| 色94色欧美sute亚洲线路一ni| 亚洲码国产岛国毛片在线| 日本高清视频一区二区| 天堂成人免费av电影一区| 日韩亚洲欧美成人一区| 国产精品中文字幕欧美| 国产精品超碰97尤物18| 欧美午夜电影在线播放| 久久精品国产色蜜蜜麻豆| 国产亚洲欧美色| 91免费视频网| 丝袜脚交一区二区| 久久色在线观看| 色综合一个色综合亚洲| 日韩一区二区电影在线| 国产麻豆精品视频| 亚洲男人的天堂在线观看| 在线电影欧美成精品| 国产美女精品在线| 亚洲资源中文字幕| 精品不卡在线视频| 色狠狠av一区二区三区| 久久成人av少妇免费| 亚洲日穴在线视频| 欧美草草影院在线视频| 色爱区综合激月婷婷| 久久国产福利国产秒拍| 伊人色综合久久天天人手人婷| 日韩三级伦理片妻子的秘密按摩| jiyouzz国产精品久久| 日韩在线观看一区二区| 国产精品视频线看| 日韩一区二区三区四区| 97精品国产露脸对白| 精品一区二区在线看| 亚洲与欧洲av电影| 国产精品久久久久久久久久免费看| 欧美高清hd18日本| 成人h版在线观看| 国内久久婷婷综合| 麻豆精品一区二区| 亚洲第一在线综合网站| **欧美大码日韩| 国产亚洲成av人在线观看导航| 欧美老女人在线| 欧美亚男人的天堂| 不卡视频一二三四| 国产一区二区三区精品欧美日韩一区二区三区 | 国产精品久久久久一区二区三区| 51久久夜色精品国产麻豆| 一本大道久久a久久综合婷婷| 国产米奇在线777精品观看| 丝袜国产日韩另类美女| 亚洲一区二区三区在线播放| 中文字幕亚洲成人| 中文字幕va一区二区三区| 久久久久久久久久久99999| 欧美大片顶级少妇| 91精品国产综合久久久久| 欧美日韩国产免费一区二区| 欧美羞羞免费网站| 欧美视频在线一区| 欧美性受xxxx| 欧美在线播放高清精品| 一本色道久久综合亚洲91| 色综合天天综合给合国产| 91免费版在线看| 色香色香欲天天天影视综合网| 国产不卡在线视频| av激情亚洲男人天堂| 一本久久a久久精品亚洲| 色综合欧美在线视频区| 欧美性感一区二区三区| 欧美日韩一区二区在线观看| 在线不卡的av| 精品精品国产高清一毛片一天堂| 精品粉嫩超白一线天av| 国产亲近乱来精品视频| 中文av一区二区| 一区二区三区丝袜| 三级久久三级久久| 国内精品伊人久久久久av影院| 久久99国产乱子伦精品免费| 国产精品小仙女| 91麻豆文化传媒在线观看| 欧洲一区二区三区在线| 666欧美在线视频| 亚洲国产精品精华液ab| 亚洲美女屁股眼交| 麻豆精品国产传媒mv男同| 国产成人精品综合在线观看| 日本高清成人免费播放| 欧美一区二区精美| 国产精品每日更新| 日本美女一区二区三区| 国产高清成人在线| 欧美性xxxxxxxx| 精品国产三级a在线观看| 亚洲欧美日韩精品久久久久| 秋霞成人午夜伦在线观看| 不卡视频一二三四| 日韩亚洲欧美综合| 亚洲狠狠丁香婷婷综合久久久| 日本欧美在线观看| 91在线观看免费视频| 欧美一区二区三区在线观看视频| 国产校园另类小说区| 日韩精品三区四区| 色婷婷精品大在线视频| 欧美精品一区二区精品网| 一区二区三区在线免费播放| 国产精品18久久久久| 欧美精品在线视频| 亚洲男人的天堂av| 成人免费观看男女羞羞视频|