[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 ]
