diff --git a/clutter/clutter-settings.c b/clutter/clutter-settings.c
index f7a4ee697..34f838877 100644
--- a/clutter/clutter-settings.c
+++ b/clutter/clutter-settings.c
@@ -1,3 +1,22 @@
+/**
+ * SECTION:clutter-settings
+ * @Title: ClutterSettings
+ * @Short_Description: Settings configuration
+ *
+ * Clutter depends on some settings to perform operations like detecting
+ * multiple button press events, or font options to render text.
+ *
+ * Usually, Clutter will strive to use the platform's settings in order
+ * to be as much integrated as possible. It is, however, possible to
+ * change these settings on a per-application basis, by using the
+ * #ClutterSettings singleton object and setting its properties. It is
+ * also possible, for toolkit developers, to retrieve the settings from
+ * the #ClutterSettings properties when implementing new UI elements,
+ * for instance the default font name.
+ *
+ * #ClutterSettings is available since Clutter 1.4
+ */
+
#ifdef HAVE_CONFIG_H
#include "config.h"
#endif
@@ -113,6 +132,18 @@ settings_update_font_options (ClutterSettings *self)
cairo_font_options_set_antialias (options, antialias_mode);
+ CLUTTER_NOTE (BACKEND, "New font options:\n"
+ " - antialias: %d\n"
+ " - hinting: %d\n"
+ " - hint-style: %s\n"
+ " - rgba: %s\n"
+ " - dpi: %.2f",
+ self->xft_antialias,
+ self->xft_hinting,
+ self->xft_hint_style,
+ self->xft_rgba,
+ self->resolution);
+
clutter_backend_set_font_options (self->backend, options);
cairo_font_options_destroy (options);
}
@@ -120,6 +151,8 @@ settings_update_font_options (ClutterSettings *self)
static void
settings_update_resolution (ClutterSettings *self)
{
+ CLUTTER_NOTE (BACKEND, "New resolution: %.2f", self->resolution);
+
g_signal_emit_by_name (self->backend, "resolution-changed");
}
@@ -264,6 +297,13 @@ clutter_settings_class_init (ClutterSettingsClass *klass)
gobject_class->notify = clutter_settings_notify;
gobject_class->finalize = clutter_settings_finalize;
+ /**
+ * ClutterSettings:backend:
+ *
+ * A back pointer to the #ClutterBackend
+ *
+ * Since: 1.4
+ */
pspec = g_param_spec_object ("backend",
"Backend",
"A pointer to the backend",
@@ -272,6 +312,14 @@ clutter_settings_class_init (ClutterSettingsClass *klass)
G_PARAM_CONSTRUCT_ONLY);
g_object_class_install_property (gobject_class, PROP_BACKEND, pspec);
+ /**
+ * ClutterSettings:double-click-time:
+ *
+ * The time, in milliseconds, that should elapse between button-press
+ * events in order to increase the click count by 1.
+ *
+ * Since: 1.4
+ */
pspec = g_param_spec_int ("double-click-time",
"Double Click Time",
"The time between clicks necessary to detect "
@@ -283,6 +331,14 @@ clutter_settings_class_init (ClutterSettingsClass *klass)
PROP_DOUBLE_CLICK_TIME,
pspec);
+ /**
+ * ClutterSettings:double-click-distance:
+ *
+ * The maximum distance, in pixels, between button-press events that
+ * determines whether or not to increase the click count by 1.
+ *
+ * Since: 1.4
+ */
pspec = g_param_spec_int ("double-click-distance",
"Double Click Distance",
"The distance between clicks necessary to detect "
@@ -294,6 +350,14 @@ clutter_settings_class_init (ClutterSettingsClass *klass)
PROP_DOUBLE_CLICK_DISTANCE,
pspec);
+ /**
+ * ClutterSettings:font-name:
+ *
+ * The default font name that should be used by text actors, as
+ * a string that can be passed to pango_font_description_from_string().
+ *
+ * Since: 1.4
+ */
pspec = g_param_spec_string ("font-name",
"Font Name",
"The description of the default font, as "
@@ -304,6 +368,15 @@ clutter_settings_class_init (ClutterSettingsClass *klass)
PROP_FONT_NAME,
pspec);
+ /**
+ * ClutterSettings:font-antialias:
+ *
+ * Whether or not to use antialiasing when rendering text; a value
+ * of 1 enables it unconditionally; a value of 0 disables it
+ * unconditionally; and -1 will use the system's default.
+ *
+ * Since: 1.4
+ */
pspec = g_param_spec_int ("font-antialias",
"Font Antialias",
"Whether to use antialiasing (1 to enable, 0 to "
@@ -315,6 +388,15 @@ clutter_settings_class_init (ClutterSettingsClass *klass)
PROP_FONT_ANTIALIAS,
pspec);
+ /**
+ * ClutterSettings:font-dpi:
+ *
+ * The DPI used when rendering text, as a value of 1024 * dots/inch.
+ *
+ * If set to -1, the system's default will be used instead
+ *
+ * Since: 1.4
+ */
pspec = g_param_spec_int ("font-dpi",
"Font DPI",
"The resolution of the font, in 1024 * dots/inch, "
@@ -326,6 +408,15 @@ clutter_settings_class_init (ClutterSettingsClass *klass)
PROP_FONT_DPI,
pspec);
+ /**
+ * ClutterSettings:font-hinting:
+ *
+ * Whether or not to use hinting when rendering text; a value of 1
+ * unconditionally enables it; a value of 0 unconditionally disables
+ * it; and a value of -1 will use the system's default.
+ *
+ * Since: 1.4
+ */
pspec = g_param_spec_int ("font-hinting",
"Font Hinting",
"Whether to use hinting (1 to enable, 0 to disable "
@@ -337,6 +428,20 @@ clutter_settings_class_init (ClutterSettingsClass *klass)
PROP_FONT_HINTING,
pspec);
+ /**
+ * ClutterSettings:font-hint-style:
+ *
+ * The style of the hinting used when rendering text. Valid values
+ * are:
+ *
+ * hintnone
+ * hintslight
+ * hintmedium
+ * hintfull
+ *
+ *
+ * Since: 1.4
+ */
pspec = g_param_spec_string ("font-hint-style",
"Font Hint Style",
"The style of hinting (hintnone, hintslight, "
@@ -347,6 +452,21 @@ clutter_settings_class_init (ClutterSettingsClass *klass)
PROP_FONT_HINT_STYLE,
pspec);
+ /**
+ * ClutterSettings:font-subpixel-order:
+ *
+ * The type of sub-pixel antialiasing used when rendering text. Valid
+ * values are:
+ *
+ * none
+ * rgb
+ * bgr
+ * vrgb
+ * vbgr
+ *
+ *
+ * Since: 1.4
+ */
pspec = g_param_spec_string ("font-subpixel-order",
"Font Subpixel Order",
"The type of subpixel antialiasing (none, rgb, "
diff --git a/doc/reference/clutter/clutter-docs.xml.in b/doc/reference/clutter/clutter-docs.xml.in
index 58b083885..22f9d21e0 100644
--- a/doc/reference/clutter/clutter-docs.xml.in
+++ b/doc/reference/clutter/clutter-docs.xml.in
@@ -165,6 +165,7 @@
+
diff --git a/doc/reference/clutter/clutter.types b/doc/reference/clutter/clutter.types
index 9e22d5c38..0541f969f 100644
--- a/doc/reference/clutter/clutter.types
+++ b/doc/reference/clutter/clutter.types
@@ -50,6 +50,7 @@ clutter_rectangle_get_type
clutter_score_get_type
clutter_scriptable_get_type
clutter_script_get_type
+clutter_settings_get_type
clutter_shader_get_type
clutter_shader_effect_get_type
clutter_stage_get_type