From d02aafbc4423ead5b00e452452643e076c4fa2e8 Mon Sep 17 00:00:00 2001 From: Carlos Garcia Campos Date: Tue, 04 May 2010 09:29:47 +0000 Subject: [libdocument] Add specific method to get a loading thumbnail It allows getting a loading thumbnail with inverted colors. See bug #616111. --- (limited to 'libdocument/ev-document-misc.c') diff --git a/libdocument/ev-document-misc.c b/libdocument/ev-document-misc.c index 4d8bc28..605cbb0 100644 --- a/libdocument/ev-document-misc.c +++ b/libdocument/ev-document-misc.c @@ -32,10 +32,11 @@ * NULL, then it will fill the return pixbuf with the contents of * source_pixbuf. */ -GdkPixbuf * -ev_document_misc_get_thumbnail_frame (int width, - int height, - GdkPixbuf *source_pixbuf) +static GdkPixbuf * +create_thumbnail_frame (int width, + int height, + GdkPixbuf *source_pixbuf, + gboolean fill_bg) { GdkPixbuf *retval; guchar *data; @@ -67,8 +68,10 @@ ev_document_misc_get_thumbnail_frame (int width, rowstride = gdk_pixbuf_get_rowstride (retval); gdk_pixbuf_fill (retval, 0x000000ff); - for (i = 1; i < height_r + 1; i++) - memset (data + (rowstride * i) + 4, 0xffffffff, width_r * 4); + if (fill_bg) { + for (i = 1; i < height_r + 1; i++) + memset (data + (rowstride * i) + 4, 0xffffffff, width_r * 4); + } /* copy the source pixbuf */ if (source_pixbuf) @@ -91,6 +94,22 @@ ev_document_misc_get_thumbnail_frame (int width, return retval; } +GdkPixbuf * +ev_document_misc_get_thumbnail_frame (int width, + int height, + GdkPixbuf *source_pixbuf) +{ + return create_thumbnail_frame (width, height, source_pixbuf, TRUE); +} + +GdkPixbuf * +ev_document_misc_get_loading_thumbnail (int width, + int height, + gboolean inverted_colors) +{ + return create_thumbnail_frame (width, height, NULL, !inverted_colors); +} + void ev_document_misc_get_page_border_size (gint page_width, gint page_height, -- cgit v0.9.1