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

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

?? gdkcolor-fb.c

?? linux下電話本所依賴的一些圖形庫
?? C
?? 第 1 頁 / 共 2 頁
字號:
      && colormap->visual->type != GDK_VISUAL_PSEUDO_COLOR)    return FALSE;  *ret = *color;    gdk_fb_color_round_to_hw (ret);  for (i = 0; i<colormap->size; i++)    {      if (!(private->info[i].flags & GDK_COLOR_WRITEABLE) &&	  (ret->red == colormap->colors[i].red) &&	  (ret->green == colormap->colors[i].green) &&	  (ret->blue == colormap->colors[i].blue))	{	  ret->pixel = i;	  colormap->colors[i].pixel = i;	  if (private->info[i].ref_count == 0)	    g_hash_table_insert (private->hash,				 &colormap->colors[ret->pixel],				 &colormap->colors[ret->pixel]);	  private->info[i].ref_count++;	  return TRUE;	}    }  for (i = 0; i<colormap->size; i++)    {      if (private->info[i].ref_count==0)	{	  guint16 red = color->red, green = color->green, blue = color->blue;	  struct fb_cmap fbc;	  	  fbc.len = 1;	  fbc.start = i;	  fbc.red = &red;	  fbc.green = &green;	  fbc.blue = &blue;	  ioctl (gdk_display->fb_fd, FBIOPUTCMAP, &fbc);	  ret->pixel = i;	  colormap->colors[ret->pixel] = *ret;	  private->info[ret->pixel].ref_count = 1;	  g_hash_table_insert (private->hash,			       &colormap->colors[ret->pixel],			       &colormap->colors[ret->pixel]);	  return TRUE;	}    }        return FALSE;}static gintgdk_colormap_alloc_colors_shared (GdkColormap *colormap,				  GdkColor    *colors,				  gint         ncolors,				  gboolean     writeable,				  gboolean     best_match,				  gboolean    *success){  GdkColormapPrivateFB *private;  gint i, index;  gint nremaining = 0;  gint nfailed = 0;  private = GDK_COLORMAP_PRIVATE_DATA (colormap);  index = -1;  for (i = 0; i < ncolors; i++)    {      if (!success[i])	{	  if (gdk_colormap_alloc1 (colormap, &colors[i], &colors[i]))	    success[i] = TRUE;	  else	    nremaining++;	}    }  if (nremaining > 0 && best_match)    {      gchar *available = g_new (gchar, colormap->size);      for (i = 0; i < colormap->size; i++)	available[i] = ((private->info[i].ref_count == 0) ||			!(private->info[i].flags & GDK_COLOR_WRITEABLE));            while (nremaining > 0)	{	  for (i = 0; i < ncolors; i++)	    {	      if (!success[i])		{		  index = gdk_colormap_match_color (colormap, &colors[i], available);		  if (index != -1)		    {		      if (private->info[index].ref_count)			{			  private->info[index].ref_count++;			  colors[i] = colormap->colors[index];			  success[i] = TRUE;			  nremaining--;			}		      else			{			  if (gdk_colormap_alloc1 (colormap, 						   &colormap->colors[index],						   &colors[i]))			    {			      success[i] = TRUE;			      nremaining--;			      break;			    }			  else			    {			      available[index] = FALSE;			    }			}		    }		  else		    {		      nfailed++;		      nremaining--;		      success[i] = 2; /* flag as permanent failure */		    }		}	    }	}      g_free (available);    }  /* Change back the values we flagged as permanent failures */  if (nfailed > 0)    {      for (i = 0; i < ncolors; i++)	if (success[i] == 2)	  success[i] = FALSE;      nremaining = nfailed;    }    return (ncolors - nremaining);}static gintgdk_colormap_alloc_colors_pseudocolor (GdkColormap *colormap,				       GdkColor    *colors,				       gint         ncolors,				       gboolean     writeable,				       gboolean     best_match,				       gboolean    *success){  GdkColormapPrivateFB *private;  GdkColor *lookup_color;  gint i;  gint nremaining = 0;  private = GDK_COLORMAP_PRIVATE_DATA (colormap);  /* Check for an exact match among previously allocated colors */  for (i = 0; i < ncolors; i++)    {      if (!success[i])	{	  lookup_color = g_hash_table_lookup (private->hash, &colors[i]);	  if (lookup_color)	    {	      private->info[lookup_color->pixel].ref_count++;	      colors[i].pixel = lookup_color->pixel;	      success[i] = TRUE;	    }	  else	    nremaining++;	}    }  /* If that failed, we try to allocate a new color, or approxmiate   * with what we can get if best_match is TRUE.   */  if (nremaining > 0)    return gdk_colormap_alloc_colors_shared (colormap, colors, ncolors, writeable, best_match, success);  else    return 0;}gintgdk_colormap_alloc_colors (GdkColormap *colormap,			   GdkColor    *colors,			   gint         ncolors,			   gboolean     writeable,			   gboolean     best_match,			   gboolean    *success){  GdkColormapPrivateFB *private;  GdkVisual *visual;  gint i;  gint nremaining = 0;  g_return_val_if_fail (colormap != NULL, FALSE);  g_return_val_if_fail (colors != NULL, FALSE);  private = GDK_COLORMAP_PRIVATE_DATA (colormap);  for (i = 0; i < ncolors; i++)    success[i] = FALSE;  visual = colormap->visual;  switch (visual->type)    {    case GDK_VISUAL_PSEUDO_COLOR:    case GDK_VISUAL_GRAYSCALE:    case GDK_VISUAL_STATIC_GRAY:    case GDK_VISUAL_STATIC_COLOR:      return gdk_colormap_alloc_colors_pseudocolor (colormap, colors, ncolors,						    writeable, best_match, success);      break;    case GDK_VISUAL_DIRECT_COLOR:    case GDK_VISUAL_TRUE_COLOR:      for (i = 0; i < ncolors; i++)	{	  colors[i].pixel = (((colors[i].red >> (16 - visual->red_prec)) << visual->red_shift) +			     ((colors[i].green >> (16 - visual->green_prec)) << visual->green_shift) +			     ((colors[i].blue >> (16 - visual->blue_prec)) << visual->blue_shift));	  success[i] = TRUE;	}      break;    }  return nremaining;}gbooleangdk_color_change (GdkColormap *colormap,		  GdkColor    *color){  GdkColormapPrivateFB *private;  struct fb_cmap fbc = {0, 1};  g_return_val_if_fail (colormap != NULL, FALSE);  g_return_val_if_fail (color != NULL, FALSE);  private = GDK_COLORMAP_PRIVATE_DATA (colormap);  switch(colormap->visual->type)    {    case GDK_VISUAL_GRAYSCALE:      color->red = color->green = color->blue = (color->red + color->green + color->blue)/3;      /* Fall through */    case GDK_VISUAL_PSEUDO_COLOR:      colormap->colors[color->pixel] = *color;            fbc.start = color->pixel;      fbc.red = &color->red;      fbc.green = &color->green;      fbc.blue = &color->blue;      ioctl (gdk_display->fb_fd, FBIOPUTCMAP, &fbc);      break;    default:      break;    }  return TRUE;}static gintgdk_colormap_match_color (GdkColormap *cmap,			  GdkColor    *color,			  const gchar *available){  GdkColor *colors;  guint sum, max;  gint rdiff, gdiff, bdiff;  gint i, index;  g_return_val_if_fail (cmap != NULL, 0);  g_return_val_if_fail (color != NULL, 0);  colors = cmap->colors;  max = 3 * (65536);  index = -1;  for (i = 0; i < cmap->size; i++)    {      if ((!available) || (available && available[i]))	{	  rdiff = (color->red - colors[i].red);	  gdiff = (color->green - colors[i].green);	  bdiff = (color->blue - colors[i].blue);	  sum = ABS (rdiff) + ABS (gdiff) + ABS (bdiff);	  if (sum < max)	    {	      index = i;	      max = sum;	    }	}    }  return index;}gbooleangdk_colors_alloc (GdkColormap	*colormap,		  gboolean 	 contiguous,		  gulong	*planes,		  gint		 nplanes,		  gulong	*pixels,		  gint		 npixels){  GdkColormapPrivateFB *private;  gint found, i, col;  g_return_val_if_fail (colormap != NULL, FALSE);  private = GDK_COLORMAP_PRIVATE_DATA (colormap);    if (nplanes > 0)    return FALSE;  found = 0;  for (i = 1; i < colormap->size; i++)    {      if (private->info[i].ref_count == 0)	{	  found++;	  if (found >= npixels)	    break;	}    }  if (found < npixels)    return FALSE;  col = 0;  for (i = 1; i < colormap->size; i++)    {      if (private->info[i].ref_count == 0)	{	  pixels[col++] = i;	  private->info[i].ref_count++;	  private->info[i].flags |= GDK_COLOR_WRITEABLE;	  if (col == npixels)	    return TRUE;	}    }  g_assert_not_reached ();  return FALSE;}voidgdk_colors_free	(GdkColormap	*colormap,		 gulong		*pixels,		 gint		 npixels,		 gulong	 	 planes){  GdkColormapPrivateFB *private;  gint i, pixel;  g_return_if_fail (colormap != NULL);  if ((colormap->visual->type != GDK_VISUAL_PSEUDO_COLOR) &&      (colormap->visual->type != GDK_VISUAL_GRAYSCALE))    return;    private = GDK_COLORMAP_PRIVATE_DATA (colormap);    for (i = 0; i < npixels; i++)    {      pixel = pixels[i];            if (private->info[pixel].ref_count)	{	  private->info[pixel].ref_count--;	  if (private->info[pixel].ref_count == 0)	    {	      if (!(private->info[pixel].flags & GDK_COLOR_WRITEABLE))		g_hash_table_remove (private->hash, &colormap->colors[pixel]);	      private->info[pixel].flags = 0;	    }	}    }}voidgdk_colormap_query_color (GdkColormap *colormap,			  gulong       pixel,			  GdkColor    *result){  GdkVisual *visual;  g_return_if_fail (GDK_IS_COLORMAP (colormap));    visual = gdk_colormap_get_visual (colormap);  switch (visual->type)    {    case GDK_VISUAL_DIRECT_COLOR:    case GDK_VISUAL_TRUE_COLOR:      result->red = 65535. * (gdouble) ((pixel & visual->red_mask) >> visual->red_shift) / ((1 << visual->red_prec) - 1);      result->green = 65535. * (gdouble) ((pixel & visual->green_mask) >> visual->green_shift) / ((1 << visual->green_prec) - 1);      result->blue = 65535. * (gdouble) ((pixel & visual->blue_mask) >> visual->blue_shift) / ((1 << visual->blue_prec) - 1);      break;    case GDK_VISUAL_STATIC_GRAY:    case GDK_VISUAL_GRAYSCALE:      result->red = result->green = result->blue = 65535. * (double)pixel/((1<<visual->depth) - 1);      break;    case GDK_VISUAL_PSEUDO_COLOR:      result->red = colormap->colors[pixel].red;      result->green = colormap->colors[pixel].green;      result->blue = colormap->colors[pixel].blue;      break;    default:      g_assert_not_reached ();      break;    }}GdkScreen*gdk_colormap_get_screen (GdkColormap *cmap){  g_return_val_if_fail (cmap != NULL, NULL);  return gdk_screen_get_default ();}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产一区二区三区电影在线观看| 波多野结衣中文字幕一区| 国产一区91精品张津瑜| 成人污污视频在线观看| 在线电影国产精品| 一区在线播放视频| 久久精品理论片| 欧美日韩精品一区视频| 国产精品麻豆网站| 精品一区二区三区视频在线观看| 色婷婷av一区二区三区软件| 久久九九久精品国产免费直播| 日韩成人免费电影| 91免费视频网址| 久久精品在这里| 美女视频一区二区三区| 欧美性一二三区| 一区二区三区在线免费| 成人黄色国产精品网站大全在线免费观看 | 91麻豆精品国产91久久久更新时间| 国产日韩影视精品| 精品中文字幕一区二区小辣椒| 欧美色爱综合网| 亚洲狠狠丁香婷婷综合久久久| 国产91富婆露脸刺激对白| 2021久久国产精品不只是精品| 日韩精品一级二级| 欧美精品在线观看播放| 亚洲亚洲精品在线观看| 在线看日本不卡| 夜夜操天天操亚洲| 欧美少妇性性性| 午夜精品一区在线观看| 欧美午夜精品一区二区蜜桃 | 久久久高清一区二区三区| 美女尤物国产一区| 5月丁香婷婷综合| 天堂在线一区二区| 日韩亚洲欧美在线观看| 青青草97国产精品免费观看 | 精品一区二区三区欧美| 欧美成人一区二区| 国产一区二区不卡在线| 久久久久久久久久久黄色| 夫妻av一区二区| 中文字幕在线不卡一区| 91免费观看在线| 伊人婷婷欧美激情| 欧美人妖巨大在线| 免费观看日韩av| 久久免费美女视频| 成人小视频在线| 亚洲三级电影网站| 欧美视频在线播放| 久久精品国产成人一区二区三区 | 樱桃国产成人精品视频| 欧美在线free| 久久99久久99小草精品免视看| 久久久精品国产99久久精品芒果| 成人免费观看男女羞羞视频| 亚洲精品乱码久久久久久黑人| 欧美日韩精品欧美日韩精品一综合| 日韩不卡一区二区三区| 久久精品视频在线看| 色婷婷综合久久久| 麻豆成人在线观看| 亚洲欧洲成人自拍| 日韩视频在线观看一区二区| 国产成人av一区二区三区在线 | 国产午夜精品一区二区三区嫩草 | 欧美日韩国产系列| 狠狠色综合日日| 亚洲欧洲另类国产综合| 欧美欧美午夜aⅴ在线观看| 国产精品一区在线| 亚洲一区二区三区四区在线免费观看 | 91看片淫黄大片一级在线观看| 亚洲二区在线视频| 中国色在线观看另类| 欧美日韩视频在线一区二区| 国产成人午夜精品影院观看视频| 亚洲成人动漫在线观看| 国产欧美日韩在线观看| 欧美日韩www| av影院午夜一区| 国产在线精品一区二区不卡了 | 国产自产高清不卡| 亚洲一区二区三区四区的 | 亚洲一级在线观看| 国产日韩高清在线| 日韩午夜激情av| 欧美日韩精品是欧美日韩精品| 不卡一区二区在线| 国产一区二区三区免费观看| 五月天激情综合网| 亚洲伦在线观看| 欧美国产欧美综合| 欧美mv日韩mv| 日韩视频在线永久播放| 欧美午夜精品一区二区三区| 91免费看片在线观看| 丁香天五香天堂综合| 精品一区二区三区的国产在线播放 | 91伊人久久大香线蕉| 久久精品国产免费| 日韩精品一级中文字幕精品视频免费观看 | 日韩电影在线免费观看| 亚洲图片一区二区| 一区二区欧美精品| 亚洲一区二区在线观看视频| 亚洲女人小视频在线观看| 国产清纯白嫩初高生在线观看91 | 制服.丝袜.亚洲.中文.综合| 91精彩视频在线观看| 99精品欧美一区二区蜜桃免费| 国产成人丝袜美腿| 国产黄色成人av| 国产东北露脸精品视频| 国产成人av电影在线播放| 国产成人日日夜夜| 成人影视亚洲图片在线| 国产成人综合网| 成人h动漫精品一区二区| 成人黄色在线看| 在线观看三级视频欧美| 在线免费一区三区| 欧美日韩国产精选| 91精品在线观看入口| 精品少妇一区二区三区在线视频| 亚洲精品在线观看视频| 国产欧美视频一区二区| 亚洲日本乱码在线观看| 亚洲欧美日韩在线| 亚洲国产一区二区三区青草影视| 久久99久久99精品免视看婷婷 | 色国产精品一区在线观看| 一本到一区二区三区| 欧美三级日韩三级| 欧美成人性福生活免费看| 中文字幕精品一区二区精品绿巨人 | 欧美aaaaa成人免费观看视频| 韩国欧美国产1区| 成人高清视频在线| 欧美色老头old∨ideo| 精品国精品国产| 亚洲欧美在线观看| 亚洲gay无套男同| 国产一区三区三区| 一本色道久久综合亚洲91| 欧美一级片在线| 国产精品你懂的在线欣赏| 亚洲国产精品一区二区尤物区| 久久99久久久欧美国产| 成人福利视频在线看| 欧美日韩国产另类一区| 国产午夜精品一区二区三区四区 | 激情文学综合丁香| 91麻豆国产精品久久| 日韩美女视频在线| 亚洲精品成人天堂一二三| 久久99热99| 欧美亚洲综合在线| 中文字幕不卡在线观看| 免费精品99久久国产综合精品| 不卡的av在线| 精品少妇一区二区三区在线播放| 亚洲免费大片在线观看| 国产美女视频91| 欧美日韩国产不卡| 成人免费在线观看入口| 精彩视频一区二区| 欧美日韩精品欧美日韩精品| 国产精品看片你懂得| 久久99国产精品久久99果冻传媒| 欧洲视频一区二区| 国产精品色呦呦| 国产在线观看免费一区| 日韩一级大片在线观看| 亚洲第一福利视频在线| 91在线porny国产在线看| 国产亚洲一区二区三区| 免费观看一级特黄欧美大片| 欧美中文字幕亚洲一区二区va在线| 国产精品色婷婷| 国产高清精品在线| 欧美精品一区二区三区在线 | 亚洲一区二区三区爽爽爽爽爽| 高清成人在线观看| 精品少妇一区二区三区在线播放| 亚洲a一区二区| 欧美日韩国产免费| 偷窥少妇高潮呻吟av久久免费| 色偷偷一区二区三区| 亚洲男人的天堂网| 色婷婷激情综合| 亚洲一区二区三区中文字幕| 91福利资源站| 亚洲国产精品精华液网站| 欧美日韩一区二区在线观看视频| 一区二区三区国产|