亚洲欧美第一页_禁久久精品乱码_粉嫩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一区二区三区免费野_久草精品视频
26uuu国产电影一区二区| 国产成人在线看| 国产精品白丝在线| 国产拍欧美日韩视频二区| 欧美精品一二三| 欧美综合天天夜夜久久| 成人精品小蝌蚪| 成人免费视频一区二区| 99视频一区二区| 99精品欧美一区二区蜜桃免费| 东方欧美亚洲色图在线| 国产98色在线|日韩| 成人精品高清在线| 99久久国产综合精品麻豆| 成人免费av在线| 91在线码无精品| 欧美日韩免费观看一区三区| 欧美绝品在线观看成人午夜影视| 91精品国产91久久久久久一区二区| 欧美一区三区四区| 欧美精品一区二区三区久久久| 国产亚洲精品免费| 欧美激情综合在线| 亚洲人妖av一区二区| 一二三四区精品视频| 免费在线看成人av| 国产精品一卡二卡在线观看| av电影在线观看不卡| 欧美日韩久久久一区| 欧美精品一区二区高清在线观看| 中文字幕高清不卡| 亚洲国产精品尤物yw在线观看| 婷婷国产在线综合| 国产精品影视网| 色狠狠一区二区| 欧美大片拔萝卜| 亚洲色图色小说| 久久国产人妖系列| 一本一道久久a久久精品| 欧美精品日韩一区| 国产精品免费久久| 日韩成人dvd| 99在线视频精品| 精品少妇一区二区三区免费观看| 中文字幕一区二区三区色视频| 日韩av中文字幕一区二区| 成人在线视频一区| 91精品国产手机| 亚洲丝袜另类动漫二区| 美女视频免费一区| 色老汉av一区二区三区| 久久久噜噜噜久久人人看| 亚洲香肠在线观看| 夫妻av一区二区| 日韩欧美色综合网站| 黄色小说综合网站| 日本精品视频一区二区| 色婷婷综合久久久久中文一区二区| 国产91高潮流白浆在线麻豆 | 国产自产视频一区二区三区| 99r国产精品| 亚洲一区二区偷拍精品| 欧美狂野另类xxxxoooo| 日本成人中文字幕在线视频| 精品黑人一区二区三区久久| 国产成人av在线影院| 亚洲欧美日韩系列| 91精品蜜臀在线一区尤物| 国产乱码字幕精品高清av| 国产精品网站在线| 欧美视频在线一区| 国产一区二区三区四区在线观看| 中文字幕不卡三区| 欧美日韩中字一区| 国产福利一区二区三区| 亚洲成人精品影院| 久久久国产精品麻豆 | 紧缚奴在线一区二区三区| 国产精品午夜免费| 欧美片网站yy| 成人手机电影网| 日韩精品一二三| 国产精品久久久久永久免费观看 | 韩国v欧美v日本v亚洲v| 亚洲人成在线观看一区二区| 精品成人私密视频| 欧美欧美午夜aⅴ在线观看| 成人午夜精品在线| 久久国产夜色精品鲁鲁99| 伊人夜夜躁av伊人久久| 久久精品日韩一区二区三区| 欧美人动与zoxxxx乱| 91影视在线播放| 久久99国产精品免费网站| 亚洲永久免费视频| 国产精品无码永久免费888| 91精品国产综合久久久久久漫画| 91在线精品一区二区| 国产精品亚洲成人| 日本美女一区二区三区| 亚洲自拍偷拍九九九| 国产精品素人一区二区| 欧美成人vps| 5月丁香婷婷综合| 在线视频一区二区三区| 成人a级免费电影| 国产精品18久久久久久久久久久久| 午夜国产精品影院在线观看| 一区二区三区在线看| 中文字幕一区二区三区乱码在线| 国产清纯在线一区二区www| 日韩女优视频免费观看| 欧美一级免费大片| 91精品国产91久久久久久最新毛片 | 69精品人人人人| 欧洲激情一区二区| 91在线高清观看| 99久久亚洲一区二区三区青草 | 国产蜜臀97一区二区三区| 精品国产污污免费网站入口 | 成人a级免费电影| 国产成人精品aa毛片| 国产精品99久久久久久宅男| 激情五月激情综合网| 久久精品久久99精品久久| 日韩国产一二三区| 免费欧美在线视频| 国产综合色在线视频区| 狠狠色丁香久久婷婷综| 国产精品一区二区无线| 国产黑丝在线一区二区三区| 粉嫩高潮美女一区二区三区| 不卡的av在线播放| 色视频成人在线观看免| 91久久国产综合久久| 欧美色图天堂网| 91精品欧美久久久久久动漫| 日韩精品一区二区三区四区视频 | 夜夜操天天操亚洲| 婷婷综合五月天| 精品在线免费观看| 丁香一区二区三区| 91久久精品一区二区三区| 在线电影欧美成精品| 精品国精品国产尤物美女| 中文字幕不卡在线| 午夜日韩在线观看| 精品一区二区三区视频在线观看| 国产精品456露脸| 91女厕偷拍女厕偷拍高清| 在线成人小视频| 国产网站一区二区三区| 亚洲男女一区二区三区| 免费成人在线观看视频| 成人黄动漫网站免费app| 欧洲亚洲国产日韩| 久久综合色8888| 亚洲视频狠狠干| 青青草97国产精品免费观看| 成人美女在线视频| 在线不卡免费av| 亚洲国产岛国毛片在线| 亚洲v日本v欧美v久久精品| 国产呦精品一区二区三区网站| 91高清视频在线| 国产婷婷色一区二区三区四区| 亚洲一线二线三线视频| 国产999精品久久| 欧美一区二区二区| 一区二区视频在线| 国产成人在线色| 日韩欧美精品在线| 一个色综合网站| 成人伦理片在线| 精品国产91洋老外米糕| 亚洲一二三区不卡| 成人高清视频在线| 欧美一区二区三区免费大片| 亚洲免费毛片网站| 懂色中文一区二区在线播放| 91精品国产综合久久久久| 亚洲天堂2014| 成人18视频在线播放| 久久亚洲欧美国产精品乐播 | 日韩一区和二区| 亚洲综合色成人| 91亚洲资源网| 日本一区二区三区dvd视频在线| 日本不卡一二三区黄网| 欧美在线视频日韩| 亚洲视频一区二区在线| 丰满少妇久久久久久久| 2023国产精品| 韩国成人在线视频| 精品国产乱码久久| 精品亚洲国内自在自线福利| 欧美一级黄色录像| 久久精工是国产品牌吗| 91精品国产综合久久国产大片| 五月婷婷欧美视频|