commit 31fb245e86df88fcf26b5b673d567bc12a21ef5a Author: Christophe Fergeau <cferg...@mandriva.com> Date: Wed Aug 25 11:54:18 2010 +0200
add get_aligned_width function src/ithumb-writer.c | 29 ++++++++++++++--------------- 1 files changed, 14 insertions(+), 15 deletions(-) --- diff --git a/src/ithumb-writer.c b/src/ithumb-writer.c index b588ed0..f40b6c7 100644 --- a/src/ithumb-writer.c +++ b/src/ithumb-writer.c @@ -87,6 +87,17 @@ static guint16 get_RGB_565_pixel (const guchar *pixel, gint byte_order) return get_gint16 (r | g | b, byte_order); } +static guint get_aligned_width (const Itdb_ArtworkFormat *img_info) +{ + guint width; + + width = img_info->width; + if ((img_info->row_bytes_alignment > 0) && ((img_info->width % img_info->row_bytes_alignment) != 0)) { + width += img_info->row_bytes_alignment - (img_info->width % img_info->row_bytes_alignment); + } + return width; +} + static guint16 * pack_RGB_565 (GdkPixbuf *pixbuf, const Itdb_ArtworkFormat *img_info, gint horizontal_padding, gint vertical_padding, @@ -110,11 +121,7 @@ pack_RGB_565 (GdkPixbuf *pixbuf, const Itdb_ArtworkFormat *img_info, g_return_val_if_fail (((height + vertical_padding) <= img_info->height), NULL); - if ((img_info->row_bytes_alignment > 0) && ((img_info->width % img_info->row_bytes_alignment) != 0)) { - dest_width = img_info->width + (img_info->row_bytes_alignment - (img_info->width % img_info->row_bytes_alignment)); - } else { - dest_width = img_info->width; - } + dest_width = get_aligned_width (img_info); /* Make sure thumb size calculation won't overflow */ g_return_val_if_fail (dest_width != 0, NULL); @@ -216,11 +223,7 @@ pack_RGB_555 (GdkPixbuf *pixbuf, const Itdb_ArtworkFormat *img_info, g_return_val_if_fail (((width + horizontal_padding) <= img_info->width), NULL); g_return_val_if_fail (((height + vertical_padding) <= img_info->height), NULL); - if ((img_info->row_bytes_alignment > 0) && ((img_info->width % img_info->row_bytes_alignment) != 0)) { - dest_width = img_info->width + (img_info->row_bytes_alignment - (img_info->width % img_info->row_bytes_alignment)); - } else { - dest_width = img_info->width; - } + dest_width = get_aligned_width (img_info); /* Make sure thumb size calculation won't overflow */ g_return_val_if_fail (dest_width != 0, NULL); @@ -430,11 +433,7 @@ pack_rec_RGB_555 (GdkPixbuf *pixbuf, const Itdb_ArtworkFormat *img_info, { gint row_stride; - if ((img_info->row_bytes_alignment > 0) && ((img_info->width % img_info->row_bytes_alignment) != 0)) { - row_stride = img_info->width + (img_info->row_bytes_alignment - (img_info->width % img_info->row_bytes_alignment)); - } else { - row_stride = img_info->width; - } + row_stride = get_aligned_width (img_info); deranged_pixels = derange_pixels (NULL, pixels, img_info->width, img_info->height, ------------------------------------------------------------------------------ This SF.net Dev2Dev email is sponsored by: Show off your parallel programming skills. Enter the Intel(R) Threading Challenge 2010. http://p.sf.net/sfu/intel-thread-sfd _______________________________________________ gtkpod-cvs2 mailing list gtkpod-cvs2@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/gtkpod-cvs2