diff --git a/clutter/clutter-actor.c b/clutter/clutter-actor.c index 9cbee04..e0903fe 100644 --- a/clutter/clutter-actor.c +++ b/clutter/clutter-actor.c @@ -1348,8 +1348,8 @@ _clutter_actor_apply_modelview_transform (ClutterActor *self) gboolean is_stage = CLUTTER_IS_STAGE (self); if (!is_stage) - cogl_translatex (CLUTTER_UNITS_TO_FIXED (priv->allocation.x1), - CLUTTER_UNITS_TO_FIXED (priv->allocation.y1), + cogl_translate (CLUTTER_UNITS_TO_FLOAT (priv->allocation.x1), + CLUTTER_UNITS_TO_FLOAT (priv->allocation.y1), 0); /* @@ -1363,50 +1363,50 @@ _clutter_actor_apply_modelview_transform (ClutterActor *self) if (priv->rzang) { - cogl_translatex (CLUTTER_UNITS_TO_FIXED (priv->rzx), - CLUTTER_UNITS_TO_FIXED (priv->rzy), + cogl_translate (CLUTTER_UNITS_TO_FLOAT (priv->rzx), + CLUTTER_UNITS_TO_FLOAT (priv->rzy), 0); - cogl_rotatex (priv->rzang, 0, 0, 1.0); + cogl_rotate (priv->rzang, 0, 0, 1.0); - cogl_translatex (CLUTTER_UNITS_TO_FIXED (-priv->rzx), - CLUTTER_UNITS_TO_FIXED (-priv->rzy), + cogl_translate (CLUTTER_UNITS_TO_FLOAT (-priv->rzx), + CLUTTER_UNITS_TO_FLOAT (-priv->rzy), 0); } if (priv->ryang) { - cogl_translatex (CLUTTER_UNITS_TO_FIXED (priv->ryx), + cogl_translate (CLUTTER_UNITS_TO_FLOAT (priv->ryx), 0, - CLUTTER_UNITS_TO_FIXED (priv->z + priv->ryz)); + CLUTTER_UNITS_TO_FLOAT (priv->z + priv->ryz)); - cogl_rotatex (priv->ryang, 0, 1.0, 0); + cogl_rotate (priv->ryang, 0, 1.0, 0); - cogl_translatex (CLUTTER_UNITS_TO_FIXED (-priv->ryx), + cogl_translate (CLUTTER_UNITS_TO_FLOAT (-priv->ryx), 0, - CLUTTER_UNITS_TO_FIXED (-(priv->z + priv->ryz))); + CLUTTER_UNITS_TO_FLOAT (-(priv->z + priv->ryz))); } if (priv->rxang) { - cogl_translatex (0, - CLUTTER_UNITS_TO_FIXED (priv->rxy), - CLUTTER_UNITS_TO_FIXED (priv->z + priv->rxz)); + cogl_translate (0, + CLUTTER_UNITS_TO_FLOAT (priv->rxy), + CLUTTER_UNITS_TO_FLOAT (priv->z + priv->rxz)); - cogl_rotatex (priv->rxang, 1.0, 0, 0); + cogl_rotate (priv->rxang, 1.0, 0, 0); - cogl_translatex (0, - CLUTTER_UNITS_TO_FIXED (-priv->rxy), - CLUTTER_UNITS_TO_FIXED (-(priv->z + priv->rxz))); + cogl_translate (0, + CLUTTER_UNITS_TO_FLOAT (-priv->rxy), + CLUTTER_UNITS_TO_FLOAT (-(priv->z + priv->rxz))); } if (!is_stage && (priv->anchor_x || priv->anchor_y)) - cogl_translatex (CLUTTER_UNITS_TO_FIXED (-priv->anchor_x), - CLUTTER_UNITS_TO_FIXED (-priv->anchor_y), + cogl_translate (CLUTTER_UNITS_TO_FLOAT (-priv->anchor_x), + CLUTTER_UNITS_TO_FLOAT (-priv->anchor_y), 0); if (priv->z) - cogl_translatex (0, 0, priv->z); + cogl_translate (0, 0, priv->z); } /* Recursively applies the transforms associated with this actor and diff --git a/clutter/cogl/cogl-path.h b/clutter/cogl/cogl-path.h index 0d29829..aa37864 100644 --- a/clutter/cogl/cogl-path.h +++ b/clutter/cogl/cogl-path.h @@ -60,24 +60,10 @@ G_BEGIN_DECLS * Fills a rectangle at the given coordinates with the current * drawing color in a highly optimizied fashion. **/ -void cogl_rectangle (gint x, - gint y, - guint width, - guint height); - -/** - * cogl_rectanglex: - * @x: X coordinate of the top-left corner - * @y: Y coordinate of the top-left corner - * @width: Width of the rectangle - * @height: Height of the rectangle - * - * A fixed-point version of cogl_fast_fill_rectangle. - **/ -void cogl_rectanglex (float x, - float y, - float width, - float height); +void cogl_rectangle (float x, + float y, + float width, + float height); /** * cogl_path_fill: diff --git a/clutter/cogl/cogl.h.in b/clutter/cogl/cogl.h.in index f37d54d..f8d5745 100644 --- a/clutter/cogl/cogl.h.in +++ b/clutter/cogl/cogl.h.in @@ -231,7 +231,7 @@ void cogl_scale (float x, float y); /** - * cogl_translatex: + * cogl_translate: * @x: Distance to translate along the x-axis * @y: Distance to translate along the y-axis * @z: Distance to translate along the z-axis @@ -239,26 +239,12 @@ void cogl_scale (float x, * Multiplies the current model-view matrix by one that translates the * model along all three axes according to the given values. */ -void cogl_translatex (float x, - float y, - float z); - -/** - * cogl_translate: - * @x: Distance to translate along the x-axis - * @y: Distance to translate along the y-axis - * @z: Distance to translate along the z-axis - * - * Integer version of cogl_translatex(). Multiplies the current - * model-view matrix by one that translates the model along all three - * axes according to the given values. - */ -void cogl_translate (gint x, - gint y, - gint z); +void cogl_translate (float x, + float y, + float z); /** - * cogl_rotatex: + * cogl_rotate: * @angle: Angle in degrees to rotate. * @x: X-component of vertex to rotate around. * @y: Y-component of vertex to rotate around. @@ -270,26 +256,10 @@ void cogl_translate (gint x, * degrees about the vertex (0, 0, 1) causes a small counter-clockwise * rotation. */ -void cogl_rotatex (float angle, - float x, - float y, - float z); - -/** - * cogl_rotate: - * @angle: Angle in degrees to rotate. - * @x: X-component of vertex to rotate around. - * @y: Y-component of vertex to rotate around. - * @z: Z-component of vertex to rotate around. - * - * Integer version of cogl_rotatex(). Multiplies the current - * model-view matrix by one that rotates the model around the vertex - * specified by @x, @y and @z. - */ -void cogl_rotate (gint angle, - gint x, - gint y, - gint z); +void cogl_rotate (float angle, + float x, + float y, + float z); /** * cogl_get_modelview_matrix: diff --git a/clutter/cogl/common/cogl-primitives.c b/clutter/cogl/common/cogl-primitives.c index 27834f7..7e9b1b9 100644 --- a/clutter/cogl/common/cogl-primitives.c +++ b/clutter/cogl/common/cogl-primitives.c @@ -43,19 +43,15 @@ void _cogl_path_add_node (gboolean new_sub_path, float y); void _cogl_path_fill_nodes (); void _cogl_path_stroke_nodes (); -void _cogl_rectangle (gint x, - gint y, - guint width, - guint height); -void _cogl_rectanglex (float x, - float y, - float width, - float height); +void _cogl_rectangle (float x, + float y, + float width, + float height); void -cogl_rectangle (gint x, - gint y, - guint width, - guint height) +cogl_rectangle (float x, + float y, + float width, + float height) { cogl_clip_ensure (); @@ -63,18 +59,6 @@ cogl_rectangle (gint x, } void -cogl_rectanglex (float x, - float y, - float width, - float height) -{ - cogl_clip_ensure (); - - _cogl_rectanglex (x, y, width, height); -} - - -void cogl_path_fill (void) { cogl_path_fill_preserve (); diff --git a/clutter/cogl/gl/cogl-primitives.c b/clutter/cogl/gl/cogl-primitives.c index 8a0843d..e445657 100644 --- a/clutter/cogl/gl/cogl-primitives.c +++ b/clutter/cogl/gl/cogl-primitives.c @@ -39,35 +39,17 @@ #define _COGL_MAX_BEZ_RECURSE_DEPTH 16 void -_cogl_rectangle (gint x, - gint y, - guint width, - guint height) +_cogl_rectangle (float x, + float y, + float width, + float height) { _COGL_GET_CONTEXT (ctx, NO_RETVAL); cogl_enable (ctx->color_alpha < 255 ? COGL_ENABLE_BLEND : 0); - GE( glRecti (x, y, x + width, y + height) ); -} - - -void -_cogl_rectanglex (float x, - float y, - float width, - float height) -{ - _COGL_GET_CONTEXT (ctx, NO_RETVAL); - - cogl_enable (ctx->color_alpha < 255 - ? COGL_ENABLE_BLEND : 0); - - GE( glRectf ( (x), - (y), - (x + width), - (y + height)) ); + GE( glRectf (x, y, x + width, y + height) ); } void @@ -132,17 +114,15 @@ _cogl_path_stroke_nodes () static void _cogl_path_get_bounds (floatVec2 nodes_min, floatVec2 nodes_max, - gint *bounds_x, - gint *bounds_y, - guint *bounds_w, - guint *bounds_h) + float *bounds_x, + float *bounds_y, + float *bounds_w, + float *bounds_h) { - *bounds_x = floorf (nodes_min.x); - *bounds_y = floorf (nodes_min.y); - *bounds_w = ceilf (nodes_max.x - - (float)(*bounds_x)); - *bounds_h = ceilf (nodes_max.y - - (float)(*bounds_y)); + *bounds_x = nodes_min.x; + *bounds_y = nodes_min.y; + *bounds_w = nodes_max.x - *bounds_x; + *bounds_h = nodes_max.y - *bounds_y; } void @@ -154,10 +134,10 @@ _cogl_add_path_to_stencil_buffer (floatVec2 nodes_min, { guint path_start = 0; guint sub_path_num = 0; - gint bounds_x; - gint bounds_y; - guint bounds_w; - guint bounds_h; + float bounds_x; + float bounds_y; + float bounds_w; + float bounds_h; _cogl_path_get_bounds (nodes_min, nodes_max, &bounds_x, &bounds_y, &bounds_w, &bounds_h); @@ -239,10 +219,10 @@ _cogl_add_path_to_stencil_buffer (floatVec2 nodes_min, void _cogl_path_fill_nodes () { - gint bounds_x; - gint bounds_y; - guint bounds_w; - guint bounds_h; + float bounds_x; + float bounds_y; + float bounds_w; + float bounds_h; _COGL_GET_CONTEXT (ctx, NO_RETVAL); diff --git a/clutter/cogl/gl/cogl.c b/clutter/cogl/gl/cogl.c index d815e3b..aa0ec78 100644 --- a/clutter/cogl/gl/cogl.c +++ b/clutter/cogl/gl/cogl.c @@ -217,32 +217,15 @@ cogl_scale (float x, float y) } void -cogl_translatex (float x, float y, float z) +cogl_translate (float x, float y, float z) { - glTranslatef ((float)(x), - (float)(y), - (float)(z)); + glTranslatef (x, y, z); } void -cogl_translate (gint x, gint y, gint z) +cogl_rotate (float angle, float x, float y, float z) { - glTranslatef ((float)x, (float)y, (float)z); -} - -void -cogl_rotatex (float angle, float x, float y, float z) -{ - glRotatef ((float)(angle), - (float)(x), - (float)(y), - (float)(z)); -} - -void -cogl_rotate (gint angle, gint x, gint y, gint z) -{ - glRotatef ((float)angle, (float)x, (float)y, (float)z); + glRotatef (angle, x, y, z); } static inline gboolean diff --git a/clutter/cogl/gles/cogl-primitives.c b/clutter/cogl/gles/cogl-primitives.c index d8fe121..cf305a8 100644 --- a/clutter/cogl/gles/cogl-primitives.c +++ b/clutter/cogl/gles/cogl-primitives.c @@ -39,55 +39,26 @@ #define _COGL_MAX_BEZ_RECURSE_DEPTH 16 void -_cogl_rectangle (gint x, - gint y, - guint width, - guint height) +_cogl_rectangle (float x, + float y, + float width, + float height) { - /* 32-bit integers are not supported as coord types - in GLES . Fixed type has got 16 bits left of the - point which is equal to short anyway. */ - - GLshort rect_verts[8] = { - (GLshort) x, (GLshort) y, - (GLshort) (x + width), (GLshort) y, - (GLshort) x, (GLshort) (y + height), - (GLshort) (x + width), (GLshort) (y + height) + GLfloat rect_verts[8] = { + (GLfloat) x, (GLfloat) y, + (GLfloat) (x + width), (GLfloat) y, + (GLfloat) x, (GLfloat) (y + height), + (GLfloat) (x + width), (GLfloat) (y + height) }; _COGL_GET_CONTEXT (ctx, NO_RETVAL); cogl_enable (COGL_ENABLE_VERTEX_ARRAY | (ctx->color_alpha < 255 ? COGL_ENABLE_BLEND : 0)); - GE ( cogl_wrap_glVertexPointer (2, GL_SHORT, 0, rect_verts ) ); + GE ( cogl_wrap_glVertexPointer (2, GL_FLOAT, 0, rect_verts ) ); GE ( cogl_wrap_glDrawArrays (GL_TRIANGLE_STRIP, 0, 4) ); } - -void -_cogl_rectanglex (float x, - float y, - float width, - float height) -{ - GLfloat rect_verts[8] = { - x, y, - x + width, y, - x, y + height, - x + width, y + height - }; - - _COGL_GET_CONTEXT (ctx, NO_RETVAL); - - cogl_enable (COGL_ENABLE_VERTEX_ARRAY - | (ctx->color_alpha < 255 - ? COGL_ENABLE_BLEND : 0)); - - GE( cogl_wrap_glVertexPointer (2, GL_FIXED, 0, rect_verts) ); - GE( cogl_wrap_glDrawArrays (GL_TRIANGLE_STRIP, 0, 4) ); - -} - void _cogl_path_add_node (gboolean new_sub_path, float x, @@ -150,17 +121,15 @@ _cogl_path_stroke_nodes () static void _cogl_path_get_bounds (floatVec2 nodes_min, floatVec2 nodes_max, - gint *bounds_x, - gint *bounds_y, - guint *bounds_w, - guint *bounds_h) + float *bounds_x, + float *bounds_y, + float *bounds_w, + float *bounds_h) { - *bounds_x = floorf (nodes_min.x); - *bounds_y = floorf (nodes_min.y); - *bounds_w = ceilf (nodes_max.x - - (float)(*bounds_x)); - *bounds_h = ceilf (nodes_max.y - - (float)(*bounds_y)); + *bounds_x = nodes_min.x; + *bounds_y = nodes_min.y; + *bounds_w = nodes_max.x - *bounds_x; + *bounds_h = nodes_max.y - *bounds_y; } static gint compare_ints (gconstpointer a, @@ -178,10 +147,10 @@ _cogl_add_path_to_stencil_buffer (floatVec2 nodes_min, { guint path_start = 0; guint sub_path_num = 0; - gint bounds_x; - gint bounds_y; - guint bounds_w; - guint bounds_h; + float bounds_x; + float bounds_y; + float bounds_w; + float bounds_h; _cogl_path_get_bounds (nodes_min, nodes_max, &bounds_x, &bounds_y, &bounds_w, &bounds_h); @@ -436,10 +405,10 @@ _cogl_path_fill_nodes_scanlines (CoglPathNode *path, void _cogl_path_fill_nodes () { - gint bounds_x; - gint bounds_y; - guint bounds_w; - guint bounds_h; + float bounds_x; + float bounds_y; + float bounds_w; + float bounds_h; _COGL_GET_CONTEXT (ctx, NO_RETVAL); diff --git a/clutter/cogl/gles/cogl.c b/clutter/cogl/gles/cogl.c index aa4e4fc..e835085 100644 --- a/clutter/cogl/gles/cogl.c +++ b/clutter/cogl/gles/cogl.c @@ -123,35 +123,15 @@ cogl_scale (float x, float y) } void -cogl_translatex (float x, float y, float z) +cogl_translate (float x, float y, float z) { GE( cogl_wrap_glTranslatef (x, y, z) ); } void -cogl_translate (gint x, gint y, gint z) +cogl_rotate (float angle, float x, float y, float z) { - GE( cogl_wrap_glTranslatef ((float)(x), - (float)(y), - (float)(z)) ); -} - -void -cogl_rotatex (float angle, - float x, - float y, - float z) -{ - GE( cogl_wrap_glRotatef (angle,x,y,z) ); -} - -void -cogl_rotate (gint angle, gint x, gint y, gint z) -{ - GE( cogl_wrap_glRotatef ((float)(angle), - (float)(x), - (float)(y), - (float)(z)) ); + GE( cogl_wrap_glRotatef (angle, x, y, z) ); } static inline gboolean diff --git a/clutter/pango/cogl-pango-render.c b/clutter/pango/cogl-pango-render.c index 3e23309..3cafc81 100644 --- a/clutter/pango/cogl-pango-render.c +++ b/clutter/pango/cogl-pango-render.c @@ -461,7 +461,7 @@ cogl_pango_renderer_draw_rectangle (PangoRenderer *renderer, x + width, y + height, &x2, &y2); - cogl_rectanglex (x1, y1, x2 - x1, y2 - y1); + cogl_rectangle (x1, y1, x2 - x1, y2 - y1); } static void