From afe17c50a4fa441915c4f60d628a37b48335ffb9 Mon Sep 17 00:00:00 2001 From: Neil Roberts Date: Wed, 28 May 2008 11:29:58 +0000 Subject: [PATCH] * clutter/cogl/gles/cogl-gles2-wrapper.c (cogl_wrap_glGetFixedv): Filled in the wrapper for glGetFixedv --- gles/cogl-gles2-wrapper.c | 34 +++++++++++++++++++++++++++++++++- 1 file changed, 33 insertions(+), 1 deletion(-) diff --git a/gles/cogl-gles2-wrapper.c b/gles/cogl-gles2-wrapper.c index 267528cba..f7df08801 100644 --- a/gles/cogl-gles2-wrapper.c +++ b/gles/cogl-gles2-wrapper.c @@ -613,10 +613,42 @@ cogl_wrap_glClipPlanex (GLenum plane, GLfixed *equation) /* FIXME */ } +static void +cogl_gles2_float_array_to_fixed (int size, const GLfloat *floats, + GLfixed *fixeds) +{ + while (size-- > 0) + *(fixeds++) = CLUTTER_FLOAT_TO_FIXED (*(floats++)); +} + void cogl_wrap_glGetFixedv (GLenum pname, GLfixed *params) { - /* FIXME */ + _COGL_GET_GLES2_WRAPPER (w, NO_RETVAL); + + switch (pname) + { + case GL_MODELVIEW_MATRIX: + cogl_gles2_float_array_to_fixed (16, w->modelview_stack + + w->modelview_stack_pos * 16, + params); + break; + + case GL_PROJECTION_MATRIX: + cogl_gles2_float_array_to_fixed (16, w->projection_stack + + w->projection_stack_pos * 16, + params); + break; + + case GL_VIEWPORT: + { + GLfloat v[4]; + + glGetFloatv (GL_VIEWPORT, v); + cogl_gles2_float_array_to_fixed (4, v, params); + } + break; + } } void