From 87c75363f4bba44cb3ede38da46686f1fd5f0cd8 Mon Sep 17 00:00:00 2001 From: pjrm Date: Mon, 25 Jun 2007 11:12:09 +0000 Subject: [PATCH] CodingStyle: whitespace --- src/helper/png-write.cpp | 315 ++++++++++++++++++++------------------- 1 file changed, 163 insertions(+), 152 deletions(-) diff --git a/src/helper/png-write.cpp b/src/helper/png-write.cpp index 06f736343..fb428644c 100644 --- a/src/helper/png-write.cpp +++ b/src/helper/png-write.cpp @@ -56,174 +56,174 @@ struct SPEBP { /* write a png file */ typedef struct SPPNGBD { - guchar const *px; - int rowstride; + guchar const *px; + int rowstride; } SPPNGBD; static int -sp_png_get_block_stripe (guchar const **rows, int row, int num_rows, void *data) +sp_png_get_block_stripe(guchar const **rows, int row, int num_rows, void *data) { - SPPNGBD *bd = (SPPNGBD *) data; + SPPNGBD *bd = (SPPNGBD *) data; - for (int r = 0; r < num_rows; r++) { - rows[r] = bd->px + (row + r) * bd->rowstride; - } + for (int r = 0; r < num_rows; r++) { + rows[r] = bd->px + (row + r) * bd->rowstride; + } - return num_rows; + return num_rows; } int sp_png_write_rgba(gchar const *filename, guchar const *px, int width, int height, double xdpi, double ydpi, int rowstride) { - SPPNGBD bd; + SPPNGBD bd; - bd.px = px; - bd.rowstride = rowstride; + bd.px = px; + bd.rowstride = rowstride; - return sp_png_write_rgba_striped (filename, width, height, xdpi, ydpi, sp_png_get_block_stripe, &bd); + return sp_png_write_rgba_striped(filename, width, height, xdpi, ydpi, sp_png_get_block_stripe, &bd); } int -sp_png_write_rgba_striped (gchar const *filename, int width, int height, double xdpi, double ydpi, - int (* get_rows) (guchar const **rows, int row, int num_rows, void *data), - void *data) +sp_png_write_rgba_striped(gchar const *filename, int width, int height, double xdpi, double ydpi, + int (* get_rows)(guchar const **rows, int row, int num_rows, void *data), + void *data) { struct SPEBP *ebp = (struct SPEBP *) data; - FILE *fp; - png_structp png_ptr; - png_infop info_ptr; - png_color_8 sig_bit; - png_text text_ptr[3]; - png_uint_32 r; - - g_return_val_if_fail (filename != NULL, FALSE); - - /* open the file */ - - Inkscape::IO::dump_fopen_call(filename, "M"); - fp = Inkscape::IO::fopen_utf8name(filename, "wb"); - g_return_val_if_fail (fp != NULL, FALSE); - - /* Create and initialize the png_struct with the desired error handler - * functions. If you want to use the default stderr and longjump method, - * you can supply NULL for the last three parameters. We also check that - * the library version is compatible with the one used at compile time, - * in case we are using dynamically linked libraries. REQUIRED. - */ - png_ptr = png_create_write_struct(PNG_LIBPNG_VER_STRING, NULL, NULL, NULL); - - if (png_ptr == NULL) { - fclose(fp); - return FALSE; - } - - /* Allocate/initialize the image information data. REQUIRED */ - info_ptr = png_create_info_struct(png_ptr); - if (info_ptr == NULL) { - fclose(fp); - png_destroy_write_struct(&png_ptr, NULL); - return FALSE; - } - - /* Set error handling. REQUIRED if you aren't supplying your own - * error hadnling functions in the png_create_write_struct() call. - */ - if (setjmp(png_ptr->jmpbuf)) { - /* If we get here, we had a problem reading the file */ - fclose(fp); - png_destroy_write_struct(&png_ptr, &info_ptr); - return FALSE; - } - - /* set up the output control if you are using standard C streams */ - png_init_io(png_ptr, fp); - - /* Set the image information here. Width and height are up to 2^31, - * bit_depth is one of 1, 2, 4, 8, or 16, but valid values also depend on - * the color_type selected. color_type is one of PNG_COLOR_TYPE_GRAY, - * PNG_COLOR_TYPE_GRAY_ALPHA, PNG_COLOR_TYPE_PALETTE, PNG_COLOR_TYPE_RGB, - * or PNG_COLOR_TYPE_RGB_ALPHA. interlace is either PNG_INTERLACE_NONE or - * PNG_INTERLACE_ADAM7, and the compression_type and filter_type MUST - * currently be PNG_COMPRESSION_TYPE_BASE and PNG_FILTER_TYPE_BASE. REQUIRED - */ - png_set_IHDR(png_ptr, info_ptr, - width, - height, - 8, /* bit_depth */ - PNG_COLOR_TYPE_RGB_ALPHA, - PNG_INTERLACE_NONE, - PNG_COMPRESSION_TYPE_BASE, - PNG_FILTER_TYPE_BASE); - - /* otherwise, if we are dealing with a color image then */ - sig_bit.red = 8; - sig_bit.green = 8; - sig_bit.blue = 8; - /* if the image has an alpha channel then */ - sig_bit.alpha = 8; - png_set_sBIT(png_ptr, info_ptr, &sig_bit); - - /* Made by Inkscape comment */ - text_ptr[0].key = "Software"; - text_ptr[0].text = "www.inkscape.org"; - text_ptr[0].compression = PNG_TEXT_COMPRESSION_NONE; - png_set_text(png_ptr, info_ptr, text_ptr, 1); - - /* other optional chunks like cHRM, bKGD, tRNS, tIME, oFFs, pHYs, */ - /* note that if sRGB is present the cHRM chunk must be ignored - * on read and must be written in accordance with the sRGB profile */ - png_set_pHYs(png_ptr, info_ptr, unsigned(xdpi / 0.0254 + 0.5), unsigned(ydpi / 0.0254 + 0.5), PNG_RESOLUTION_METER); - - /* Write the file header information. REQUIRED */ - png_write_info(png_ptr, info_ptr); - - /* Once we write out the header, the compression type on the text - * chunks gets changed to PNG_TEXT_COMPRESSION_NONE_WR or - * PNG_TEXT_COMPRESSION_zTXt_WR, so it doesn't get written out again - * at the end. - */ - - /* set up the transformations you want. Note that these are - * all optional. Only call them if you want them. - */ - - /* --- CUT --- */ - - /* The easiest way to write the image (you may have a different memory - * layout, however, so choose what fits your needs best). You need to - * use the first method if you aren't handling interlacing yourself. - */ - - png_bytep* row_pointers = new png_bytep[ebp->sheight]; - - r = 0; - while (r < static_cast< png_uint_32 > (height) ) { - int n = get_rows ((unsigned char const **) row_pointers, r, height-r, data); - if (!n) break; - png_write_rows (png_ptr, row_pointers, n); - r += n; - } + FILE *fp; + png_structp png_ptr; + png_infop info_ptr; + png_color_8 sig_bit; + png_text text_ptr[3]; + png_uint_32 r; + + g_return_val_if_fail(filename != NULL, FALSE); + + /* open the file */ + + Inkscape::IO::dump_fopen_call(filename, "M"); + fp = Inkscape::IO::fopen_utf8name(filename, "wb"); + g_return_val_if_fail(fp != NULL, FALSE); + + /* Create and initialize the png_struct with the desired error handler + * functions. If you want to use the default stderr and longjump method, + * you can supply NULL for the last three parameters. We also check that + * the library version is compatible with the one used at compile time, + * in case we are using dynamically linked libraries. REQUIRED. + */ + png_ptr = png_create_write_struct(PNG_LIBPNG_VER_STRING, NULL, NULL, NULL); + + if (png_ptr == NULL) { + fclose(fp); + return FALSE; + } + + /* Allocate/initialize the image information data. REQUIRED */ + info_ptr = png_create_info_struct(png_ptr); + if (info_ptr == NULL) { + fclose(fp); + png_destroy_write_struct(&png_ptr, NULL); + return FALSE; + } + + /* Set error handling. REQUIRED if you aren't supplying your own + * error hadnling functions in the png_create_write_struct() call. + */ + if (setjmp(png_ptr->jmpbuf)) { + /* If we get here, we had a problem reading the file */ + fclose(fp); + png_destroy_write_struct(&png_ptr, &info_ptr); + return FALSE; + } + + /* set up the output control if you are using standard C streams */ + png_init_io(png_ptr, fp); + + /* Set the image information here. Width and height are up to 2^31, + * bit_depth is one of 1, 2, 4, 8, or 16, but valid values also depend on + * the color_type selected. color_type is one of PNG_COLOR_TYPE_GRAY, + * PNG_COLOR_TYPE_GRAY_ALPHA, PNG_COLOR_TYPE_PALETTE, PNG_COLOR_TYPE_RGB, + * or PNG_COLOR_TYPE_RGB_ALPHA. interlace is either PNG_INTERLACE_NONE or + * PNG_INTERLACE_ADAM7, and the compression_type and filter_type MUST + * currently be PNG_COMPRESSION_TYPE_BASE and PNG_FILTER_TYPE_BASE. REQUIRED + */ + png_set_IHDR(png_ptr, info_ptr, + width, + height, + 8, /* bit_depth */ + PNG_COLOR_TYPE_RGB_ALPHA, + PNG_INTERLACE_NONE, + PNG_COMPRESSION_TYPE_BASE, + PNG_FILTER_TYPE_BASE); + + /* otherwise, if we are dealing with a color image then */ + sig_bit.red = 8; + sig_bit.green = 8; + sig_bit.blue = 8; + /* if the image has an alpha channel then */ + sig_bit.alpha = 8; + png_set_sBIT(png_ptr, info_ptr, &sig_bit); + + /* Made by Inkscape comment */ + text_ptr[0].key = "Software"; + text_ptr[0].text = "www.inkscape.org"; + text_ptr[0].compression = PNG_TEXT_COMPRESSION_NONE; + png_set_text(png_ptr, info_ptr, text_ptr, 1); + + /* other optional chunks like cHRM, bKGD, tRNS, tIME, oFFs, pHYs, */ + /* note that if sRGB is present the cHRM chunk must be ignored + * on read and must be written in accordance with the sRGB profile */ + png_set_pHYs(png_ptr, info_ptr, unsigned(xdpi / 0.0254 + 0.5), unsigned(ydpi / 0.0254 + 0.5), PNG_RESOLUTION_METER); + + /* Write the file header information. REQUIRED */ + png_write_info(png_ptr, info_ptr); + + /* Once we write out the header, the compression type on the text + * chunks gets changed to PNG_TEXT_COMPRESSION_NONE_WR or + * PNG_TEXT_COMPRESSION_zTXt_WR, so it doesn't get written out again + * at the end. + */ + + /* set up the transformations you want. Note that these are + * all optional. Only call them if you want them. + */ + + /* --- CUT --- */ + + /* The easiest way to write the image (you may have a different memory + * layout, however, so choose what fits your needs best). You need to + * use the first method if you aren't handling interlacing yourself. + */ + + png_bytep* row_pointers = new png_bytep[ebp->sheight]; + + r = 0; + while (r < static_cast< png_uint_32 > (height) ) { + int n = get_rows((unsigned char const **) row_pointers, r, height-r, data); + if (!n) break; + png_write_rows(png_ptr, row_pointers, n); + r += n; + } delete[] row_pointers; - /* You can write optional chunks like tEXt, zTXt, and tIME at the end - * as well. - */ + /* You can write optional chunks like tEXt, zTXt, and tIME at the end + * as well. + */ - /* It is REQUIRED to call this to finish writing the rest of the file */ - png_write_end(png_ptr, info_ptr); + /* It is REQUIRED to call this to finish writing the rest of the file */ + png_write_end(png_ptr, info_ptr); - /* if you allocated any text comments, free them here */ + /* if you allocated any text comments, free them here */ - /* clean up after the write, and free any memory allocated */ - png_destroy_write_struct(&png_ptr, &info_ptr); + /* clean up after the write, and free any memory allocated */ + png_destroy_write_struct(&png_ptr, &info_ptr); - /* close the file */ - fclose(fp); + /* close the file */ + fclose(fp); - /* that's it */ - return TRUE; + /* that's it */ + return TRUE; } @@ -286,21 +286,21 @@ sp_export_get_rows(guchar const **rows, int row, int num_rows, void *data) } /** -Hide all items which are not listed in list, recursively, skipping groups and defs -*/ + * Hide all items that are not listed in list, recursively, skipping groups and defs. + */ static void hide_other_items_recursively(SPObject *o, GSList *list, unsigned dkey) { - if (SP_IS_ITEM(o) - && !SP_IS_DEFS(o) - && !SP_IS_ROOT(o) - && !SP_IS_GROUP(o) - && !g_slist_find(list, o)) + if ( SP_IS_ITEM(o) + && !SP_IS_DEFS(o) + && !SP_IS_ROOT(o) + && !SP_IS_GROUP(o) + && !g_slist_find(list, o) ) { sp_item_invoke_hide(SP_ITEM(o), dkey); } - // recurse + // recurse if (!g_slist_find(list, o)) { for (SPObject *child = sp_object_first_child(o) ; child != NULL; child = SP_OBJECT_NEXT(child) ) { hide_other_items_recursively(child, list, dkey); @@ -334,8 +334,8 @@ sp_export_png_file(SPDocument *doc, gchar const *filename, } // export with maximum blur rendering quality - int saved_quality = prefs_get_int_attribute ("options.blurquality", "value", 0); - prefs_set_int_attribute ("options.blurquality", "value", 2); + int saved_quality = prefs_get_int_attribute("options.blurquality", "value", 0); + prefs_set_int_attribute("options.blurquality", "value", 2); sp_document_ensure_up_to_date(doc); @@ -417,8 +417,19 @@ sp_export_png_file(SPDocument *doc, gchar const *filename, nr_object_unref((NRObject *) arena); // restore saved blur quality - prefs_set_int_attribute ("options.blurquality", "value", saved_quality); + prefs_set_int_attribute("options.blurquality", "value", saved_quality); return write_status; } + +/* + Local Variables: + mode:c++ + c-file-style:"stroustrup" + c-file-offsets:((innamespace . 0)(inline-open . 0)(case-label . +)) + indent-tabs-mode:nil + fill-column:99 + End: +*/ +// vim: filetype=cpp:expandtab:shiftwidth=4:tabstop=8:softtabstop=4:encoding=utf-8:textwidth=99 : -- 2.30.2