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

? 歡迎來(lái)到蟲(chóng)蟲(chóng)下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲(chóng)蟲(chóng)下載站

?? gdkcolor-win32.c

?? linux下電話本所依賴的一些圖形庫(kù)
?? C
?? 第 1 頁(yè) / 共 3 頁(yè)
字號(hào):
static voidcreate_colormap (GdkColormap *cmap,		 gboolean     writeable){  struct {    LOGPALETTE pal;    PALETTEENTRY pe[256-1];  } lp;  HPALETTE hpal;  GdkColormapPrivateWin32 *cmapp = GDK_WIN32_COLORMAP_DATA (cmap);  gint i;  /* Allocate a starting palette with all the static colors. */  hpal = GetStockObject (DEFAULT_PALETTE);  lp.pal.palVersion = 0x300;  lp.pal.palNumEntries = GetPaletteEntries (hpal, 0, 256, lp.pal.palPalEntry);  if (cmap->visual->type == GDK_VISUAL_STATIC_COLOR &&      cmap->visual->depth == 4)    {      /* Use only 16 colors */      for (i = 8; i < 16; i++)	lp.pal.palPalEntry[i] = lp.pal.palPalEntry[i+4];      lp.pal.palNumEntries = 16;    }  for (i = 0; i < lp.pal.palNumEntries; i++)    lp.pal.palPalEntry[i].peFlags = 0;  GDK_NOTE (COLORMAP, (g_print ("Default palette %p: %d entries\n",				hpal, lp.pal.palNumEntries),		       _gdk_win32_print_paletteentries (lp.pal.palPalEntry,						       lp.pal.palNumEntries)));  DeleteObject (hpal);    /* For writeable colormaps, allow all 256 entries to be set. They won't   * set all 256 system palette entries anyhow, of course, but we shouldn't   * let the app see that, I think.   */  if (writeable)    cmapp->current_size = 0;  else    cmapp->current_size = lp.pal.palNumEntries;  cmapp->private_val = writeable;  if (!(cmapp->hpal = CreatePalette (&lp.pal)))    WIN32_GDI_FAILED ("CreatePalette");  else    GDK_NOTE (COLORMAP, g_print ("Created palette %p\n", cmapp->hpal));  switch (cmap->visual->type)    {    case GDK_VISUAL_PSEUDO_COLOR:      cmapp->use = g_new (GdkWin32PalEntryState, cmap->size);      /* Mark static colors in use. */      for (i = 0; i < cmapp->current_size; i++)	{	  cmapp->use[i] = GDK_WIN32_PE_STATIC;	  cmapp->info[i].ref_count = G_MAXUINT/2;	}      /* Mark rest not in use */      for (; i < cmap->size; i++)	cmapp->use[i] = GDK_WIN32_PE_AVAILABLE;      break;    default:      break;    }}static voidsync_colors (GdkColormap *colormap){  PALETTEENTRY *pe;  GdkColormapPrivateWin32 *private = GDK_WIN32_COLORMAP_DATA (colormap);  gint nlookup;  gint i;    pe = g_new (PALETTEENTRY, colormap->size);  nlookup = GetPaletteEntries (private->hpal, 0, colormap->size, pe);	    GDK_NOTE (COLORMAP, (g_print ("sync_colors: %p hpal=%p: %d entries\n",				private, private->hpal, nlookup),		       _gdk_win32_print_paletteentries (pe, nlookup)));	    for (i = 0; i < nlookup; i++)    {      colormap->colors[i].pixel = i;      colormap->colors[i].red = (pe[i].peRed * 65535) / 255;      colormap->colors[i].green = (pe[i].peGreen * 65535) / 255;      colormap->colors[i].blue = (pe[i].peBlue * 65535) / 255;    }    for ( ; i < colormap->size; i++)    {      colormap->colors[i].pixel = i;      colormap->colors[i].red = 0;      colormap->colors[i].green = 0;      colormap->colors[i].blue = 0;    }    g_free (pe);}GdkColormap*gdk_colormap_new (GdkVisual *visual,		  gboolean   private_cmap){  GdkColormap *colormap;  GdkColormapPrivateWin32 *private;  g_return_val_if_fail (visual != NULL, NULL);  colormap = g_object_new (gdk_colormap_get_type (), NULL);  private = GDK_WIN32_COLORMAP_DATA (colormap);  colormap->visual = visual;  colormap->size = visual->colormap_size;  switch (visual->type)    {    case GDK_VISUAL_GRAYSCALE:    case GDK_VISUAL_PSEUDO_COLOR:      private->info = g_new0 (GdkColorInfo, colormap->size);      colormap->colors = g_new (GdkColor, colormap->size);            private->hash = g_hash_table_new ((GHashFunc) gdk_color_hash,					(GEqualFunc) gdk_color_equal);            create_colormap (colormap, private_cmap);      if (private_cmap)	{	  sync_colors (colormap);#if 0 /* XXX is this needed or not? Seems redundant */	  gdk_colormap_change (colormap, colormap->size);#endif	}      break;    case GDK_VISUAL_STATIC_GRAY:    case GDK_VISUAL_STATIC_COLOR:      create_colormap (colormap, FALSE);      colormap->colors = g_new (GdkColor, colormap->size);      sync_colors (colormap);      break;    case GDK_VISUAL_TRUE_COLOR:      break;    default:      g_assert_not_reached ();    }  return colormap;}GdkColormap*gdk_screen_get_system_colormap (GdkScreen *screen){  static GdkColormap *colormap = NULL;  GdkColormapPrivateWin32 *private;  if (!colormap)    {      colormap = g_object_new (gdk_colormap_get_type (), NULL);      private = GDK_WIN32_COLORMAP_DATA (colormap);      colormap->visual = gdk_visual_get_system ();      colormap->size = colormap->visual->colormap_size;      private->private_val = FALSE;      switch (colormap->visual->type)	{	case GDK_VISUAL_GRAYSCALE:	case GDK_VISUAL_PSEUDO_COLOR:	  private->info = g_new0 (GdkColorInfo, colormap->size);	  private->hash = g_hash_table_new ((GHashFunc) gdk_color_hash,					    (GEqualFunc) gdk_color_equal);	  /* Fallthrough */	case GDK_VISUAL_STATIC_GRAY:	case GDK_VISUAL_STATIC_COLOR:	  create_colormap (colormap, FALSE);	  colormap->colors = g_new (GdkColor, colormap->size);	  sync_colors (colormap);	  break;	case GDK_VISUAL_TRUE_COLOR:	  break;	default:	  g_assert_not_reached ();	}    }  return colormap;}gintgdk_colormap_get_system_size (void){  return gdk_colormap_get_system ()->size;}voidgdk_colormap_change (GdkColormap *colormap,		     gint         ncolors){  GdkColormapPrivateWin32 *cmapp;  PALETTEENTRY *pe;  int i;  g_return_if_fail (colormap != NULL);  cmapp = GDK_WIN32_COLORMAP_DATA (colormap);  GDK_NOTE (COLORMAP, g_print ("gdk_colormap_change: hpal=%p ncolors=%d\n",			       cmapp->hpal, ncolors));  switch (colormap->visual->type)    {    case GDK_VISUAL_GRAYSCALE:    case GDK_VISUAL_PSEUDO_COLOR:      pe = g_new (PALETTEENTRY, ncolors);      for (i = 0; i < ncolors; i++)	{	  pe[i].peRed = (colormap->colors[i].red >> 8);	  pe[i].peGreen = (colormap->colors[i].green >> 8);	  pe[i].peBlue = (colormap->colors[i].blue >> 8);	  pe[i].peFlags = 0;	}      if (!SetPaletteEntries (cmapp->hpal, 0, ncolors, pe))	WIN32_GDI_FAILED ("SetPaletteEntries");      g_free (pe);      break;    default:      break;    }}gbooleangdk_colors_alloc (GdkColormap   *colormap,		  gboolean       contiguous,		  gulong        *planes,		  gint           nplanes,		  gulong        *pixels,		  gint           npixels){  GdkColormapPrivateWin32 *private;  gint return_val;  gint i;  g_return_val_if_fail (GDK_IS_COLORMAP (colormap), 0);  private = GDK_WIN32_COLORMAP_DATA (colormap);  return_val = alloc_color_cells (colormap, contiguous,				  planes, nplanes, pixels, npixels);  if (return_val)    {      for (i = 0; i < npixels; i++)	{	  private->info[pixels[i]].ref_count++;	  private->info[pixels[i]].flags |= GDK_COLOR_WRITEABLE;	}    }  return return_val != 0;}voidgdk_colors_free (GdkColormap *colormap,		 gulong      *in_pixels,		 gint         in_npixels,		 gulong       planes){  GdkColormapPrivateWin32 *private;  gulong *pixels;  gint npixels = 0;  gint i;  g_return_if_fail (GDK_IS_COLORMAP (colormap));  g_return_if_fail (in_pixels != NULL);  private = GDK_WIN32_COLORMAP_DATA (colormap);  if ((colormap->visual->type != GDK_VISUAL_PSEUDO_COLOR) &&      (colormap->visual->type != GDK_VISUAL_GRAYSCALE))    return;    pixels = g_new (gulong, in_npixels);  for (i = 0; i < in_npixels; i++)    {      gulong pixel = in_pixels[i];            if (private->use[pixel] == GDK_WIN32_PE_STATIC)	continue;      if (private->info[pixel].ref_count)	{	  private->info[pixel].ref_count--;	  if (private->info[pixel].ref_count == 0)	    {	      pixels[npixels++] = pixel;	      if (!(private->info[pixel].flags & GDK_COLOR_WRITEABLE))		g_hash_table_remove (private->hash, &colormap->colors[pixel]);	      private->info[pixel].flags = 0;	    }	}    }  if (npixels)    free_colors (colormap, pixels, npixels, planes);  g_free (pixels);}voidgdk_colormap_free_colors (GdkColormap *colormap,			  GdkColor    *colors,			  gint         ncolors){  gulong *pixels;  gint i;  g_return_if_fail (GDK_IS_COLORMAP (colormap));  g_return_if_fail (colors != NULL);  if ((colormap->visual->type != GDK_VISUAL_PSEUDO_COLOR) &&      (colormap->visual->type != GDK_VISUAL_GRAYSCALE))    return;  pixels = g_new (gulong, ncolors);  for (i = 0; i < ncolors; i++)    pixels[i] =  colors[i].pixel;  gdk_colors_free (colormap, pixels, ncolors, 0);  g_free (pixels);}/******************** * Color allocation * ********************//* Try to allocate a single color using alloc_color. If it succeeds, * cache the result in our colormap, and store in ret. */static gboolean gdk_colormap_alloc1 (GdkColormap *colormap,		     GdkColor    *color,		     GdkColor    *ret){  GdkColormapPrivateWin32 *private;  PALETTEENTRY pe;  private = GDK_WIN32_COLORMAP_DATA (colormap);  pe.peRed = color->red >> 8;  pe.peGreen = color->green >> 8;  pe.peBlue = color->blue >> 8;  if (alloc_color (colormap, &pe, &ret->pixel))    {      ret->red = (pe.peRed * 65535) / 255;      ret->green = (pe.peGreen * 65535) / 255;      ret->blue = (pe.peBlue * 65535) / 255;            if ((guint) ret->pixel < colormap->size)	{	  if (private->info[ret->pixel].ref_count) /* got a duplicate */	    {	    }	  else	    {	      colormap->colors[ret->pixel] = *color;	      colormap->colors[ret->pixel].pixel = ret->pixel;	      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_writeable (GdkColormap *colormap,				     GdkColor    *colors,				     gint         ncolors,				     gboolean     writeable,				     gboolean     best_match,				     gboolean    *success){  GdkColormapPrivateWin32 *private;  gulong *pixels;  gboolean status;  gint i, index;  private = GDK_WIN32_COLORMAP_DATA (colormap);  if (private->private_val)    {      index = 0;      for (i=0; i<ncolors; i++)	{	  while ((index < colormap->size) &&		 (private->info[index].ref_count != 0))	    index++;	  	  if (index < colormap->size)	    {	      colors[i].pixel = index;	      success[i] = TRUE;	      private->info[index].ref_count++;	      private->info[i].flags |= GDK_COLOR_WRITEABLE;	    }	  else	    break;	}      return i;

?? 快捷鍵說(shuō)明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产精品久久久久久久久图文区| 婷婷综合在线观看| 在线播放国产精品二区一二区四区| 美女爽到高潮91| 亚洲视频一区在线观看| 精品少妇一区二区三区日产乱码 | 欧美sm极限捆绑bd| 欧洲视频一区二区| 99久久夜色精品国产网站| 国模冰冰炮一区二区| 日韩精品三区四区| 一区二区三区资源| 最好看的中文字幕久久| www国产亚洲精品久久麻豆| 91精品国产色综合久久不卡蜜臀| 日本韩国视频一区二区| 成人激情文学综合网| 国模无码大尺度一区二区三区| 午夜伊人狠狠久久| 一区二区成人在线| 亚洲欧美一区二区三区久本道91 | 69堂精品视频| 欧美在线观看一区| 91农村精品一区二区在线| 岛国av在线一区| 国产丶欧美丶日本不卡视频| 激情综合色综合久久综合| 日韩影院在线观看| 日韩中文欧美在线| 日韩激情视频网站| 偷窥少妇高潮呻吟av久久免费| 一区二区理论电影在线观看| 亚洲欧洲av在线| 国产精品午夜在线| 中文字幕一区二区三区av| 国产精品久久久久三级| 国产精品国产三级国产aⅴ入口| 国产欧美日韩三级| 中文字幕不卡在线观看| 中文字幕 久热精品 视频在线 | 国产精品国产三级国产| 中文字幕在线不卡视频| 国产精品国产三级国产普通话蜜臀| 中文字幕成人在线观看| 最新热久久免费视频| 亚洲欧洲综合另类| 亚洲一区二区三区中文字幕 | 一区在线观看免费| 亚洲欧美精品午睡沙发| 亚洲美女屁股眼交3| 亚洲一二三区不卡| 免费一区二区视频| 国产在线精品一区二区| 成人免费电影视频| 日本久久电影网| 欧美日韩精品一区二区天天拍小说| 欧美日韩国产天堂| 日韩精品一区二| 国产片一区二区| 综合久久国产九一剧情麻豆| 亚洲香肠在线观看| 九九精品视频在线看| 国产美女娇喘av呻吟久久| 99v久久综合狠狠综合久久| 欧美日韩性生活| 欧美电影免费观看高清完整版 | 91视频com| 欧美老肥妇做.爰bbww| 精品999在线播放| 中文字幕一区三区| 日韩和欧美一区二区| 国产乱码精品一品二品| 色综合久久久久综合| 欧美一区二区视频在线观看| 国产色综合久久| 亚洲综合小说图片| 另类综合日韩欧美亚洲| av一区二区三区四区| 欧美一区二区三区色| 欧美韩国日本综合| 午夜av一区二区| 成人蜜臀av电影| 91精品国产品国语在线不卡| 中文字幕欧美日本乱码一线二线| 亚洲第一福利一区| 成人免费毛片高清视频| 欧美精品精品一区| 中文字幕一区二区在线观看| 卡一卡二国产精品| 色猫猫国产区一区二在线视频| 欧美va亚洲va香蕉在线| 亚洲国产精品自拍| 成人性生交大片免费看中文网站| 欧美精品亚洲一区二区在线播放| 国产精品美女久久久久av爽李琼 | 欧美三区在线视频| 久久九九国产精品| 日本不卡视频在线| 欧美性受极品xxxx喷水| 亚洲国产精品99久久久久久久久 | 亚洲一区影音先锋| 成人午夜激情影院| 久久众筹精品私拍模特| 日日夜夜一区二区| 色婷婷综合久久久中文一区二区| 久久亚洲春色中文字幕久久久| 亚洲一二三区在线观看| 99久久精品免费看| 国产片一区二区三区| 久久精品国产99| 欧美三级日本三级少妇99| 自拍偷拍欧美精品| 成人晚上爱看视频| 精品成人一区二区三区四区| 日韩精品一级二级| 欧美日韩中文字幕一区| 亚洲视频一区二区在线| 播五月开心婷婷综合| 久久精品一区蜜桃臀影院| 久久99精品久久久久婷婷| 538在线一区二区精品国产| 亚洲综合无码一区二区| 色爱区综合激月婷婷| 亚洲色图20p| 91视频观看视频| 亚洲欧美一区二区三区孕妇| av午夜精品一区二区三区| 国产日韩精品一区| 国产高清成人在线| 国产区在线观看成人精品 | 老司机精品视频导航| 911国产精品| 日韩精品高清不卡| 日韩一区二区三区观看| 日韩影视精彩在线| 91精品国产综合久久精品| 日韩黄色免费网站| 欧美变态tickle挠乳网站| 麻豆精品久久久| 精品国产乱码久久久久久蜜臀| 裸体健美xxxx欧美裸体表演| 欧美一卡2卡三卡4卡5免费| 麻豆精品一区二区三区| 欧美mv和日韩mv的网站| 国产一区二区三区视频在线播放| 精品毛片乱码1区2区3区| 国产原创一区二区三区| 中文字幕免费在线观看视频一区| 成人av电影免费在线播放| 亚洲嫩草精品久久| 在线观看www91| 免费一级片91| 久久久久亚洲蜜桃| 99视频一区二区| 亚洲综合一二区| 日韩三级高清在线| 成人性生交大片免费看中文网站 | 国产老妇另类xxxxx| 久久久久久夜精品精品免费| 成人av手机在线观看| 亚洲主播在线播放| 日韩欧美亚洲国产精品字幕久久久| 久久精品免费看| 国产精品久久久久天堂| 欧洲一区二区三区在线| 精品午夜一区二区三区在线观看| 欧美国产激情一区二区三区蜜月| 91丨porny丨中文| 免费精品99久久国产综合精品| 久久久精品一品道一区| 日本道色综合久久| 久久精品国产99国产| ●精品国产综合乱码久久久久| 欧美日韩国产小视频| 国产精品一二三| 亚洲一区电影777| 久久女同精品一区二区| 在线观看一区日韩| 国产一区二区三区国产| 亚洲一区日韩精品中文字幕| 久久久精品国产免费观看同学| 日本黄色一区二区| 国产一区二区在线看| 亚洲高清免费在线| 国产精品私人自拍| 91精品蜜臀在线一区尤物| 97久久超碰国产精品| 另类综合日韩欧美亚洲| 有坂深雪av一区二区精品| 久久久久久久久蜜桃| 欧美三级资源在线| 99久久er热在这里只有精品15 | 日韩亚洲欧美中文三级| 99在线视频精品| 久久99精品网久久| 性做久久久久久久免费看| 综合中文字幕亚洲| 国产丝袜欧美中文另类| 欧美成人猛片aaaaaaa| 在线亚洲一区二区|