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

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

?? gdkvisual-x11.c

?? linux下電話本所依賴的一些圖形庫
?? C
?? 第 1 頁 / 共 2 頁
字號:
/* GDK - The GIMP Drawing Kit * Copyright (C) 1995-1997 Peter Mattis, Spencer Kimball and Josh MacDonald * * 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. *//* * Modified by the GTK+ Team and others 1997-2000.  See the AUTHORS * file for a list of people on the GTK+ Team.  See the ChangeLog * files for a list of changes.  These files are distributed with * GTK+ at ftp://ftp.gtk.org/pub/gtk/.  */#include <config.h>#include <X11/Xlib.h>#include <X11/Xutil.h>#include "gdkx.h"#include "gdkvisual.h"#include "gdkprivate-x11.h"#include "gdkscreen-x11.h"#include "gdkinternals.h"#include "gdkalias.h"struct _GdkVisualClass{  GObjectClass parent_class;};static void     gdk_visual_add            (GdkVisual *visual);static void     gdk_visual_decompose_mask (gulong     mask,					   gint      *shift,					   gint      *prec);static guint    gdk_visual_hash           (Visual    *key);static gboolean gdk_visual_equal          (Visual    *a,					   Visual    *b);#ifdef G_ENABLE_DEBUGstatic const gchar *const visual_names[] ={  "static gray",  "grayscale",  "static color",  "pseudo color",  "true color",  "direct color",};#endif /* G_ENABLE_DEBUG */static voidgdk_visual_finalize (GObject *object){  g_error ("A GdkVisual object was finalized. This should not happen");}static voidgdk_visual_class_init (GObjectClass *class){  class->finalize = gdk_visual_finalize;}GTypegdk_visual_get_type (void){  static GType object_type = 0;  if (!object_type)    {      static const GTypeInfo object_info =      {        sizeof (GdkVisualClass),        (GBaseInitFunc) NULL,        (GBaseFinalizeFunc) NULL,        (GClassInitFunc) gdk_visual_class_init,        NULL,           /* class_finalize */        NULL,           /* class_data */        sizeof (GdkVisualPrivate),        0,              /* n_preallocs */        (GInstanceInitFunc) NULL,      };            object_type = g_type_register_static (G_TYPE_OBJECT,                                            "GdkVisual",                                            &object_info, 0);    }    return object_type;}void_gdk_visual_init (GdkScreen *screen){  static const gint possible_depths[7] = { 32, 24, 16, 15, 8, 4, 1 };  static const GdkVisualType possible_types[6] =    {      GDK_VISUAL_DIRECT_COLOR,      GDK_VISUAL_TRUE_COLOR,      GDK_VISUAL_PSEUDO_COLOR,      GDK_VISUAL_STATIC_COLOR,      GDK_VISUAL_GRAYSCALE,      GDK_VISUAL_STATIC_GRAY    };  GdkScreenX11 *screen_x11;  XVisualInfo *visual_list;  XVisualInfo visual_template;  GdkVisualPrivate *temp_visual;  Visual *default_xvisual;  GdkVisualPrivate **visuals;  int nxvisuals;  int nvisuals;  int i, j;    g_return_if_fail (GDK_IS_SCREEN (screen));  screen_x11 = GDK_SCREEN_X11 (screen);  visual_template.screen = screen_x11->screen_num;  visual_list = XGetVisualInfo (screen_x11->xdisplay, VisualScreenMask, &visual_template, &nxvisuals);    visuals = g_new (GdkVisualPrivate *, nxvisuals);  for (i = 0; i < nxvisuals; i++)    visuals[i] = g_object_new (GDK_TYPE_VISUAL, NULL);  default_xvisual = DefaultVisual (screen_x11->xdisplay, screen_x11->screen_num);  nvisuals = 0;  for (i = 0; i < nxvisuals; i++)    {      visuals[nvisuals]->screen = screen;            if (visual_list[i].depth >= 1)	{#ifdef __cplusplus	  switch (visual_list[i].c_class)#else /* __cplusplus */	  switch (visual_list[i].class)#endif /* __cplusplus */	    {	    case StaticGray:	      visuals[nvisuals]->visual.type = GDK_VISUAL_STATIC_GRAY;	      break;	    case GrayScale:	      visuals[nvisuals]->visual.type = GDK_VISUAL_GRAYSCALE;	      break;	    case StaticColor:	      visuals[nvisuals]->visual.type = GDK_VISUAL_STATIC_COLOR;	      break;	    case PseudoColor:	      visuals[nvisuals]->visual.type = GDK_VISUAL_PSEUDO_COLOR;	      break;	    case TrueColor:	      visuals[nvisuals]->visual.type = GDK_VISUAL_TRUE_COLOR;	      break;	    case DirectColor:	      visuals[nvisuals]->visual.type = GDK_VISUAL_DIRECT_COLOR;	      break;	    }	  visuals[nvisuals]->visual.depth = visual_list[i].depth;	  visuals[nvisuals]->visual.byte_order =	    (ImageByteOrder(screen_x11->xdisplay) == LSBFirst) ?	    GDK_LSB_FIRST : GDK_MSB_FIRST;	  visuals[nvisuals]->visual.red_mask = visual_list[i].red_mask;	  visuals[nvisuals]->visual.green_mask = visual_list[i].green_mask;	  visuals[nvisuals]->visual.blue_mask = visual_list[i].blue_mask;	  visuals[nvisuals]->visual.colormap_size = visual_list[i].colormap_size;	  visuals[nvisuals]->visual.bits_per_rgb = visual_list[i].bits_per_rgb;	  visuals[nvisuals]->xvisual = visual_list[i].visual;	  if ((visuals[nvisuals]->visual.type == GDK_VISUAL_TRUE_COLOR) ||	      (visuals[nvisuals]->visual.type == GDK_VISUAL_DIRECT_COLOR))	    {	      gdk_visual_decompose_mask (visuals[nvisuals]->visual.red_mask,					 &visuals[nvisuals]->visual.red_shift,					 &visuals[nvisuals]->visual.red_prec);	      gdk_visual_decompose_mask (visuals[nvisuals]->visual.green_mask,					 &visuals[nvisuals]->visual.green_shift,					 &visuals[nvisuals]->visual.green_prec);	      gdk_visual_decompose_mask (visuals[nvisuals]->visual.blue_mask,					 &visuals[nvisuals]->visual.blue_shift,					 &visuals[nvisuals]->visual.blue_prec);	    }	  else	    {	      visuals[nvisuals]->visual.red_mask = 0;	      visuals[nvisuals]->visual.red_shift = 0;	      visuals[nvisuals]->visual.red_prec = 0;	      visuals[nvisuals]->visual.green_mask = 0;	      visuals[nvisuals]->visual.green_shift = 0;	      visuals[nvisuals]->visual.green_prec = 0;	      visuals[nvisuals]->visual.blue_mask = 0;	      visuals[nvisuals]->visual.blue_shift = 0;	      visuals[nvisuals]->visual.blue_prec = 0;	    }	  	  nvisuals += 1;	}    }  if (visual_list)    XFree (visual_list);  for (i = 0; i < nvisuals; i++)    {      for (j = i+1; j < nvisuals; j++)	{	  if (visuals[j]->visual.depth >= visuals[i]->visual.depth)	    {	      if ((visuals[j]->visual.depth == 8) && (visuals[i]->visual.depth == 8))		{		  if (visuals[j]->visual.type == GDK_VISUAL_PSEUDO_COLOR)		    {		      temp_visual = visuals[j];		      visuals[j] = visuals[i];		      visuals[i] = temp_visual;		    }		  else if ((visuals[i]->visual.type != GDK_VISUAL_PSEUDO_COLOR) &&			   visuals[j]->visual.type > visuals[i]->visual.type)		    {		      temp_visual = visuals[j];		      visuals[j] = visuals[i];		      visuals[i] = temp_visual;		    }		}	      else if ((visuals[j]->visual.depth > visuals[i]->visual.depth) ||		       ((visuals[j]->visual.depth == visuals[i]->visual.depth) &&			(visuals[j]->visual.type > visuals[i]->visual.type)))		{		  temp_visual = visuals[j];		  visuals[j] = visuals[i];		  visuals[i] = temp_visual;		}	    }	}    }  for (i = 0; i < nvisuals; i++)    if (default_xvisual->visualid == visuals[i]->xvisual->visualid)      {	screen_x11->system_visual = visuals[i];	break;      }#ifdef G_ENABLE_DEBUG   if (_gdk_debug_flags & GDK_DEBUG_MISC)    for (i = 0; i < nvisuals; i++)      g_message ("visual: %s: %d",		 visual_names[visuals[i]->visual.type],		 visuals[i]->visual.depth);#endif /* G_ENABLE_DEBUG */  screen_x11->navailable_depths = 0;  for (i = 0; i < G_N_ELEMENTS (possible_depths); i++)    {      for (j = 0; j < nvisuals; j++)	{	  if (visuals[j]->visual.depth == possible_depths[i])	    {	      screen_x11->available_depths[screen_x11->navailable_depths++] = visuals[j]->visual.depth;	      break;	    }	}    }  if (screen_x11->navailable_depths == 0)    g_error ("unable to find a usable depth");  screen_x11->navailable_types = 0;  for (i = 0; i < G_N_ELEMENTS (possible_types); i++)    {      for (j = 0; j < nvisuals; j++)	{	  if (visuals[j]->visual.type == possible_types[i])	    {	      screen_x11->available_types[screen_x11->navailable_types++] = visuals[j]->visual.type;	      break;	    }	}    }  for (i = 0; i < nvisuals; i++)    gdk_visual_add ((GdkVisual*) visuals[i]);  if (screen_x11->navailable_types == 0)    g_error ("unable to find a usable visual type");  screen_x11->visuals = visuals;  screen_x11->nvisuals = nvisuals;}/** * gdk_visual_get_best_depth: *  * Get the best available depth for the default GDK screen.  "Best" * means "largest," i.e. 32 preferred over 24 preferred over 8 bits * per pixel. *  * Return value: best available depth **/gintgdk_visual_get_best_depth (void){  GdkScreen *screen = gdk_screen_get_default();    return GDK_SCREEN_X11 (screen)->available_depths[0];}/** * gdk_visual_get_best_type: *  * Return the best available visual type for the default GDK screen. *  * Return value: best visual type **/GdkVisualTypegdk_visual_get_best_type (void){

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
9191久久久久久久久久久| 大陆成人av片| 欧美精品一卡两卡| 美女在线观看视频一区二区| 欧美巨大另类极品videosbest | 国产日韩精品一区| 国产激情视频一区二区三区欧美 | 国产精品国产成人国产三级| 成人黄页在线观看| 亚洲视频在线观看一区| 欧美性感一区二区三区| 日韩成人免费在线| 国产亚洲欧洲997久久综合| 成人理论电影网| 亚洲精品亚洲人成人网在线播放| 欧美日韩视频在线第一区| 免费久久99精品国产| 国产亚洲美州欧州综合国| 91丨porny丨最新| 日韩不卡手机在线v区| 久久久久久久电影| 色综合久久久久综合99| 日本一区中文字幕| 日本一区二区动态图| 欧美午夜一区二区三区免费大片| 蓝色福利精品导航| 国产精品美女久久久久aⅴ国产馆| 91福利在线看| 国精产品一区一区三区mba桃花| 国产精品青草综合久久久久99| 欧美在线观看视频一区二区| 国产专区欧美精品| 亚洲激情五月婷婷| 久久综合久久久久88| 欧美亚洲综合网| 高清成人免费视频| 日韩精品视频网| 亚洲少妇中出一区| 欧美大片在线观看| 欧美日韩中文精品| 波多野结衣一区二区三区 | 国产精品羞羞答答xxdd| 亚洲午夜一区二区三区| 久久久久久久精| 在线播放欧美女士性生活| 波多野结衣视频一区| 国产一区二区三区在线观看免费 | 日本韩国视频一区二区| 国产精品一区二区三区99| 日日夜夜免费精品| 亚洲最大色网站| 中文字幕亚洲一区二区va在线| 日韩欧美在线1卡| 欧美丰满嫩嫩电影| 91浏览器入口在线观看| 高清视频一区二区| 国产精选一区二区三区| 看国产成人h片视频| 午夜亚洲福利老司机| 亚洲精品视频自拍| 亚洲视频每日更新| 中文字幕av一区 二区| 精品区一区二区| 欧美一区二区三区电影| 在线91免费看| 777色狠狠一区二区三区| 在线观看av一区| 欧美性生交片4| 欧美视频三区在线播放| 在线观看亚洲专区| 在线欧美小视频| 在线一区二区观看| 日本精品免费观看高清观看| 91麻豆6部合集magnet| 99久久国产综合精品女不卡| 99在线精品视频| 99久久精品久久久久久清纯| av中文字幕在线不卡| 99这里都是精品| 一本久久精品一区二区| 色一情一伦一子一伦一区| 色综合久久中文字幕| 欧美视频第二页| 欧美日韩另类国产亚洲欧美一级| 欧美性xxxxxx少妇| 欧美日韩亚洲高清一区二区| 欧美日韩夫妻久久| 欧美大片在线观看一区二区| 国产欧美视频一区二区| 中文字幕综合网| 亚洲一区二区三区美女| 男男gaygay亚洲| 从欧美一区二区三区| 色综合天天性综合| 91福利视频在线| 日韩欧美国产综合| 国产人妖乱国产精品人妖| 亚洲日本免费电影| 五月激情六月综合| 激情综合一区二区三区| 91亚洲精品乱码久久久久久蜜桃| 欧美三级欧美一级| www亚洲一区| 亚洲精品视频在线| 久久福利资源站| www.欧美日韩| 欧美高清你懂得| 久久精品夜色噜噜亚洲a∨| 5月丁香婷婷综合| 欧美成人欧美edvon| 国产精品亲子伦对白| 亚洲日本丝袜连裤袜办公室| 亚洲国产一区在线观看| 日本一道高清亚洲日美韩| 成人av在线电影| 91国偷自产一区二区使用方法| 欧美亚洲动漫另类| 欧美成人精品福利| 国产精品无人区| 无码av免费一区二区三区试看| 日本欧美大码aⅴ在线播放| 精品一区二区影视| www.综合网.com| 欧美日韩视频专区在线播放| 欧美人妖巨大在线| 中文字幕久久午夜不卡| 一区二区三区精品视频在线| 日韩制服丝袜av| 成人在线综合网| 欧美性受xxxx黑人xyx性爽| 日韩视频一区在线观看| 国产欧美日韩一区二区三区在线观看| 中文字幕高清不卡| 久久精品久久99精品久久| 波多野结衣中文字幕一区二区三区 | 欧美日韩国产经典色站一区二区三区| 欧美精品日韩一本| 亚洲人精品午夜| 久久99国产乱子伦精品免费| 99久久综合精品| 欧美一区二区日韩一区二区| 国产喂奶挤奶一区二区三区| 蜜桃av噜噜一区| 欧洲av一区二区嗯嗯嗯啊| 久久久国产综合精品女国产盗摄| 亚洲午夜羞羞片| 99久久国产免费看| 欧美va在线播放| 日韩电影免费一区| 91激情五月电影| 中文字幕巨乱亚洲| 久久精品国产一区二区三区免费看 | 亚洲国产欧美日韩另类综合| 国产在线精品视频| 91麻豆精品国产91久久久资源速度 | 美女一区二区在线观看| 欧美日韩精品免费| 自拍偷拍欧美精品| 国产精品99久久久| 欧美成人精品福利| 亚洲欧美精品午睡沙发| 色综合婷婷久久| 国产精品久久久久一区二区三区 | 黑人精品欧美一区二区蜜桃| 欧美在线不卡一区| 亚洲成a天堂v人片| 色老头久久综合| 国产精品久久久久影院| 国产精品一区二区免费不卡| 欧美精品一区二区三区四区 | 精品国偷自产国产一区| 日韩高清一区在线| 欧美日韩精品系列| 日韩和欧美的一区| 欧美老肥妇做.爰bbww| 亚洲午夜精品17c| 欧洲激情一区二区| 亚洲高清免费观看高清完整版在线观看| 91福利国产成人精品照片| 国产精品九色蝌蚪自拍| 97精品国产97久久久久久久久久久久| 久久蜜桃av一区二区天堂| 狠狠色丁香九九婷婷综合五月| www久久久久| 国产91色综合久久免费分享| 久久久夜色精品亚洲| 国产精品一区二区久久精品爱涩| 欧美一区二区三区视频免费 | 日韩视频不卡中文| 麻豆一区二区99久久久久| 欧美一区二区视频观看视频| 国产一区欧美日韩| 国产三级精品三级| 99视频有精品| 亚洲一区二区三区四区五区黄| 日韩一卡二卡三卡四卡| 极品少妇xxxx精品少妇偷拍| 国产欧美一区二区精品忘忧草 | 国产精品久久久久久久久晋中| 国产精品影音先锋|