From b6318bd8218c021270370d6e8093d38bdabe791d Mon Sep 17 00:00:00 2001 From: Tomeu Vizoso Date: Tue, 7 Dec 2010 15:29:05 +0100 Subject: [PATCH] Make clutter_shader_effect_set_uniform_value accept G_TYPE_DOUBLE For users of gobject-introspection that cannot know which non-integer type to pass. http://bugzilla.clutter-project.org/show_bug.cgi?id=2471 --- clutter/clutter-shader-effect.c | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/clutter/clutter-shader-effect.c b/clutter/clutter-shader-effect.c index 5c7d6bce9..e496bc5a3 100644 --- a/clutter/clutter-shader-effect.c +++ b/clutter/clutter-shader-effect.c @@ -238,6 +238,15 @@ clutter_shader_effect_update_uniforms (ClutterShaderEffect *effect) { const GLfloat float_val = g_value_get_float (&uniform->value); + cogl_program_set_uniform_float (priv->program, uniform->location, + 1, 1, + &float_val); + } + else if (G_VALUE_HOLDS_DOUBLE (&uniform->value)) + { + const GLfloat float_val = + (GLfloat) g_value_get_double (&uniform->value); + cogl_program_set_uniform_float (priv->program, uniform->location, 1, 1, &float_val); @@ -554,7 +563,8 @@ clutter_shader_effect_add_uniform (ClutterShaderEffect *effect, * %CLUTTER_TYPE_SHADER_INT, for an array of integer values; * %CLUTTER_TYPE_SHADER_FLOAT, for an array of floating point values; * and %CLUTTER_TYPE_SHADER_MATRIX, for a matrix of floating point - * values + * values. It also accepts %G_TYPE_DOUBLE for compatibility with other + * languages than C. * * Since: 1.4 */