[maemo-commits] [maemo-commits] r17160 - in projects/haf/trunk/clutter: clutter debian
From: subversion at stage.maemo.org subversion at stage.maemo.orgDate: Tue Jan 13 19:34:59 EET 2009
- Previous message: [maemo-commits] r17159 - in projects/haf/trunk/clutter: clutter debian
- Next message: [maemo-commits] r17161 - in projects/haf/trunk/libmatchbox2: . matchbox/core
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
Author: gw Date: 2009-01-13 19:34:46 +0200 (Tue, 13 Jan 2009) New Revision: 17160 Modified: projects/haf/trunk/clutter/clutter/clutter-texture.c projects/haf/trunk/clutter/clutter/clutter-texture.h projects/haf/trunk/clutter/debian/changelog Log: Added CLUTTER_TEXTURE_FLAG_16_BIT to force set_from_rgb_data to create 16 bit textures Modified: projects/haf/trunk/clutter/clutter/clutter-texture.c =================================================================== --- projects/haf/trunk/clutter/clutter/clutter-texture.c 2009-01-13 17:00:14 UTC (rev 17159) +++ projects/haf/trunk/clutter/clutter/clutter-texture.c 2009-01-13 17:34:46 UTC (rev 17160) @@ -1138,6 +1138,7 @@ clutter_texture_set_from_data (ClutterTexture *texture, const guchar *data, CoglPixelFormat source_format, + CoglPixelFormat internal_format, gint width, gint height, gint rowstride, @@ -1154,7 +1155,7 @@ priv->no_slice ? -1 : priv->max_tile_waste, priv->filter_quality == CLUTTER_TEXTURE_QUALITY_HIGH, source_format, - COGL_PIXEL_FORMAT_ANY, + internal_format, rowstride, data)) == COGL_INVALID_HANDLE) { @@ -1200,17 +1201,18 @@ **/ gboolean clutter_texture_set_from_rgb_data (ClutterTexture *texture, - const guchar *data, - gboolean has_alpha, - gint width, - gint height, - gint rowstride, - gint bpp, - ClutterTextureFlags flags, - GError **error) + const guchar *data, + gboolean has_alpha, + gint width, + gint height, + gint rowstride, + gint bpp, + ClutterTextureFlags flags, + GError **error) { ClutterTexturePrivate *priv; CoglPixelFormat source_format; + CoglPixelFormat internal_format; g_return_val_if_fail (CLUTTER_IS_TEXTURE (texture), FALSE); @@ -1265,9 +1267,14 @@ source_format |= COGL_BGR_BIT; if ((flags & CLUTTER_TEXTURE_RGB_FLAG_PREMULT)) source_format |= COGL_PREMULT_BIT; + if ((flags & CLUTTER_TEXTURE_FLAG_16_BIT)) + internal_format = COGL_PIXEL_FORMAT_ANY_16; + else + internal_format = COGL_PIXEL_FORMAT_ANY; return clutter_texture_set_from_data (texture, data, source_format, + internal_format, width, height, rowstride, bpp, error); @@ -1300,6 +1307,7 @@ GError **error) { ClutterTexturePrivate *priv; + CoglPixelFormat internal_format; g_return_val_if_fail (CLUTTER_IS_TEXTURE (texture), FALSE); @@ -1322,8 +1330,14 @@ return FALSE; } + if ((flags & CLUTTER_TEXTURE_FLAG_16_BIT)) + internal_format = COGL_PIXEL_FORMAT_ANY_16; + else + internal_format = COGL_PIXEL_FORMAT_ANY; + return clutter_texture_set_from_data (texture, data, COGL_PIXEL_FORMAT_YUV, + internal_format, width, height, width * 3, 3, error); Modified: projects/haf/trunk/clutter/clutter/clutter-texture.h =================================================================== --- projects/haf/trunk/clutter/clutter/clutter-texture.h 2009-01-13 17:00:14 UTC (rev 17159) +++ projects/haf/trunk/clutter/clutter/clutter-texture.h 2009-01-13 17:34:46 UTC (rev 17160) @@ -76,8 +76,8 @@ { ClutterActorClass parent_class; - void (*size_change) (ClutterTexture *texture, - gint width, + void (*size_change) (ClutterTexture *texture, + gint width, gint height); void (*pixbuf_change) (ClutterTexture *texture); @@ -96,6 +96,7 @@ * @CLUTTER_TEXTURE_RGB_FLAG_BGR: FIXME * @CLUTTER_TEXTURE_RGB_FLAG_PREMULT: FIXME * @CLUTTER_TEXTURE_YUV_FLAG_YUV2: FIXME + * @CLUTTER_TEXTURE_FLAG_16_BIT: Use 16 bit internal texture format * * Flags for clutter_texture_set_from_rgb_data() and * clutter_texture_set_from_yuv_data(). @@ -105,7 +106,8 @@ typedef enum { /*< prefix=CLUTTER_TEXTURE >*/ CLUTTER_TEXTURE_RGB_FLAG_BGR = 1 << 1, CLUTTER_TEXTURE_RGB_FLAG_PREMULT = 1 << 2, /* FIXME: not handled */ - CLUTTER_TEXTURE_YUV_FLAG_YUV2 = 1 << 3 + CLUTTER_TEXTURE_YUV_FLAG_YUV2 = 1 << 3, + CLUTTER_TEXTURE_FLAG_16_BIT = 1 << 4 /* FIXME: add compressed types ? */ } ClutterTextureFlags; Modified: projects/haf/trunk/clutter/debian/changelog =================================================================== --- projects/haf/trunk/clutter/debian/changelog 2009-01-13 17:00:14 UTC (rev 17159) +++ projects/haf/trunk/clutter/debian/changelog 2009-01-13 17:34:46 UTC (rev 17160) @@ -6,6 +6,8 @@ a delay - which helps get rid of multiple redraws when we get >1 XDamage events within a few ms of each other. * Changed delay down to 10ms as kimmo thought 25ms was too much + * Added CLUTTER_TEXTURE_FLAG_16_BIT to force 16 bit textures in + set_from_rgb_data -- Gordon Williams <gordon.williams at collabora.co.uk> Mon, 12 Jan 2009 16:21:48 +0000
- Previous message: [maemo-commits] r17159 - in projects/haf/trunk/clutter: clutter debian
- Next message: [maemo-commits] r17161 - in projects/haf/trunk/libmatchbox2: . matchbox/core
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]