Index: libs/gil/io_new/doc/io.qbk =================================================================== --- libs/gil/io_new/doc/io.qbk (revision 637) +++ libs/gil/io_new/doc/io.qbk (working copy) @@ -10,9 +10,7 @@ [license Distributed under the Boost Software License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at - - http://www.boost.org/LICENSE_1_0.txt - ) + [@http://www.boost.org/LICENSE_1_0.txt]) ] ] @@ -33,23 +31,23 @@ various image formats. It also includes a framework for adding new formats. Please see section 3.3 for all supported image formats. A basic tutorial is provided -in section [link _Tutorial_ Tutorial]. Also, this extension requires Boost version 1.42 and up. +in section [link gil.io.tutorial Tutorial]. Also, this extension requires Boost version 1.42 and up. For adding new image formats please refer to section [link _extenting_io_ Extending GIL::IO with new Formats]. [h2 Supported Platforms] All platforms supported by boost which have a decent C++ compiler. Depending on the image format one or more of the following image libraries might be needed: - * libtiff - * libjpeg - * libpng +* libtiff +* libjpeg +* libpng The library is designed to support as many formats as required by the user. For instance, if the user only needs bmp support none of the above mentioned dependencies are required. There are more details available in this documentation on the image format dependencies. -Please see section [link _Supported_Formats_ Supported Image Formats]. +Please see section [link gil.io.using_io.supported_image_formats Supported Image Formats]. [endsect] [section Tutorial] @@ -65,9 +63,9 @@ allow to read and write. Whereas, tiff_read.hpp only allows for reading. If the user only wants to write jpeg's include jpeg_write.hpp. All formats provide these three types of header files: - * xxx_all.hpp - * xxx_read.hpp - * xxx_write.hpp +* xxx_all.hpp +* xxx_read.hpp +* xxx_write.hpp xxx stands for image format. @@ -164,7 +162,7 @@ [endsect] -[section Using IO] +[section:using_io Using IO] [h2 Read Interface] As the Tutorial demonstrated there are a few ways to read images. Here is an enumeration of all read functions with a short description: @@ -322,19 +320,19 @@ planar images are possible. For instance, rbg323 or gray7. The channels also can have specific formats, like integer values or floating point values. For a complete set of options please consult the following websites: - * _TIFF_Base_Tags_ - * _TIFF_Extension_Tags_ +* _TIFF_Base_Tags_ +* _TIFF_Extension_Tags_ The author of this extension is not claiming all tiff formats are supported. This extension is likely to be a moving target adding new features with each new milestone. Here is an incomplete lists: - * Multi-page tiffs - read only - * Strip tiffs - read and write support - * Tiled tiffs - read and write support with user defined tiled sizes - * bit images tiffs - fully supported, like gray1_image_t ( minisblack ) - * planar tiffs - fully supported - * floating point tiffs - fully supported - * palette tiffs - supported but no indexed image type is available as of now +* Multi-page tiffs - read only +* Strip tiffs - read and write support +* Tiled tiffs - read and write support with user defined tiled sizes +* bit images tiffs - fully supported, like gray1_image_t ( minisblack ) +* planar tiffs - fully supported +* floating point tiffs - fully supported +* palette tiffs - supported but no indexed image type is available as of now This gil extension uses two different test image suites to test read and write capabilities. See test_image folder. It's advisable to use ImageMagick's test viewer to display images. @@ -343,30 +341,31 @@ Extending the gil::io with new formats is meant to be simple and straightforward. Before adding I would recommend to have a look at existing implementations and then trying to follow a couple of guidelines: - * Create the following files for your new xxx format - * xxx_read.hpp // Only includes read code - * xxx_write.hpp // Only includes write code - * xxx_all.hpp // includes xxx_read.hpp and xxx_write.hpp - * Add the code to the boost::gil::detail namespace - * Create a tag type for the new format. Like this: - +* Create the following files for your new xxx format + * xxx_read.hpp // Only includes read code + * xxx_write.hpp // Only includes write code + * xxx_all.hpp // includes xxx_read.hpp and xxx_write.hpp +* Add the code to the boost::gil::detail namespace +* Create a tag type for the new format. Like this: + `` struct xxx_tag : format_tag {}; + `` - * Create the image_read_info for the new format. It contains all the information that are - necessary to read an image. It should be filled and returned by the get_info() member of - the reader class. See below. - - template<> struct image_read_info< xxx_tag > {}; - +* Create the image_read_info for the new format. It contains all the information that are + necessary to read an image. It should be filled and returned by the get_info() member of + the reader class. See below. + `` + template<> struct image_read_info< xxx_tag > {}; + `` - * Create the image_write_info for the new format. It contains all the information that are - necessary to write an image. - - template<> struct image_write_info< xxx_tag > {}; - +* Create the image_write_info for the new format. It contains all the information that are + necessary to write an image. + `` + template<> struct image_write_info< xxx_tag > {}; + `` - * Use the following reader skeleton as a start: - +* Use the following reader skeleton as a start: + `` template< typename Device , typename ConversionPolicy > @@ -408,10 +407,10 @@ // your implementation here } }; - + `` - * The writer skeleton: - +* The writer skeleton: + `` template< typename Device > class writer< Device , xxx_tag @@ -436,6 +435,6 @@ // your implementation here } }; - -[endsect] + `` +[endsect] Index: libs/gil/io_new/doc/jamfile.v2 =================================================================== --- libs/gil/io_new/doc/jamfile.v2 (revision 637) +++ libs/gil/io_new/doc/jamfile.v2 (working copy) @@ -11,6 +11,7 @@ # ----------------------------------------------------------------------------- import quickbook ; +using boostbook ; xml io :