Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
View | Details | Raw Unified | Return to bug 27273
Collapse All | Expand All

(-)gtk+-2.2.2/gdk/x11/gdkevents-x11.c.bak (-1 / +8 lines)
Lines 2484-2490 Link Here
2484
  { "Gtk/IMStatusStyle", "gtk-im-status-style" },
2487
  { "Gtk/IMStatusStyle", "gtk-im-status-style" },
2485
  { "Net/CursorBlink", "gtk-cursor-blink" },
2488
  { "Net/CursorBlink", "gtk-cursor-blink" },
2486
  { "Net/CursorBlinkTime", "gtk-cursor-blink-time" },
2489
  { "Net/CursorBlinkTime", "gtk-cursor-blink-time" },
2487
  { "Net/ThemeName", "gtk-theme-name" }
2490
  { "Net/ThemeName", "gtk-theme-name" },
2491
#ifdef HAVE_XFT
2492
  { "Xft/Antialias", "gtk-xft-antialias" },
2493
  { "Xft/Hinting", "gtk-xft-hinting" },
2494
  { "Xft/HintStyle", "gtk-xft-hintstyle" },
2495
  { "Xft/RGBA", "gtk-xft-rgba" },
2496
  { "Xft/DPI", "gtk-xft-dpi" },
2497
#endif
2488
};
2498
};
2489
2499
2490
static void
2500
static void
(-)gtk+-2.2.2/gtk/gtksettings.c.bak (-1 / +163 lines)
Lines 21-26 Link Here
21
#include "gtkintl.h"
21
#include "gtkintl.h"
22
#include "gtkwidget.h"
22
#include "gtkwidget.h"
23
23
24
#ifdef HAVE_XFT
25
#include <X11/Xft/Xft.h>
26
#include <pango/pangoxft.h>
27
#include <gtk/x11/gdkx.h>
28
#endif
29
24
typedef struct _GtkSettingsValuePrivate GtkSettingsValuePrivate;
30
typedef struct _GtkSettingsValuePrivate GtkSettingsValuePrivate;
25
31
26
typedef enum
32
typedef enum
Lines 53-59 Link Here
53
  PROP_MENU_BAR_ACCEL,
59
  PROP_MENU_BAR_ACCEL,
54
  PROP_DND_DRAG_THRESHOLD,
60
  PROP_DND_DRAG_THRESHOLD,
55
  PROP_FONT_NAME,
61
  PROP_FONT_NAME,
56
  PROP_ICON_SIZES
62
  PROP_ICON_SIZES,
63
#ifdef HAVE_XFT
64
  PROP_XFT_ANTIALIAS,
65
  PROP_XFT_HINTING,
66
  PROP_XFT_HINTSTYLE,
67
  PROP_XFT_RGBA,
68
  PROP_XFT_DPI,
69
#endif
57
};
70
};
58
71
59
72
Lines 112-117 Link Here
112
  return settings_type;
125
  return settings_type;
113
}
126
}
114
127
128
#ifdef HAVE_XFT
129
static void
130
gtk_default_substitute (FcPattern *pattern,
131
                       gpointer   data)
132
{
133
  GtkSettings *settings = data;
134
  gint antialias;
135
  gint hinting;
136
  char *rgba;
137
  char *hintstyle;
138
  gint dpi;
139
  FcValue v;
140
141
  g_object_get (G_OBJECT (settings),
142
               "gtk-xft-antialias", &antialias,
143
			   "gtk-xft-hinting", &hinting,
144
			   "gtk-xft-hintstyle", &hintstyle,
145
			   "gtk-xft-rgba", &rgba,
146
			   "gtk-xfg-dpi", &dpi,
147
			   NULL);
148
149
  if (antialias >= 0 &&
150
      FcPatternGet (pattern, FC_ANTIALIAS, 0, &v) == FcResultNoMatch)
151
	FcPatternAddBool (pattern, FC_ANTIALIAS, antialias != 0);
152
153
  if (hinting >= 0 &&
154
      FcPatternGet (pattern, FC_HINTING, 0, &v) == FcResultNoMatch)
155
	FcPatternAddBool (pattern, FC_HINTING, hinting != 0);
156
157
  if (hintstyle && FcPatternGet (pattern, FC_HINT_STYLE, 0, &v) == FcResultNoMatch)
158
    {
159
	  int val = FC_HINT_FULL;  /* Quiet GCC */
160
	  gboolean found = TRUE;
161
162
	  if (strcmp (hintstyle, "hintnone") == 0)
163
	   val = FC_HINT_NONE;
164
	  else if (strcmp (hintstyle, "hintslight") == 0)
165
	   val = FC_HINT_SLIGHT;
166
	  else if (strcmp (hintstyle, "hintmedium") == 0)
167
	   val = FC_HINT_MEDIUM;
168
	  else if (strcmp (hintstyle, "hintfull") == 0)
169
	   val = FC_HINT_FULL;
170
	  else
171
	   found = FALSE;
172
173
	  if (found)
174
	   FcPatternAddInteger (pattern, FC_HINT_STYLE, val);
175
	}
176
177
  if (rgba && FcPatternGet (pattern, FC_RGBA, 0, &v) == FcResultNoMatch)
178
    {
179
	  int val = FC_RGBA_NONE;  /* Quiet GCC */
180
	  gboolean found = TRUE;
181
182
	  if (strcmp (rgba, "none") == 0)
183
	   val = FC_RGBA_NONE;
184
	  else if (strcmp (rgba, "rgb") == 0)
185
       val = FC_RGBA_RGB;
186
	  else if (strcmp (rgba, "bgr") == 0)
187
	   val = FC_RGBA_BGR;
188
	  else if (strcmp (rgba, "vrgb") == 0)
189
	   val = FC_RGBA_VRGB;
190
	  else if (strcmp (rgba, "vbgr") == 0)
191
	   val = FC_RGBA_VBGR;
192
	  else
193
	   found = FALSE;
194
195
	  if (found)
196
	   FcPatternAddInteger (pattern, FC_RGBA, val);
197
	}
198
  
199
  if (dpi >= 0 && FcPatternGet (pattern, FC_DPI, 0, &v) == FcResultNoMatch)
200
    FcPatternAddDouble (pattern, FC_DPI, dpi / 1024.);
201
202
  g_free (hintstyle);
203
  g_free (rgba);
204
}
205
#endif /* HAVE_XFT */
206
115
static void
207
static void
116
gtk_settings_init (GtkSettings *settings)
208
gtk_settings_init (GtkSettings *settings)
117
{
209
{
Lines 247-252 Link Here
247
								  G_PARAM_READWRITE),
339
								  G_PARAM_READWRITE),
248
                                             NULL);
340
                                             NULL);
249
  g_assert (result == PROP_ICON_SIZES);
341
  g_assert (result == PROP_ICON_SIZES);
342
343
#ifdef HAVE_XFT
344
  result = settings_install_property_parser (class,
345
                                             g_param_spec_int ("gtk-xft-antialias",
346
											                   _("Xft Antialias"),
347
															   _("Whether to antialias Xft fonts; 0=no, 1=yes, -1=default"),
348
															   -1, 1, -1,
349
															   G_PARAM_READWRITE),
350
											 NULL);
351
  g_assert (result == PROP_XFT_ANTIALIAS);
352
353
  result = settings_install_property_parser (class,
354
                                             g_param_spec_int ("gtk-xft-hinting",
355
											                   _("Xft Hinting"),
356
															   _("Whether to hint Xft fonts; 0=no, 1=yes, -1=default"),
357
															   -1, 1, -1,
358
															   G_PARAM_READWRITE),
359
											 NULL);
360
  g_assert (result == PROP_XFT_HINTING);
361
362
  result = settings_install_property_parser (class,
363
                                             g_param_spec_string ("gtk-xft-hintstyle",
364
											                      _("Xft Hint Style"),
365
															      _("What degree of hinting to use; none, slight, medium, or full"),
366
															      NULL,
367
															      G_PARAM_READWRITE),
368
											 NULL);
369
  g_assert (result == PROP_XFT_HINTSTYLE);
370
371
  result = settings_install_property_parser (class, 
372
                                             g_param_spec_string ("gtk-xft-rgba",
373
											                      _("Xft RGBA"),
374
																  _("Type of subpixel antialiasing, none, rgb, bgr, vrgb, vbgr"),
375
																  NULL,
376
																  G_PARAM_READWRITE),
377
											 NULL);
378
  g_assert (result == PROP_XFT_RGBA);
379
380
  result = settings_install_property_parser (class,
381
                                             g_param_spec_int ("gtk-xft-dpi",
382
											                   _("Xft DPI"),
383
															   _("Resolution for Xft, in 1024 * dots/inch. -1 to use default value"),
384
															   -1, 1024*1024, -1,
385
															   G_PARAM_READWRITE),
386
											 NULL);
387
  g_assert (result == PROP_XFT_DPI);
388
#endif /* HAVE_XFT */
250
}
389
}
251
390
252
static void
391
static void
Lines 289-294 Link Here
289
      settings = g_object_new (GTK_TYPE_SETTINGS, NULL);
428
      settings = g_object_new (GTK_TYPE_SETTINGS, NULL);
290
      settings->screen = screen;
429
      settings->screen = screen;
291
      g_object_set_data (G_OBJECT (screen), "gtk-settings", settings); 
430
      g_object_set_data (G_OBJECT (screen), "gtk-settings", settings); 
431
432
#ifdef HAVE_XFT
433
      /* Set the default substitution function for the Pango fontmap.
434
	   */
435
	  pango_xft_set_default_substitute (GDK_SCREEN_XDISPLAY (screen),
436
	                                    GDK_SCREEN_XNUMBER (screen),
437
										gtk_default_substitute,
438
										settings, NULL);
439
#endif /* HAVE_XFT */
440
292
      gtk_rc_reparse_all_for_settings (settings, TRUE);
441
      gtk_rc_reparse_all_for_settings (settings, TRUE);
293
      settings_update_double_click_time (settings);
442
      settings_update_double_click_time (settings);
294
    }
443
    }
Lines 413-418 Link Here
413
    case PROP_DOUBLE_CLICK_TIME:
562
    case PROP_DOUBLE_CLICK_TIME:
414
      settings_update_double_click_time (settings);
563
      settings_update_double_click_time (settings);
415
      break;
564
      break;
565
#ifdef HAVE_XFT
566
    case PROP_XFT_ANTIALIAS:
567
	case PROP_XFT_HINTING:
568
	case PROP_XFT_HINTSTYLE:
569
	case PROP_XFT_RGBA:
570
	case PROP_XFT_DPI:
571
	  pango_xft_substitute_changed (GDK_SCREEN_XDISPLAY (settings->screen),
572
	                               GDK_SCREEN_NUMBER (settings->screen));
573
	  /* See comments with _gtk_rc_reset_styles for why this is a hack
574
	   */
575
	  _gtk_rc_reset_styles (GTK_SETTINGS (object));
576
	  break;
577
#endif /* HAVE_XFT */
416
    }
578
    }
417
}
579
}
418
580

Return to bug 27273