diff --git a/_tools/code_generators/libs/png++/ChangeLog b/_tools/code_generators/libs/png++/ChangeLog index ca3792187264a18d414072316b15aa153b0eb38d..e4433a94a837ad58cbd49d4a046e735deaba6962 100644 --- a/_tools/code_generators/libs/png++/ChangeLog +++ b/_tools/code_generators/libs/png++/ChangeLog @@ -1,3 +1,8 @@ +2009-06-21 Alex Shulgin + + * config.hpp: Added support for FreeBSD (detect endianness). + Patch by <c.petrik.sosa@gmail.com>. + png++-0.2.3 19 Oct 2008 Fixed numerous `already defined' errors due to require_color_space diff --git a/_tools/code_generators/libs/png++/Doxyfile b/_tools/code_generators/libs/png++/Doxyfile index 0db262f0470adc22bc3fd1ba4d749b5b8072562d..0692826bf28bd8523bb696ea4ba35a1af62f64f9 100644 --- a/_tools/code_generators/libs/png++/Doxyfile +++ b/_tools/code_generators/libs/png++/Doxyfile @@ -29,7 +29,7 @@ PROJECT_NAME = png++ # number. This could be handy for archiving the generated # documentation or if some version control system is used. -PROJECT_NUMBER = 0.2.1 +PROJECT_NUMBER = $(VERSION) # The OUTPUT_DIRECTORY tag is used to specify the (relative or # absolute) base path where the generated documentation will be put. diff --git a/_tools/code_generators/libs/png++/Makefile b/_tools/code_generators/libs/png++/Makefile index 2accfbec969807c465e3dbb455ec7fe8f79a17bd..3cc0a11902d6e66f072070b0cd63be1cc7b6f5ef 100644 --- a/_tools/code_generators/libs/png++/Makefile +++ b/_tools/code_generators/libs/png++/Makefile @@ -29,34 +29,18 @@ # SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. # -# don't forget to update version before releasing! -version := 0.2.3 - -ifndef PREFIX -PREFIX := /usr/local -endif - -ifdef MINGW -bin_suffix := .exe -endif +PNGPP := . -make_cflags := -Wall $(CFLAGS) -I$(PREFIX)/include -make_ldflags := $(LDFLAGS) -L$(PREFIX)/lib - -ifndef NDEBUG -make_cflags := $(make_cflags) -g -make_ldflags := $(make_ldflags) -g -endif - -ifndef LIBPNG_CONFIG -LIBPNG_CONFIG := libpng-config -endif +# don't forget to update version before releasing! +version := 0.2.9 -build_files := Makefile Doxyfile +build_files := common.mk Makefile Doxyfile doc_files := AUTHORS BUGS ChangeLog COPYING INSTALL NEWS README TODO -headers := *.hpp +headers := $(wildcard *.hpp) sources := +include common.mk + dist_dir := png++-$(version) dist_package := png++-$(version).tar.gz dist_files := $(build_files) $(doc_files) \ @@ -67,9 +51,14 @@ all: examples install: install-headers install-docs +uninstall: uninstall-headers uninstall-docs + install-headers: mkdir -p $(PREFIX)/include/png++ - cp *.hpp $(PREFIX)/include/png++ + cp $(headers) $(PREFIX)/include/png++ + +uninstall-headers: + rm -rf $(PREFIX)/include/png++ dist: dist-mkdir dist-copy-files dist-package @@ -90,27 +79,24 @@ dist-package: rm -rf $(dist_dir) clean: test-clean examples-clean -# rm -f $(targets) thorough-clean: clean docs-clean check: test test: - $(MAKE) test -C test $(MAKEFLAGS) PNGPP=`pwd` + $(MAKE) test -C test $(MAKEFLAGS) test-clean: $(MAKE) clean -C test $(MAKEFLAGS) -test-compile-headers: *.hpp - for i in *.hpp; do \ - echo '#include "'$$i'"' >$$i.cpp \ - && g++ -c $$i.cpp $(make_cflags) `$(LIBPNG_CONFIG) --cflags`; \ - done - rm -f *.hpp.o *.hpp.cpp +test-compile-headers: $(headers:%.hpp=%.hpp.o) + +%.hpp.o: + $(CXX) -c $(@:%.hpp.o=%.hpp) -o /dev/null $(make_cflags) docs: - doxygen + VERSION=$(version) doxygen docs-clean: rm -rf doc @@ -126,15 +112,18 @@ install-docs: [ -d png++ ] || ln -s $(dist_dir) png++; \ fi +uninstall-docs: + rm -rf $(PREFIX)/share/doc/$(dist_dir) $(PREFIX)/share/doc/png++ + examples: $(MAKE) -C example $(MAKEFLAGS) examples-clean: $(MAKE) clean -C example $(MAKEFLAGS) -.PHONY: all install \ +.PHONY: install \ dist dist-mkdir dist-copy-files dist-package \ - clean thorough-clean \ + thorough-clean \ check test test-clean test-compile-headers \ docs docs-clean \ examples examples-clean diff --git a/_tools/code_generators/libs/png++/NEWS b/_tools/code_generators/libs/png++/NEWS index 74b228b9f04d1fa065e82945aa63f18daa3db075..cc006fbf5eb5ddf9c1c0008b0cdfee38ac812f8e 100644 --- a/_tools/code_generators/libs/png++/NEWS +++ b/_tools/code_generators/libs/png++/NEWS @@ -1,3 +1,21 @@ +Version 0.2.7: + + - Added solid_pixel_buffer (patch by Andrey Potapov). + + - Fixed some compilation problems on Win32. + +Version 0.2.5: + + - Fixed compatibility with newer libpng versions (>= 1.4) + + - Fixed compilation on FreeBSD. + + - Fixed tRNS handling with transformations. + + - Added IO transformation debugging facility. + + - Better organized test suite. + Version 0.2.3: - Fixed numerous `already defined' errors due to require_color_space diff --git a/_tools/code_generators/libs/png++/common.mk b/_tools/code_generators/libs/png++/common.mk new file mode 100644 index 0000000000000000000000000000000000000000..2886324d80cd629a1ff9686ced0fbf933bc8b700 --- /dev/null +++ b/_tools/code_generators/libs/png++/common.mk @@ -0,0 +1,47 @@ +ifndef PREFIX +PREFIX := /usr/local +endif + +ifdef MINGW +bin_suffix := .exe +endif + +ifndef CXX +CXX := g++ +endif + +ifndef LIBPNG_CONFIG +LIBPNG_CONFIG := libpng-config +endif + +make_cflags := -Wall -I$(PNGPP) -I$(PREFIX)/include $(shell $(LIBPNG_CONFIG) --cflags) $(CFLAGS) +make_ldflags := -L$(PREFIX)/lib $(shell $(LIBPNG_CONFIG) --ldflags) $(LDFLAGS) + +ifndef NDEBUG +make_cflags := $(make_cflags) -g +make_ldflags := $(make_ldflags) -g +endif + +deps := $(sources:.cpp=.dep) +objects := $(sources:.cpp=.o) +bins := $(sources:.cpp=$(bin_suffix)) + +all: $(deps) $(bins) + +%$(bin_suffix): %.o + $(CXX) -o $@ $< $(make_ldflags) + +%.o: %.cpp + $(CXX) -c -o $@ $< $(make_cflags) + +%.dep: %.cpp + $(CXX) -M $(CPPFLAGS) $(make_cflags) $< -o- | \ + sed 's/\($*\)\.o[ :]*/\1.o $@ : /g' > $@ + +clean: clean-deps + rm -f $(bins) $(objects) + +clean-deps: + rm -f $(deps) + +.PHONY: all clean clean-deps diff --git a/_tools/code_generators/libs/png++/config.hpp b/_tools/code_generators/libs/png++/config.hpp index 0604e42ca3d4e6f1cd0c1302c562bc2fc322e3ae..4a317b29cfa564356209bd4956648ddcf5415b34 100644 --- a/_tools/code_generators/libs/png++/config.hpp +++ b/_tools/code_generators/libs/png++/config.hpp @@ -31,12 +31,14 @@ #ifndef PNGPP_CONFIG_HPP_INCLUDED #define PNGPP_CONFIG_HPP_INCLUDED +#include <stdlib.h> + // Endianness test #if defined(__GLIBC__) #include <endian.h> -#elif defined(__WIN32) +#elif defined(_WIN32) #define __LITTLE_ENDIAN 1234 #define __BIG_ENDIAN 4321 @@ -47,10 +49,50 @@ #include <machine/endian.h> #include <sys/_endian.h> +#elif defined(__FreeBSD__) + +#include <machine/endian.h> +#include <sys/endian.h> + +#elif defined(__sun) + +#include <sys/isa_defs.h> + #else #error Byte-order could not be detected. #endif +// Determine C++11 features +#if defined(__GNUC__) && defined(__GNUC_MINOR__) && defined(__GNUC_PATCHLEVEL__) && defined(__GXX_EXPERIMENTAL_CXX0X__) + +#define PNGPP_GCC_VERSION (__GNUC__ * 10000 + __GNUC_MINOR__ * 100 + __GNUC_PATCHLEVEL__) +// gcc c++11 support list +// http://gcc.gnu.org/projects/cxx0x.html + +// gcc supports static_assert since 4.3 +#if (PNGPP_GCC_VERSION >= 40300) +#define PNGPP_HAS_STATIC_ASSERT +#endif + +// gcc supports std::move since 4.6 +#if (PNGPP_GCC_VERSION >= 40600) +#define PNGPP_HAS_STD_MOVE +#endif + +#undef PNGPP_GCC_VERSION + +#elif defined(_MSC_VER) + +// MS Visual C++ compiler supports static_assert and std::move since VS2010 +// http://blogs.msdn.com/b/vcblog/archive/2011/09/12/10209291.aspx +#if (_MSC_VER >= 1600) +#define PNGPP_HAS_STATIC_ASSERT +#define PNGPP_HAS_STD_MOVE +#endif + +#endif + + #endif // PNGPP_CONFIG_HPP_INCLUDED diff --git a/_tools/code_generators/libs/png++/consumer.hpp b/_tools/code_generators/libs/png++/consumer.hpp index dac63746f8248dfd0ff8c7c0ded73446f864aa16..a3ff9ecc97213f8a7dcd97bc318fb3026a3d40c5 100644 --- a/_tools/code_generators/libs/png++/consumer.hpp +++ b/_tools/code_generators/libs/png++/consumer.hpp @@ -68,7 +68,7 @@ namespace png * as follows: * * \code - * png::byte* get_next_row(size_t pos); + * png::byte* get_next_row(png::uint_32 pos); * void reset(size_t pass); * \endcode * @@ -167,8 +167,7 @@ namespace png #ifdef PNG_READ_SWAP_SUPPORTED rd.set_swap(); #else - throw error("Cannot read 16-bit image:" - " recompile with PNG_READ_SWAP_SUPPORTED."); + throw error("Cannot read 16-bit image: recompile with PNG_READ_SWAP_SUPPORTED."); #endif } #endif @@ -180,8 +179,7 @@ namespace png #ifdef PNG_READ_INTERLACING_SUPPORTED pass_count = rd.set_interlace_handling(); #else - throw error("Cannot read interlaced image:" - " interlace handling disabled."); + throw error("Cannot read interlaced image: interlace handling disabled."); #endif } else @@ -244,7 +242,7 @@ namespace png { pixel_con->reset(pass); - for (size_t pos = 0; pos < this->get_info().get_height(); ++pos) + for (uint_32 pos = 0; pos < this->get_info().get_height(); ++pos) { rd.read_row(pixel_con->get_next_row(pos)); } diff --git a/_tools/code_generators/libs/png++/convert_color_space.hpp b/_tools/code_generators/libs/png++/convert_color_space.hpp index 796a903980f1dfca3cf3d018eba411e161b216c0..19b25432f701b997d5bd88911a28d8d540fcd218 100644 --- a/_tools/code_generators/libs/png++/convert_color_space.hpp +++ b/_tools/code_generators/libs/png++/convert_color_space.hpp @@ -74,26 +74,34 @@ namespace png static void expand_8_to_16(png_struct*, png_row_info* row_info, byte* row) { -// dump_row(row, row_info->rowbytes); - - for (size_t i = row_info->rowbytes; i-- > 0; ) +#ifdef DEBUG_EXPAND_8_16 + printf("row: width=%d, bytes=%d, channels=%d\n", + row_info->width, row_info->rowbytes, row_info->channels); + printf("<= "); + dump_row(row, row_info->rowbytes); +#endif + for (uint_32 i = row_info->rowbytes; i-- > 0; ) { - row[i*2 + 1] = row[i]; - row[i*2 + 0] = 0; + row[2*i + 1] = row[i]; + row[2*i + 0] = 0; } - -// dump_row(row, 2*row_info->rowbytes); +#ifdef DEBUG_EXPAND_8_16 + printf("=> "); + dump_row(row, 2*row_info->rowbytes); +#endif } - static void dump_row(byte const* row, size_t width) +#ifdef DEBUG_EXPAND_8_16 + static void dump_row(byte const* row, uint_32 width) { printf("{"); - for (size_t i = 0; i < width; ++i) + for (uint_32 i = 0; i < width; ++i) { printf(" %02x,", row[i]); } printf(" }\n"); } +#endif template< class reader > static void handle_16(reader& io) @@ -103,8 +111,7 @@ namespace png #ifdef PNG_READ_16_TO_8_SUPPORTED io.set_strip_16(); #else - throw error("expected 8-bit data but found 16-bit;" - " recompile with PNG_READ_16_TO_8_SUPPORTED"); + throw error("expected 8-bit data but found 16-bit; recompile with PNG_READ_16_TO_8_SUPPORTED"); #endif } if (io.get_bit_depth() != 16 && traits::get_bit_depth() == 16) @@ -114,9 +121,7 @@ namespace png io.set_user_transform_info(NULL, 16, traits::get_channels()); #else - throw error("expected 16-bit data but found 8-bit;" - " recompile with" - " PNG_READ_USER_TRANSFORM_SUPPORTED"); + throw error("expected 16-bit data but found 8-bit; recompile with PNG_READ_USER_TRANSFORM_SUPPORTED"); #endif } } @@ -124,23 +129,21 @@ namespace png template< class reader > static void handle_alpha(reader& io, uint_32 filler) { - bool src_alpha = io.get_color_type() & color_mask_alpha; + bool src_alpha = (io.get_color_type() & color_mask_alpha); + bool src_tRNS = io.has_chunk(chunk_tRNS); bool dst_alpha = traits::get_color_type() & color_mask_alpha; - if (src_alpha && !dst_alpha) + if ((src_alpha || src_tRNS) && !dst_alpha) { #ifdef PNG_READ_STRIP_ALPHA_SUPPORTED io.set_strip_alpha(); #else - throw error("alpha channel unexpected;" - " recompile with" - " PNG_READ_STRIP_ALPHA_SUPPORTED"); + throw error("alpha channel unexpected; recompile with PNG_READ_STRIP_ALPHA_SUPPORTED"); #endif } if (!src_alpha && dst_alpha) { #if defined(PNG_tRNS_SUPPORTED) && defined(PNG_READ_EXPAND_SUPPORTED) - if ((io.get_color_type() & color_mask_palette) - && io.has_chunk(chunk_tRNS)) + if (src_tRNS) { io.set_tRNS_to_alpha(); return; @@ -149,9 +152,7 @@ namespace png #if defined(PNG_READ_FILLER_SUPPORTED) && !defined(PNG_1_0_X) io.set_add_alpha(filler, filler_after); #else - throw error("expected alpha channel but none found;" - " recompile with PNG_READ_FILLER_SUPPORTED" - " and be sure to use libpng > 1.0.x"); + throw error("expected alpha channel but none found; recompile with PNG_READ_FILLER_SUPPORTED and be sure to use libpng > 1.0.x"); #endif } } @@ -159,19 +160,36 @@ namespace png template< class reader > static void handle_palette(reader& io) { - if (io.get_color_type() == color_type_palette) + bool src_palette = + io.get_color_type() == color_type_palette; + bool dst_palette = + traits::get_color_type() == color_type_palette; + if (src_palette && !dst_palette) { #ifdef PNG_READ_EXPAND_SUPPORTED io.set_palette_to_rgb(); - - if (traits::get_color_type() != color_type_palette) - { - io.get_info().drop_palette(); - } + io.get_info().drop_palette(); #else - throw error("indexed colors unexpected;" - " recompile with PNG_READ_EXPAND_SUPPORTED"); + throw error("indexed colors unexpected; recompile with PNG_READ_EXPAND_SUPPORTED"); +#endif + } + else if (!src_palette && dst_palette) + { + throw error("conversion to indexed colors is unsupported (yet)"); + } + else if (src_palette && dst_palette + && io.get_bit_depth() != traits::get_bit_depth()) + { + if (traits::get_bit_depth() == 8) + { +#ifdef PNG_READ_PACK_SUPPORTED + io.set_packing(); #endif + } + else + { + throw error("cannot convert to indexed colors with bit-depth < 8"); + } } } @@ -186,9 +204,7 @@ namespace png #ifdef PNG_READ_RGB_TO_GRAY_SUPPORTED io.set_rgb_to_gray(/*rgb_to_gray_error*/); #else - throw error("grayscale data expected;" - " recompile with" - " PNG_READ_RGB_TO_GRAY_SUPPORTED"); + throw error("grayscale data expected; recompile with PNG_READ_RGB_TO_GRAY_SUPPORTED"); #endif } if (!src_rgb && dst_rgb) @@ -196,9 +212,7 @@ namespace png #ifdef PNG_READ_GRAY_TO_RGB_SUPPORTED io.set_gray_to_rgb(); #else - throw error("expected RGB data;" - " recompile with" - " PNG_READ_GRAY_TO_RGB_SUPPORTED"); + throw error("expected RGB data; recompile with PNG_READ_GRAY_TO_RGB_SUPPORTED"); #endif } } @@ -214,9 +228,7 @@ namespace png #ifdef PNG_READ_EXPAND_SUPPORTED io.set_gray_1_2_4_to_8(); #else - throw error("convert_color_space: expected 8-bit data;" - " recompile with" - " PNG_READ_EXPAND_SUPPORTED"); + throw error("convert_color_space: expected 8-bit data; recompile with PNG_READ_EXPAND_SUPPORTED"); #endif } } @@ -325,6 +337,16 @@ namespace png { }; + /** + * \brief Converts %image %color space. A specialization for + * index_pixel type. + */ + template<> + struct convert_color_space< index_pixel > + : detail::convert_color_space_impl< index_pixel > + { + }; + } // namespace png #endif // PNGPP_CONVERT_COLOR_SPACE_HPP_INCLUDED diff --git a/_tools/code_generators/libs/png++/error.hpp b/_tools/code_generators/libs/png++/error.hpp index 971032f310454d9fd3bdc9bf308379f6240e7a56..834cf1b3a9e84997b21ec685f7e401cc9810964b 100644 --- a/_tools/code_generators/libs/png++/error.hpp +++ b/_tools/code_generators/libs/png++/error.hpp @@ -31,9 +31,21 @@ #ifndef PNGPP_ERROR_HPP_INCLUDED #define PNGPP_ERROR_HPP_INCLUDED +/* check if we have strerror_s or strerror_r, prefer the former which is C11 std */ +#ifdef __STDC_LIB_EXT1__ +#define __STDC_WANT_LIB_EXT1__ 1 +#include <string.h> + +#define HAVE_STRERROR_S 1 +#else +#undef HAVE_STRERROR_S +#endif + +#include <string> #include <stdexcept> #include <cerrno> #include <cstdlib> +#include <cstring> namespace png { @@ -73,10 +85,32 @@ namespace png * \param message error description * \param error error number */ - explicit std_error(std::string const& message, int error = errno) - : std::runtime_error((message + ": ") + strerror(error)) + explicit std_error(std::string const& message, int errnum = errno) + : std::runtime_error((message + ": ") + thread_safe_strerror(errnum)) { } + + protected: + static std::string thread_safe_strerror(int errnum) + { +#define ERRBUF_SIZE 512 + char buf[ERRBUF_SIZE] = { 0 }; + +#ifdef HAVE_STRERROR_S + strerror_s(buf, ERRBUF_SIZE, errnum); + return std::string(buf); +#else +#if (_POSIX_C_SOURCE >= 200112L || _XOPEN_SOURCE >= 600) && !_GNU_SOURCE + strerror_r(errnum, buf, ERRBUF_SIZE); + return std::string(buf); +#else + /* GNU variant can return a pointer to static buffer instead of buf */ + return std::string(strerror_r(errnum, buf, ERRBUF_SIZE)); +#endif +#endif + +#undef ERRBUF_SIZE + } }; } // namespace png diff --git a/_tools/code_generators/libs/png++/example/Makefile b/_tools/code_generators/libs/png++/example/Makefile index 1cbb0a2f4f4bc6e63850952dcaa4edd10e1ddaab..3c209dc0c58d7d2f989584ceee8a563d1293ba6d 100644 --- a/_tools/code_generators/libs/png++/example/Makefile +++ b/_tools/code_generators/libs/png++/example/Makefile @@ -28,55 +28,18 @@ # NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS # SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. # -ifndef PREFIX -PREFIX := /usr/local -endif - ifndef PNGPP PNGPP := .. endif -make_cflags := -Wall $(CFLAGS) -I$(PREFIX)/include -I$(PNGPP) -make_ldflags := $(LDFLAGS) -L$(PREFIX)/lib - -ifndef NDEBUG -make_cflags := $(make_cflags) -g -make_ldflags := $(make_ldflags) -g -endif - -ifndef LIBPNG_CONFIG -LIBPNG_CONFIG := libpng-config -endif - sources := pixel_generator.cpp -deps := $(sources:.cpp=.dep) -objects := $(sources:.cpp=.o) -targets := $(sources:.cpp=$(bin_suffix)) - -all: $(deps) $(targets) +include ../common.mk dist-copy-files: mkdir $(dist_dir)/example cp $(sources) Makefile $(dist_dir)/example -clean: clean-deps - rm -f $(targets) $(objects) - -.PHONY: all dist-copy-files clean clean-deps - -%$(bin_suffix): %.o - g++ -o $@ $< $(make_ldflags) `$(LIBPNG_CONFIG) --ldflags` - -%.o: %.cpp - g++ -c -o $@ $< $(make_cflags) `$(LIBPNG_CONFIG) --cflags` - - -%.dep: %.cpp - g++ -M $(CPPFLAGS) $(make_cflags) $< -o- | \ - sed 's/\($*\)\.o[ :]*/\1.o $@ : /g' > $@ - -clean-deps: - rm -f $(deps) +.PHONY: dist-copy-files include $(deps) diff --git a/_tools/code_generators/libs/png++/generator.hpp b/_tools/code_generators/libs/png++/generator.hpp index e9cc02be01f5bc5b6b0d4ad7fd7872acb708ef5a..e2f632319e6b77924de0577abdd8db431fe1dc2c 100644 --- a/_tools/code_generators/libs/png++/generator.hpp +++ b/_tools/code_generators/libs/png++/generator.hpp @@ -69,7 +69,7 @@ namespace png * as follows: * * \code - * png::byte* get_next_row(size_t pos); + * png::byte* get_next_row(png::uint_32 pos); * void reset(size_t pass); * \endcode * @@ -138,8 +138,7 @@ namespace png #ifdef PNG_WRITE_SWAP_SUPPORTED wr.set_swap(); #else - throw error("Cannot write 16-bit image:" - " recompile with PNG_WRITE_SWAP_SUPPORTED."); + throw error("Cannot write 16-bit image: recompile with PNG_WRITE_SWAP_SUPPORTED."); #endif } #endif @@ -154,12 +153,10 @@ namespace png } else { - throw std::logic_error("Cannot write interlaced image:" - " generator does not support it."); + throw std::logic_error("Cannot write interlaced image: generator does not support it."); } #else - throw error("Cannot write interlaced image:" - " interlace handling disabled."); + throw error("Cannot write interlaced image: interlace handling disabled."); #endif } else @@ -171,7 +168,7 @@ namespace png { pixel_gen->reset(pass); - for (size_t pos = 0; pos < this->get_info().get_height(); ++pos) + for (uint_32 pos = 0; pos < this->get_info().get_height(); ++pos) { wr.write_row(pixel_gen->get_next_row(pos)); } diff --git a/_tools/code_generators/libs/png++/gray_pixel.hpp b/_tools/code_generators/libs/png++/gray_pixel.hpp index c1bdb077b40124cb2a93965ef83417972d254c2f..69978b72a09bdec0c441c808abd6e146090bd15b 100644 --- a/_tools/code_generators/libs/png++/gray_pixel.hpp +++ b/_tools/code_generators/libs/png++/gray_pixel.hpp @@ -52,7 +52,7 @@ namespace png * \brief The packed gray pixel class template. The available * specializations are for 1-, 2- and 4-bit pixels. */ - template< size_t bits > + template< int bits > class packed_gray_pixel : public packed_pixel< bits > { @@ -99,7 +99,7 @@ namespace png /** * \brief Pixel traits specialization for packed_gray_pixel. */ - template< size_t bits > + template< int bits > struct pixel_traits< packed_gray_pixel< bits > > : basic_pixel_traits< packed_gray_pixel< bits >, byte, color_type_gray, /* channels = */ 1, bits > diff --git a/_tools/code_generators/libs/png++/image.hpp b/_tools/code_generators/libs/png++/image.hpp index 0cbf8e4e4c3bdd21e1fdfc20f62a03f206b780c8..bca475a3649d20b9690be8f15b2a71126de78150 100644 --- a/_tools/code_generators/libs/png++/image.hpp +++ b/_tools/code_generators/libs/png++/image.hpp @@ -47,8 +47,18 @@ namespace png * %info like interlace type, compression method, palette (for * colormap-based images) etc. Provides methods to read and write * images from/to a generic stream and to manipulate %image pixels. + * + * The default pixel_buffer stores pixels in a vector of vectors, which + * is good for openning, editing or converting an image to any + * pixel type. + * But for simple and fast image unpacking to one memory chunk this approch + * is unacceptable, because it leads to multiple memory allocations, the + * unpacked image is spread across the memory and client code needs to + * gather it manualy. solid_pixel_buffer solves this problem, but with + * restriction: pixels with fractional number of bytes per channel are + * not allowed (see solid_pixel_buffer.hpp for details). */ - template< typename pixel > + template< typename pixel, typename pixel_buffer_type = pixel_buffer< pixel > > class image { public: @@ -60,12 +70,14 @@ namespace png /** * \brief The pixel buffer type for \c pixel. */ - typedef pixel_buffer< pixel > pixbuf; + typedef pixel_buffer_type pixbuf; /** * \brief Represents a row of image pixel data. */ typedef typename pixbuf::row_type row_type; + typedef typename pixbuf::row_access row_access; + typedef typename pixbuf::row_const_access row_const_access; /** * \brief A transformation functor to convert any image to @@ -92,7 +104,7 @@ namespace png /** * \brief Constructs an empty image of specified width and height. */ - image(size_t width, size_t height) + image(uint_32 width, uint_32 height) : m_info(make_image_info< pixel >()) { resize(width, height); @@ -262,14 +274,6 @@ namespace png write_stream(stream); } - /** - * \brief Writes an image to a stream. - */ - void write_stream(std::ostream& stream) - { - write_stream(stream); - } - /** * \brief Writes an image to a stream. */ @@ -306,12 +310,12 @@ namespace png m_pixbuf = buffer; } - size_t get_width() const + uint_32 get_width() const { return m_pixbuf.get_width(); } - size_t get_height() const + uint_32 get_height() const { return m_pixbuf.get_height(); } @@ -319,7 +323,7 @@ namespace png /** * \brief Resizes the image pixel buffer. */ - void resize(size_t width, size_t height) + void resize(uint_32 width, uint_32 height) { m_pixbuf.resize(width, height); m_info.set_width(width); @@ -332,7 +336,7 @@ namespace png * * \see pixel_buffer::get_row() */ - row_type& get_row(size_t index) + row_access get_row(size_t index) { return m_pixbuf.get_row(index); } @@ -343,7 +347,7 @@ namespace png * * \see pixel_buffer::get_row() */ - row_type const& get_row(size_t index) const + row_const_access get_row(size_t index) const { return m_pixbuf.get_row(index); } @@ -351,7 +355,7 @@ namespace png /** * \brief The non-checking version of get_row() method. */ - row_type& operator[](size_t index) + row_access operator[](size_t index) { return m_pixbuf[index]; } @@ -359,7 +363,7 @@ namespace png /** * \brief The non-checking version of get_row() method. */ - row_type const& operator[](size_t index) const + row_const_access operator[](size_t index) const { return m_pixbuf[index]; } @@ -449,6 +453,16 @@ namespace png m_info.set_tRNS(trns); } + double get_gamma() const + { + return m_info.get_gamma(); + } + + void set_gamma(double gamma) + { + m_info.set_gamma(gamma); + } + protected: /** * \brief A common base class template for pixel_consumer and diff --git a/_tools/code_generators/libs/png++/image_info.hpp b/_tools/code_generators/libs/png++/image_info.hpp index 9b1789039cdbe2e65938070ae89ba1fa5f256d5c..8407bc18b89503a03e494ffb70f616753bce0718 100644 --- a/_tools/code_generators/libs/png++/image_info.hpp +++ b/_tools/code_generators/libs/png++/image_info.hpp @@ -59,26 +59,27 @@ namespace png m_color_type(color_type_none), m_interlace_type(interlace_none), m_compression_type(compression_type_default), - m_filter_type(filter_type_default) + m_filter_type(filter_type_default), + m_gamma(0.0) { } - size_t get_width() const + uint_32 get_width() const { return m_width; } - void set_width(size_t width) + void set_width(uint_32 width) { m_width = width; } - size_t get_height() const + uint_32 get_height() const { return m_height; } - void set_height(size_t height) + void set_height(uint_32 height) { m_height = height; } @@ -93,12 +94,12 @@ namespace png m_color_type = color_space; } - size_t get_bit_depth() const + int get_bit_depth() const { return m_bit_depth; } - void set_bit_depth(size_t bit_depth) + void set_bit_depth(int bit_depth) { m_bit_depth = bit_depth; } @@ -171,16 +172,27 @@ namespace png m_tRNS = trns; } + double get_gamma() const + { + return m_gamma; + } + + void set_gamma(double gamma) + { + m_gamma = gamma; + } + protected: uint_32 m_width; uint_32 m_height; - size_t m_bit_depth; + int m_bit_depth; color_type m_color_type; interlace_type m_interlace_type; compression_type m_compression_type; filter_type m_filter_type; palette m_palette; tRNS m_tRNS; + double m_gamma; }; /** diff --git a/_tools/code_generators/libs/png++/index_pixel.hpp b/_tools/code_generators/libs/png++/index_pixel.hpp index a28b8060d21fc7fb29137a8fe92396d5bba62221..204a2f890230e44803901e4b8a28d34e412364e3 100644 --- a/_tools/code_generators/libs/png++/index_pixel.hpp +++ b/_tools/code_generators/libs/png++/index_pixel.hpp @@ -62,7 +62,7 @@ namespace png * \brief The packed indexed pixel class template. The available * specializations are for 1-, 2- and 4-bit pixels. */ - template< size_t bits > + template< int bits > class packed_index_pixel : public packed_pixel< bits > { @@ -100,7 +100,7 @@ namespace png /** * \brief Pixel traits specialization for packed_index_pixel. */ - template< size_t bits > + template< int bits > struct pixel_traits< packed_index_pixel< bits > > : basic_pixel_traits< packed_index_pixel< bits >, byte, color_type_palette, /* channels = */ 1, bits > diff --git a/_tools/code_generators/libs/png++/info.hpp b/_tools/code_generators/libs/png++/info.hpp index a12bf2a84e59b5333b99c8a3223fac6746e821b7..3f3cf09c311dbf084fb6da465c08258835b78e68 100644 --- a/_tools/code_generators/libs/png++/info.hpp +++ b/_tools/code_generators/libs/png++/info.hpp @@ -75,6 +75,7 @@ namespace png png_get_PLTE(m_png, m_info, & colors, & count); m_palette.assign(colors, colors + count); } + #ifdef PNG_tRNS_SUPPORTED if (png_get_valid(m_png, m_info, chunk_tRNS) == chunk_tRNS) { @@ -91,6 +92,25 @@ namespace png } } #endif + +#ifdef PNG_gAMA_SUPPORTED + if (png_get_valid(m_png, m_info, chunk_gAMA) == chunk_gAMA) + { +#ifdef PNG_FLOATING_POINT_SUPPORTED + if (png_get_gAMA(m_png, m_info, &m_gamma) != PNG_INFO_gAMA) + { + throw error("png_get_gAMA() failed"); + } +#else + png_fixed_point gamma = 0; + if (png_get_gAMA_fixed(m_png, m_info, &gamma) != PNG_INFO_gAMA) + { + throw error("png_get_gAMA_fixed() failed"); + } + m_gamma = gamma / 100000.0; +#endif + } +#endif } void write() const @@ -105,7 +125,7 @@ namespace png { png_set_PLTE(m_png, m_info, const_cast< color* >(& m_palette[0]), - m_palette.size()); + (int) m_palette.size()); } if (! m_tRNS.empty()) { @@ -115,11 +135,25 @@ namespace png m_tRNS.size(), NULL); #else - throw error("attempted to write tRNS chunk;" - " recompile with PNG_tRNS_SUPPORTED"); + throw error("attempted to write tRNS chunk; recompile with PNG_tRNS_SUPPORTED"); #endif } } + + if (m_gamma > 0) + { +#ifdef PNG_gAMA_SUPPORTED +#ifdef PNG_FLOATING_POINT_SUPPORTED + png_set_gAMA(m_png, m_info, m_gamma); +#else + png_set_gAMA_fixed(m_png, m_info, + (png_fixed_point)(m_gamma * 100000)); +#endif +#else + throw error("attempted to write gAMA chunk; recompile with PNG_gAMA_SUPPORTED"); +#endif + } + png_write_info(m_png, m_info); } diff --git a/_tools/code_generators/libs/png++/io_base.hpp b/_tools/code_generators/libs/png++/io_base.hpp index b089fa9b1ad8b8f6565ce6acea44f10897f1eeee..3c2d830435ef7d5989507305c4c83960b2a7acba 100644 --- a/_tools/code_generators/libs/png++/io_base.hpp +++ b/_tools/code_generators/libs/png++/io_base.hpp @@ -33,10 +33,24 @@ #include <cassert> #include <cstdio> +#include <cstdarg> #include "error.hpp" #include "info.hpp" #include "end_info.hpp" +static void +trace_io_transform(char const* fmt, ...) +{ +#ifdef DEBUG_IO_TRANSFORM + va_list va; + va_start(va, fmt); + fprintf(stderr, "TRANSFORM_IO: "); + vfprintf(stderr, fmt, va); + va_end(va); +#endif +} +#define TRACE_IO_TRANSFORM trace_io_transform + namespace png { @@ -103,22 +117,22 @@ namespace png ////////////////////////////////////////////////////////////////////// // info accessors // - size_t get_width() const + uint_32 get_width() const { return m_info.get_width(); } - void set_width(size_t width) + void set_width(uint_32 width) { m_info.set_width(width); } - size_t get_height() const + uint_32 get_height() const { return m_info.get_height(); } - void set_height(size_t height) + void set_height(uint_32 height) { m_info.set_height(height); } @@ -133,12 +147,12 @@ namespace png m_info.set_color_type(color_space); } - size_t get_bit_depth() const + int get_bit_depth() const { return m_info.get_bit_depth(); } - void set_bit_depth(size_t bit_depth) + void set_bit_depth(int bit_depth) { m_info.set_bit_depth(bit_depth); } @@ -185,16 +199,19 @@ namespace png #if defined(PNG_READ_EXPAND_SUPPORTED) void set_gray_1_2_4_to_8() const { - png_set_gray_1_2_4_to_8(m_png); + TRACE_IO_TRANSFORM("png_set_expand_gray_1_2_4_to_8\n"); + png_set_expand_gray_1_2_4_to_8(m_png); } void set_palette_to_rgb() const { + TRACE_IO_TRANSFORM("png_set_palette_to_rgb\n"); png_set_palette_to_rgb(m_png); } void set_tRNS_to_alpha() const { + TRACE_IO_TRANSFORM("png_set_tRNS_to_alpha\n"); png_set_tRNS_to_alpha(m_png); } #endif // defined(PNG_READ_EXPAND_SUPPORTED) @@ -202,6 +219,7 @@ namespace png #if defined(PNG_READ_BGR_SUPPORTED) || defined(PNG_WRITE_BGR_SUPPORTED) void set_bgr() const { + TRACE_IO_TRANSFORM("png_set_bgr\n"); png_set_bgr(m_png); } #endif @@ -209,6 +227,7 @@ namespace png #if defined(PNG_READ_GRAY_TO_RGB_SUPPORTED) void set_gray_to_rgb() const { + TRACE_IO_TRANSFORM("png_set_gray_to_rgb\n"); png_set_gray_to_rgb(m_png); } #endif @@ -219,6 +238,10 @@ namespace png double red_weight = -1.0, double green_weight = -1.0) const { + TRACE_IO_TRANSFORM("png_set_rgb_to_gray: error_action=%d," + " red_weight=%lf, green_weight=%lf\n", + error_action, red_weight, green_weight); + png_set_rgb_to_gray(m_png, error_action, red_weight, green_weight); } #else @@ -227,6 +250,10 @@ namespace png fixed_point red_weight = -1, fixed_point green_weight = -1) const { + TRACE_IO_TRANSFORM("png_set_rgb_to_gray_fixed: error_action=%d," + " red_weight=%d, green_weight=%d\n", + error_action, red_weight, green_weight); + png_set_rgb_to_gray_fixed(m_png, error_action, red_weight, green_weight); } @@ -238,6 +265,7 @@ namespace png #if defined(PNG_READ_STRIP_ALPHA_SUPPORTED) void set_strip_alpha() const { + TRACE_IO_TRANSFORM("png_set_strip_alpha\n"); png_set_strip_alpha(m_png); } #endif @@ -246,6 +274,7 @@ namespace png || defined(PNG_WRITE_SWAP_ALPHA_SUPPORTED) void set_swap_alpha() const { + TRACE_IO_TRANSFORM("png_set_swap_alpha\n"); png_set_swap_alpha(m_png); } #endif @@ -254,6 +283,7 @@ namespace png || defined(PNG_WRITE_INVERT_ALPHA_SUPPORTED) void set_invert_alpha() const { + TRACE_IO_TRANSFORM("png_set_invert_alpha\n"); png_set_invert_alpha(m_png); } #endif @@ -261,12 +291,18 @@ namespace png #if defined(PNG_READ_FILLER_SUPPORTED) || defined(PNG_WRITE_FILLER_SUPPORTED) void set_filler(uint_32 filler, filler_type type) const { + TRACE_IO_TRANSFORM("png_set_filler: filler=%08x, type=%d\n", + filler, type); + png_set_filler(m_png, filler, type); } #if !defined(PNG_1_0_X) void set_add_alpha(uint_32 filler, filler_type type) const { + TRACE_IO_TRANSFORM("png_set_add_alpha: filler=%08x, type=%d\n", + filler, type); + png_set_add_alpha(m_png, filler, type); } #endif @@ -275,6 +311,7 @@ namespace png #if defined(PNG_READ_SWAP_SUPPORTED) || defined(PNG_WRITE_SWAP_SUPPORTED) void set_swap() const { + TRACE_IO_TRANSFORM("png_set_swap\n"); png_set_swap(m_png); } #endif @@ -282,6 +319,7 @@ namespace png #if defined(PNG_READ_PACK_SUPPORTED) || defined(PNG_WRITE_PACK_SUPPORTED) void set_packing() const { + TRACE_IO_TRANSFORM("png_set_packing\n"); png_set_packing(m_png); } #endif @@ -290,6 +328,7 @@ namespace png || defined(PNG_WRITE_PACKSWAP_SUPPORTED) void set_packswap() const { + TRACE_IO_TRANSFORM("png_set_packswap\n"); png_set_packswap(m_png); } #endif @@ -298,6 +337,10 @@ namespace png void set_shift(byte red_bits, byte green_bits, byte blue_bits, byte alpha_bits = 0) const { + TRACE_IO_TRANSFORM("png_set_shift: red_bits=%d, green_bits=%d," + " blue_bits=%d, alpha_bits=%d\n", + red_bits, green_bits, blue_bits, alpha_bits); + if (get_color_type() != color_type_rgb || get_color_type() != color_type_rgb_alpha) { @@ -313,11 +356,13 @@ namespace png void set_shift(byte gray_bits, byte alpha_bits = 0) const { + TRACE_IO_TRANSFORM("png_set_shift: gray_bits=%d, alpha_bits=%d\n", + gray_bits, alpha_bits); + if (get_color_type() != color_type_gray || get_color_type() != color_type_gray_alpha) { - throw error("set_shift: expected Gray or Gray+Alpha" - " color type"); + throw error("set_shift: expected Gray or Gray+Alpha color type"); } color_info bits; bits.gray = gray_bits; @@ -330,6 +375,7 @@ namespace png || defined(PNG_WRITE_INTERLACING_SUPPORTED) int set_interlace_handling() const { + TRACE_IO_TRANSFORM("png_set_interlace_handling\n"); return png_set_interlace_handling(m_png); } #endif @@ -337,6 +383,7 @@ namespace png #if defined(PNG_READ_INVERT_SUPPORTED) || defined(PNG_WRITE_INVERT_SUPPORTED) void set_invert_mono() const { + TRACE_IO_TRANSFORM("png_set_invert_mono\n"); png_set_invert_mono(m_png); } #endif @@ -344,6 +391,7 @@ namespace png #if defined(PNG_READ_16_TO_8_SUPPORTED) void set_strip_16() const { + TRACE_IO_TRANSFORM("png_set_strip_16\n"); png_set_strip_16(m_png); } #endif @@ -351,6 +399,7 @@ namespace png #if defined(PNG_READ_USER_TRANSFORM_SUPPORTED) void set_read_user_transform(png_user_transform_ptr transform_fn) { + TRACE_IO_TRANSFORM("png_set_read_user_transform_fn\n"); png_set_read_user_transform_fn(m_png, transform_fn); } #endif @@ -359,6 +408,9 @@ namespace png || defined(PNG_WRITE_USER_TRANSFORM_SUPPORTED) void set_user_transform_info(void* info, int bit_depth, int channels) { + TRACE_IO_TRANSFORM("png_set_user_transform_info: bit_depth=%d," + " channels=%d\n", bit_depth, channels); + png_set_user_transform_info(m_png, info, bit_depth, channels); } #endif @@ -394,7 +446,7 @@ namespace png void raise_error() { - longjmp(m_png->jmpbuf, -1); + longjmp(png_jmpbuf(m_png), -1); } static void raise_error(png_struct* png, char const* message) diff --git a/_tools/code_generators/libs/png++/packed_pixel.hpp b/_tools/code_generators/libs/png++/packed_pixel.hpp index 7202b4f9838af80b1833b71d8510e1598569f5f1..bf05c47d339a48e8f4ba49f9bde238e0cef1f0d9 100644 --- a/_tools/code_generators/libs/png++/packed_pixel.hpp +++ b/_tools/code_generators/libs/png++/packed_pixel.hpp @@ -38,7 +38,7 @@ namespace png namespace detail { - template< size_t bits > class allowed_bit_depth; + template< int bits > class allowed_bit_depth; template<> class allowed_bit_depth< 1 > {}; template<> class allowed_bit_depth< 2 > {}; @@ -50,7 +50,7 @@ namespace png * * \see packed_gray_pixel, packed_index_pixel */ - template< size_t bits > + template< int bits > class packed_pixel : detail::allowed_bit_depth< bits > { @@ -65,12 +65,12 @@ namespace png return m_value; } - static size_t const get_bit_depth() + static int get_bit_depth() { return bits; } - static byte const get_bit_mask() + static byte get_bit_mask() { return (1 << bits) - 1; } diff --git a/_tools/code_generators/libs/png++/pixel_buffer.hpp b/_tools/code_generators/libs/png++/pixel_buffer.hpp index 4aa16e037a98846b207fd1cfc5385f2b3d989840..07009dfa60931c9bfdd2625aba7cbfc1b21b30a7 100644 --- a/_tools/code_generators/libs/png++/pixel_buffer.hpp +++ b/_tools/code_generators/libs/png++/pixel_buffer.hpp @@ -65,6 +65,8 @@ namespace png * \brief A row of pixel data. */ typedef row row_type; + typedef row_type& row_access; + typedef row_type const& row_const_access; typedef traits row_traits; /** @@ -79,22 +81,22 @@ namespace png /** * \brief Constructs an empty pixel buffer object. */ - basic_pixel_buffer(size_t width, size_t height) + basic_pixel_buffer(uint_32 width, uint_32 height) : m_width(0), m_height(0) { resize(width, height); } - size_t get_width() const + uint_32 get_width() const { return m_width; } - size_t get_height() const - { + uint_32 get_height() const + { return m_height; - } + } /** * \brief Resizes the pixel buffer. @@ -102,7 +104,7 @@ namespace png * If new width or height is greater than the original, * expanded pixels are filled with value of \a pixel(). */ - void resize(size_t width, size_t height) + void resize(uint_32 width, uint_32 height) { m_width = width; m_height = height; @@ -123,7 +125,7 @@ namespace png * std::out_of_range is thrown if \c index is greater than \c * height. */ - row_type& get_row(size_t index) + row_access get_row(size_t index) { return m_rows.at(index); } @@ -134,7 +136,7 @@ namespace png * * The checking version. */ - row_type const& get_row(size_t index) const + row_const_access get_row(size_t index) const { return m_rows.at(index); } @@ -142,7 +144,7 @@ namespace png /** * \brief The non-checking version of get_row() method. */ - row_type& operator[](size_t index) + row_access operator[](size_t index) { return m_rows[index]; } @@ -150,7 +152,7 @@ namespace png /** * \brief The non-checking version of get_row() method. */ - row_type const& operator[](size_t index) const + row_const_access operator[](size_t index) const { return m_rows[index]; } @@ -181,8 +183,8 @@ namespace png } protected: - size_t m_width; - size_t m_height; + uint_32 m_width; + uint_32 m_height; typedef std::vector< row_type > row_vec; row_vec m_rows; }; @@ -216,7 +218,7 @@ namespace png { } - pixel_buffer(size_t width, size_t height) + pixel_buffer(uint_32 width, uint_32 height) : basic_pixel_buffer< pixel, std::vector< pixel > >(width, height) { } @@ -255,7 +257,7 @@ namespace png */ static size_t get_shift(size_t index) { - size_t const bits = pixel::get_bit_depth(); + int const bits = pixel::get_bit_depth(); return (8 - bits) - (index % get_pixels_per_byte()) * bits; } @@ -444,7 +446,7 @@ namespace png * \brief The pixel buffer class template specialization for the * packed_gray_pixel type. */ - template< size_t bits > + template< int bits > class pixel_buffer< packed_gray_pixel< bits > > : public basic_pixel_buffer< packed_gray_pixel< bits >, packed_pixel_row< packed_gray_pixel @@ -458,7 +460,7 @@ namespace png { } - pixel_buffer(size_t width, size_t height) + pixel_buffer(uint_32 width, uint_32 height) : basic_pixel_buffer< pixel_type, pixel_row_type >(width, height) { @@ -469,7 +471,7 @@ namespace png * \brief The pixel buffer class template specialization for the * packed_index_pixel type. */ - template< size_t bits > + template< int bits > class pixel_buffer< packed_index_pixel< bits > > : public basic_pixel_buffer< packed_index_pixel< bits >, packed_pixel_row< packed_index_pixel @@ -483,7 +485,7 @@ namespace png { } - pixel_buffer(size_t width, size_t height) + pixel_buffer(uint_32 width, uint_32 height) : basic_pixel_buffer< pixel_type, pixel_row_type >(width, height) { diff --git a/_tools/code_generators/libs/png++/pixel_traits.hpp b/_tools/code_generators/libs/png++/pixel_traits.hpp index 6500691f1d0f092bcf26b891b40d577d0151129e..8ffdfeedb45609fa9de8a6e17a84bedd672572a5 100644 --- a/_tools/code_generators/libs/png++/pixel_traits.hpp +++ b/_tools/code_generators/libs/png++/pixel_traits.hpp @@ -56,8 +56,8 @@ namespace png template< typename pixel, typename component, color_type pixel_color_type, - size_t channels = sizeof(pixel) / sizeof(component), - size_t bit_depth = std::numeric_limits< component >::digits > + int channels_value = sizeof(pixel) / sizeof(component), + int bit_depth_value = std::numeric_limits< component >::digits > struct basic_pixel_traits { typedef pixel pixel_type; @@ -67,11 +67,15 @@ namespace png { return pixel_color_type; } - static size_t get_channels() + + static const int channels = channels_value; + static int get_channels() { return channels; } - static size_t get_bit_depth() + + static const int bit_depth = bit_depth_value; + static int get_bit_depth() { return bit_depth; } diff --git a/_tools/code_generators/libs/png++/png.hpp b/_tools/code_generators/libs/png++/png.hpp index 1e82c045215857a9ed3fff3a5ceba0db0778d871..e4f45200510331fccdecd29d1b0d0a323233e179 100644 --- a/_tools/code_generators/libs/png++/png.hpp +++ b/_tools/code_generators/libs/png++/png.hpp @@ -54,6 +54,7 @@ #include "generator.hpp" #include "consumer.hpp" #include "pixel_buffer.hpp" +#include "solid_pixel_buffer.hpp" #include "require_color_space.hpp" #include "convert_color_space.hpp" #include "image.hpp" @@ -158,9 +159,9 @@ * #include <png++/png.hpp> * //... * png::image< png::rgb_pixel > image(128, 128); - * for (size_t y = 0; y < image.get_height(); ++y) + * for (png::uint_32 y = 0; y < image.get_height(); ++y) * { - * for (size_t x = 0; x < image.get_width(); ++x) + * for (png::uint_32 x = 0; x < image.get_width(); ++x) * { * image[y][x] = png::rgb_pixel(x, y, x + y); * // non-checking equivalent of image.set_pixel(x, y, ...); @@ -262,10 +263,10 @@ * * Also, you can check out sources directly from SVN repository: * svn://svn.sv.nongnu.org/pngpp/trunk/ or - * http://svn.sv.nongnu.org/pngpp/trunk/ (for people w/o outgoing svn). + * http://svn.sv.nongnu.org/svn/pngpp/trunk/ (for people w/o outgoing svn). * * Online version of this documentation can be found here: - * http://www.nongnu.org/pngpp/doc/0.2.3/index.html + * http://www.nongnu.org/pngpp/doc/ * * \section sec_bugs Bugs * diff --git a/_tools/code_generators/libs/png++/reader.hpp b/_tools/code_generators/libs/png++/reader.hpp index 61dd90cac3335994b8eb0f0a0e34e8aaf8512064..74e2ac17571a2da1d158ab3520b5cdfae75102ff 100644 --- a/_tools/code_generators/libs/png++/reader.hpp +++ b/_tools/code_generators/libs/png++/reader.hpp @@ -92,7 +92,7 @@ namespace png */ void read_png() { - if (setjmp(m_png->jmpbuf)) + if (setjmp(png_jmpbuf(m_png))) { throw error(m_error); } @@ -107,7 +107,7 @@ namespace png */ void read_info() { - if (setjmp(m_png->jmpbuf)) + if (setjmp(png_jmpbuf(m_png))) { throw error(m_error); } @@ -119,7 +119,7 @@ namespace png */ void read_row(byte* bytes) { - if (setjmp(m_png->jmpbuf)) + if (setjmp(png_jmpbuf(m_png))) { throw error(m_error); } @@ -131,7 +131,7 @@ namespace png */ void read_end_info() { - if (setjmp(m_png->jmpbuf)) + if (setjmp(png_jmpbuf(m_png))) { throw error(m_error); } @@ -144,7 +144,7 @@ namespace png } private: - static void read_data(png_struct* png, byte* data, size_t length) + static void read_data(png_struct* png, byte* data, png_size_t length) { io_base* io = static_cast< io_base* >(png_get_error_ptr(png)); reader* rd = static_cast< reader* >(io); diff --git a/_tools/code_generators/libs/png++/solid_pixel_buffer.hpp b/_tools/code_generators/libs/png++/solid_pixel_buffer.hpp new file mode 100644 index 0000000000000000000000000000000000000000..9f84245fd2e25f2cb4d4a044a12b03a341f59950 --- /dev/null +++ b/_tools/code_generators/libs/png++/solid_pixel_buffer.hpp @@ -0,0 +1,243 @@ +/* + * Copyright (C) 2007,2008 Alex Shulgin + * + * This file is part of png++ the C++ wrapper for libpng. PNG++ is free + * software; the exact copying conditions are as follows: + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * 3. The name of the author may not be used to endorse or promote products + * derived from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR + * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES + * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN + * NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED + * TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR + * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF + * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ +#ifndef PNGPP_SOLID_PIXEL_BUFFER_HPP_INCLUDED +#define PNGPP_SOLID_PIXEL_BUFFER_HPP_INCLUDED + +#include <cassert> +#include <cstddef> +#include <climits> +#include <stdexcept> +#include <vector> + +#include "config.hpp" +#include "packed_pixel.hpp" +#include "gray_pixel.hpp" +#include "index_pixel.hpp" + +namespace png +{ + + /** + * \brief Pixel buffer, that stores pixels as continuous memory chunk. + * solid_pixel_buffer is useful when user whats to open png, do some + * changes and fetch to buffer to draw (as texture for example). + */ + template< typename pixel > + class solid_pixel_buffer + { + public: + typedef pixel_traits< pixel > pixel_traits_t; + struct row_traits + { + typedef pixel* row_access; + typedef const pixel* row_const_access; + + static byte* get_data(row_access row) + { + return reinterpret_cast<byte*>(row); + } + }; + + + /** + * \brief A row of pixel data. + */ + typedef typename row_traits::row_access row_access; + typedef typename row_traits::row_const_access row_const_access; + typedef row_access row_type; + + /** + * \brief Constructs an empty 0x0 pixel buffer object. + */ + solid_pixel_buffer() + : m_width(0), + m_height(0), + m_stride(0) + { + } + + /** + * \brief Constructs an empty pixel buffer object. + */ + solid_pixel_buffer(uint_32 width, uint_32 height) + : m_width(0), + m_height(0), + m_stride(0) + { + resize(width, height); + } + + uint_32 get_width() const + { + return m_width; + } + + uint_32 get_height() const + { + return m_height; + } + + /** + * \brief Resizes the pixel buffer. + * + * If new width or height is greater than the original, + * expanded pixels are filled with value of \a pixel(). + */ + void resize(uint_32 width, uint_32 height) + { + m_width = width; + m_height = height; + m_stride = m_width * bytes_per_pixel; + m_bytes.resize(height * m_stride); + } + + /** + * \brief Returns a reference to the row of image data at + * specified index. + * + * Checks the index before returning a row: an instance of + * std::out_of_range is thrown if \c index is greater than \c + * height. + */ + row_access get_row(size_t index) + { + return reinterpret_cast<row_access>(&m_bytes.at(index * m_stride)); + } + + /** + * \brief Returns a const reference to the row of image data at + * specified index. + * + * The checking version. + */ + row_const_access get_row(size_t index) const + { + return (row_const_access)(&m_bytes.at(index * m_stride)); + } + + /** + * \brief The non-checking version of get_row() method. + */ + row_access operator[](size_t index) + { + return (row_access)(&m_bytes[index * m_stride]); + } + + /** + * \brief The non-checking version of get_row() method. + */ + row_const_access operator[](size_t index) const + { + return (row_const_access)(&m_bytes[index * m_stride]); + } + + /** + * \brief Replaces the row at specified index. + */ + void put_row(size_t index, row_const_access r) + { + row_access row = get_row(); + for (uint_32 i = 0; i < m_width; ++i) + *row++ = *r++; + } + + /** + * \brief Returns a pixel at (x,y) position. + */ + pixel get_pixel(size_t x, size_t y) const + { + size_t index = (y * m_width + x) * bytes_per_pixel; + return *reinterpret_cast< const pixel* >(&m_bytes.at(index)); + } + + /** + * \brief Replaces a pixel at (x,y) position. + */ + void set_pixel(size_t x, size_t y, pixel p) + { + size_t index = (y * m_width + x) * bytes_per_pixel; + *reinterpret_cast< pixel* >(&m_bytes.at(index)) = p; + } + + /** + * \brief Provides easy constant read access to underlying byte-buffer. + */ + const std::vector< byte >& get_bytes() const + { + return m_bytes; + } + +#ifdef PNGPP_HAS_STD_MOVE + /** + * \brief Moves the buffer to client code (c++11 only) . + */ + std::vector< byte > fetch_bytes() + { + m_width = 0; + m_height = 0; + m_stride = 0; + + // the buffer is moved outside without copying and leave m_bytes empty. + return std::move(m_bytes); + } +#endif + + protected: + static const size_t bytes_per_pixel = pixel_traits_t::channels * + pixel_traits_t::bit_depth / CHAR_BIT; + + protected: + uint_32 m_width; + uint_32 m_height; + size_t m_stride; + std::vector< byte > m_bytes; + +#ifdef PNGPP_HAS_STATIC_ASSERT + static_assert(pixel_traits_t::bit_depth % CHAR_BIT == 0, + "Bit_depth should consist of integer number of bytes"); + + static_assert(sizeof(pixel) * CHAR_BIT == + pixel_traits_t::channels * pixel_traits_t::bit_depth, + "pixel type should contain channels data only"); +#endif + }; + + /** + * \brief solid_pixel_buffer for packed_pixel is not implemented now. + * Should there be a gap between rows? How to deal with last + * useless bits in last byte in buffer? + */ + template< int bits > + class solid_pixel_buffer< packed_pixel< bits > >; + +} // namespace png + +#endif // PNGPP_solid_pixel_buffer_HPP_INCLUDED diff --git a/_tools/code_generators/libs/png++/streaming_base.hpp b/_tools/code_generators/libs/png++/streaming_base.hpp index 68a23dd6a967d34134fecc8828c4b5626efa1331..b63a7934dd81d85a734bf9276a32fb8b3c827acd 100644 --- a/_tools/code_generators/libs/png++/streaming_base.hpp +++ b/_tools/code_generators/libs/png++/streaming_base.hpp @@ -97,7 +97,7 @@ namespace png { } - streaming_base(size_t width, size_t height) + streaming_base(uint_32 width, uint_32 height) : m_info_holder(make_image_info< pixel >()) { get_info().set_width(width); diff --git a/_tools/code_generators/libs/png++/test/Makefile b/_tools/code_generators/libs/png++/test/Makefile deleted file mode 100644 index 5f9f159d43f8b697de654489d1ad85dde1531088..0000000000000000000000000000000000000000 --- a/_tools/code_generators/libs/png++/test/Makefile +++ /dev/null @@ -1,101 +0,0 @@ -# -# Copyright (C) 2007,2008 Alex Shulgin -# -# This file is part of png++ the C++ wrapper for libpng. PNG++ is free -# software; the exact copying conditions are as follows: -# -# Redistribution and use in source and binary forms, with or without -# modification, are permitted provided that the following conditions are met: -# -# 1. Redistributions of source code must retain the above copyright notice, -# this list of conditions and the following disclaimer. -# -# 2. Redistributions in binary form must reproduce the above copyright -# notice, this list of conditions and the following disclaimer in the -# documentation and/or other materials provided with the distribution. -# -# 3. The name of the author may not be used to endorse or promote products -# derived from this software without specific prior written permission. -# -# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR -# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES -# OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN -# NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED -# TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -# PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -# LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -# NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -# SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -# -ifndef PREFIX -PREFIX := /usr/local -endif - -ifndef PNGPP -PNGPP := .. -endif - -make_cflags := -Wall $(CFLAGS) -I$(PREFIX)/include -I$(PNGPP) -make_ldflags := $(LDFLAGS) -L$(PREFIX)/lib - -ifndef NDEBUG -make_cflags := $(make_cflags) -g -make_ldflags := $(make_ldflags) -g -endif - -ifndef LIBPNG_CONFIG -LIBPNG_CONFIG := libpng-config -endif - -sources := convert_color_space.cpp \ - generate_gray_packed.cpp \ - read_write_gray_packed.cpp \ - generate_palette.cpp \ - write_gray_16.cpp \ - read_write_param.cpp \ - dump.cpp - -deps := $(sources:.cpp=.dep) -objects := $(sources:.cpp=.o) -targets := $(sources:.cpp=$(bin_suffix)) - -all: $(deps) $(targets) - -dist-copy-files: - mkdir $(dist_dir)/test - cp $(sources) Makefile test.sh README *.png $(dist_dir)/test - mkdir $(dist_dir)/test/cmp - cp cmp/*.out $(dist_dir)/test/cmp - -clean: clean-targets clean-tests-output clean-deps - -clean-targets: - rm -f $(targets) $(objects) - -test: all - ./test.sh - -clean-tests-output: - rm -f *.out - -.PHONY: all dist-copy-files \ - clean clean-targets \ - test test-convert_color_space \ - clean-tests-output \ - clean-deps - -%$(bin_suffix): %.o - g++ -o $@ $< $(make_ldflags) `$(LIBPNG_CONFIG) --ldflags` - -%.o: %.cpp - g++ -c -o $@ $< $(make_cflags) `$(LIBPNG_CONFIG) --cflags` - -%.dep: %.cpp - g++ -M $(CPPFLAGS) $(make_cflags) $< -o- | \ - sed 's/\($*\)\.o[ :]*/\1.o $@ : /g' > $@ - -clean-deps: - rm -f $(deps) - -include $(deps) diff --git a/_tools/code_generators/libs/png++/test/README b/_tools/code_generators/libs/png++/test/README deleted file mode 100644 index 714d12c6449e241e5966fdd3d78dea0f2e14cf49..0000000000000000000000000000000000000000 --- a/_tools/code_generators/libs/png++/test/README +++ /dev/null @@ -1,85 +0,0 @@ - -pngsuite --------- -(c) Willem van Schaik, 1999 - -Permission to use, copy, and distribute these images for any purpose and -without fee is hereby granted. - -These 15 images are part of the much larger PngSuite test-set of -images, available for developers of PNG supporting software. The -complete set, available at http:/www.schaik.com/pngsuite/, contains -a variety of images to test interlacing, gamma settings, ancillary -chunks, etc. - -The images in this directory represent the basic PNG color-types: -grayscale (1-16 bit deep), full color (8 or 16 bit), paletted -(1-8 bit) and grayscale or color images with alpha channel. You -can use them to test the proper functioning of PNG software. - - filename depth type - ------------ ------ -------------- - basn0g01.png 1-bit grayscale - basn0g02.png 2-bit grayscale - basn0g04.png 4-bit grayscale - basn0g08.png 8-bit grayscale - basn0g16.png 16-bit grayscale - basn2c08.png 8-bit truecolor - basn2c16.png 16-bit truecolor - basn3p01.png 1-bit paletted - basn3p02.png 2-bit paletted - basn3p04.png 4-bit paletted - basn3p08.png 8-bit paletted - basn4a08.png 8-bit gray with alpha - basn4a16.png 16-bit gray with alpha - basn6a08.png 8-bit RGBA - basn6a16.png 16-bit RGBA - -Here is the correct result of typing "pngtest -m *.png" in -this directory: - -Testing basn0g01.png: PASS (524 zero samples) - Filter 0 was used 32 times -Testing basn0g02.png: PASS (448 zero samples) - Filter 0 was used 32 times -Testing basn0g04.png: PASS (520 zero samples) - Filter 0 was used 32 times -Testing basn0g08.png: PASS (3 zero samples) - Filter 1 was used 9 times - Filter 4 was used 23 times -Testing basn0g16.png: PASS (1 zero samples) - Filter 1 was used 1 times - Filter 2 was used 31 times -Testing basn2c08.png: PASS (6 zero samples) - Filter 1 was used 5 times - Filter 4 was used 27 times -Testing basn2c16.png: PASS (592 zero samples) - Filter 1 was used 1 times - Filter 4 was used 31 times -Testing basn3p01.png: PASS (512 zero samples) - Filter 0 was used 32 times -Testing basn3p02.png: PASS (448 zero samples) - Filter 0 was used 32 times -Testing basn3p04.png: PASS (544 zero samples) - Filter 0 was used 32 times -Testing basn3p08.png: PASS (4 zero samples) - Filter 0 was used 32 times -Testing basn4a08.png: PASS (32 zero samples) - Filter 1 was used 1 times - Filter 4 was used 31 times -Testing basn4a16.png: PASS (64 zero samples) - Filter 0 was used 1 times - Filter 1 was used 2 times - Filter 2 was used 1 times - Filter 4 was used 28 times -Testing basn6a08.png: PASS (160 zero samples) - Filter 1 was used 1 times - Filter 4 was used 31 times -Testing basn6a16.png: PASS (1072 zero samples) - Filter 1 was used 4 times - Filter 4 was used 28 times -libpng passes test - -Willem van Schaik -<willem@schaik.com> -October 1999 diff --git a/_tools/code_generators/libs/png++/test/basn0g01.png b/_tools/code_generators/libs/png++/test/basn0g01.png deleted file mode 100644 index e31e1c7a635b50e22b6d02ab8ba21f8099b39faa..0000000000000000000000000000000000000000 Binary files a/_tools/code_generators/libs/png++/test/basn0g01.png and /dev/null differ diff --git a/_tools/code_generators/libs/png++/test/basn0g02.png b/_tools/code_generators/libs/png++/test/basn0g02.png deleted file mode 100644 index 68809dd8fc0993ddebce8aa9c7bf9bbecbd36cfc..0000000000000000000000000000000000000000 Binary files a/_tools/code_generators/libs/png++/test/basn0g02.png and /dev/null differ diff --git a/_tools/code_generators/libs/png++/test/basn0g04.png b/_tools/code_generators/libs/png++/test/basn0g04.png deleted file mode 100644 index 6fa089cb8a4ba0e8421ea05d33676856f0cac93c..0000000000000000000000000000000000000000 Binary files a/_tools/code_generators/libs/png++/test/basn0g04.png and /dev/null differ diff --git a/_tools/code_generators/libs/png++/test/basn0g08.png b/_tools/code_generators/libs/png++/test/basn0g08.png deleted file mode 100644 index bf522eef0018ae60539ee1b50e98d97906101f2a..0000000000000000000000000000000000000000 Binary files a/_tools/code_generators/libs/png++/test/basn0g08.png and /dev/null differ diff --git a/_tools/code_generators/libs/png++/test/basn0g16.png b/_tools/code_generators/libs/png++/test/basn0g16.png deleted file mode 100644 index 318ebcadf4fd0b64fb9b824e81c0cc8e3dfd2d82..0000000000000000000000000000000000000000 Binary files a/_tools/code_generators/libs/png++/test/basn0g16.png and /dev/null differ diff --git a/_tools/code_generators/libs/png++/test/basn2c08.png b/_tools/code_generators/libs/png++/test/basn2c08.png deleted file mode 100644 index 21d2f91a868fc637fdae4fba6c87bfd09b158815..0000000000000000000000000000000000000000 Binary files a/_tools/code_generators/libs/png++/test/basn2c08.png and /dev/null differ diff --git a/_tools/code_generators/libs/png++/test/basn2c16.png b/_tools/code_generators/libs/png++/test/basn2c16.png deleted file mode 100644 index 1bd4a4d0e2c2c6dd8a2e63a63b26f166b8ef5353..0000000000000000000000000000000000000000 Binary files a/_tools/code_generators/libs/png++/test/basn2c16.png and /dev/null differ diff --git a/_tools/code_generators/libs/png++/test/basn3p01.png b/_tools/code_generators/libs/png++/test/basn3p01.png deleted file mode 100644 index a21db5977462c4c0985a0ca1ac2d67ec572d3d17..0000000000000000000000000000000000000000 Binary files a/_tools/code_generators/libs/png++/test/basn3p01.png and /dev/null differ diff --git a/_tools/code_generators/libs/png++/test/basn3p02.png b/_tools/code_generators/libs/png++/test/basn3p02.png deleted file mode 100644 index 1d0ab6197cc8c4dd61e4440cbe98b2149eeafafb..0000000000000000000000000000000000000000 Binary files a/_tools/code_generators/libs/png++/test/basn3p02.png and /dev/null differ diff --git a/_tools/code_generators/libs/png++/test/basn3p04.png b/_tools/code_generators/libs/png++/test/basn3p04.png deleted file mode 100644 index 6dc6eac83f3cf984a4d121e27a8e60454117e12c..0000000000000000000000000000000000000000 Binary files a/_tools/code_generators/libs/png++/test/basn3p04.png and /dev/null differ diff --git a/_tools/code_generators/libs/png++/test/basn3p08.png b/_tools/code_generators/libs/png++/test/basn3p08.png deleted file mode 100644 index 0e07f483c0edad13e60e0d475c33a7ca5b8919ba..0000000000000000000000000000000000000000 Binary files a/_tools/code_generators/libs/png++/test/basn3p08.png and /dev/null differ diff --git a/_tools/code_generators/libs/png++/test/basn4a08.png b/_tools/code_generators/libs/png++/test/basn4a08.png deleted file mode 100644 index 3bb0dd06b510cb42855ce91f1600540f4503ea34..0000000000000000000000000000000000000000 Binary files a/_tools/code_generators/libs/png++/test/basn4a08.png and /dev/null differ diff --git a/_tools/code_generators/libs/png++/test/basn4a16.png b/_tools/code_generators/libs/png++/test/basn4a16.png deleted file mode 100644 index 6dbee9fbdb93f3535be23326a52fb4d3ac60711e..0000000000000000000000000000000000000000 Binary files a/_tools/code_generators/libs/png++/test/basn4a16.png and /dev/null differ diff --git a/_tools/code_generators/libs/png++/test/basn6a08.png b/_tools/code_generators/libs/png++/test/basn6a08.png deleted file mode 100644 index 61062308548bc3a5255e3e8dbb7f97932f00eb1c..0000000000000000000000000000000000000000 Binary files a/_tools/code_generators/libs/png++/test/basn6a08.png and /dev/null differ diff --git a/_tools/code_generators/libs/png++/test/basn6a16.png b/_tools/code_generators/libs/png++/test/basn6a16.png deleted file mode 100644 index a9bf3cb461231de29905eaa02f3a8a66f9fc5477..0000000000000000000000000000000000000000 Binary files a/_tools/code_generators/libs/png++/test/basn6a16.png and /dev/null differ diff --git a/_tools/code_generators/libs/png++/test/cmp/basn0g01.png.GA.16.out b/_tools/code_generators/libs/png++/test/cmp/basn0g01.png.GA.16.out deleted file mode 100644 index 87745834c5d94a6321adb31ab21ce7f8fb23abff..0000000000000000000000000000000000000000 Binary files a/_tools/code_generators/libs/png++/test/cmp/basn0g01.png.GA.16.out and /dev/null differ diff --git a/_tools/code_generators/libs/png++/test/cmp/basn0g01.png.GA.8.out b/_tools/code_generators/libs/png++/test/cmp/basn0g01.png.GA.8.out deleted file mode 100644 index aa0dceeff7648fd389c85db957dbe1fdb1b0ae63..0000000000000000000000000000000000000000 Binary files a/_tools/code_generators/libs/png++/test/cmp/basn0g01.png.GA.8.out and /dev/null differ diff --git a/_tools/code_generators/libs/png++/test/cmp/basn0g01.png.GRAY.16.out b/_tools/code_generators/libs/png++/test/cmp/basn0g01.png.GRAY.16.out deleted file mode 100644 index b8cfb9ce3d90eb72ebb6360a5d59ee02be09c550..0000000000000000000000000000000000000000 Binary files a/_tools/code_generators/libs/png++/test/cmp/basn0g01.png.GRAY.16.out and /dev/null differ diff --git a/_tools/code_generators/libs/png++/test/cmp/basn0g01.png.GRAY.8.out b/_tools/code_generators/libs/png++/test/cmp/basn0g01.png.GRAY.8.out deleted file mode 100644 index ce17a58e6d344ce19a24297e1fcd7461e643b788..0000000000000000000000000000000000000000 Binary files a/_tools/code_generators/libs/png++/test/cmp/basn0g01.png.GRAY.8.out and /dev/null differ diff --git a/_tools/code_generators/libs/png++/test/cmp/basn0g01.png.RGB.16.out b/_tools/code_generators/libs/png++/test/cmp/basn0g01.png.RGB.16.out deleted file mode 100644 index fe8ad377de9459fb9c03ae9f17b7eb3687798b2c..0000000000000000000000000000000000000000 Binary files a/_tools/code_generators/libs/png++/test/cmp/basn0g01.png.RGB.16.out and /dev/null differ diff --git a/_tools/code_generators/libs/png++/test/cmp/basn0g01.png.RGB.8.out b/_tools/code_generators/libs/png++/test/cmp/basn0g01.png.RGB.8.out deleted file mode 100644 index 7ed6eb8d806c6708b9c7ea2c1ba094a57d5ea125..0000000000000000000000000000000000000000 Binary files a/_tools/code_generators/libs/png++/test/cmp/basn0g01.png.RGB.8.out and /dev/null differ diff --git a/_tools/code_generators/libs/png++/test/cmp/basn0g01.png.RGBA.16.out b/_tools/code_generators/libs/png++/test/cmp/basn0g01.png.RGBA.16.out deleted file mode 100644 index b6e63e5e9a0974946a9fd443673066c7d7700959..0000000000000000000000000000000000000000 Binary files a/_tools/code_generators/libs/png++/test/cmp/basn0g01.png.RGBA.16.out and /dev/null differ diff --git a/_tools/code_generators/libs/png++/test/cmp/basn0g01.png.RGBA.8.out b/_tools/code_generators/libs/png++/test/cmp/basn0g01.png.RGBA.8.out deleted file mode 100644 index 1d4b5dd0c4353a715a5e419fff6be9385c079504..0000000000000000000000000000000000000000 Binary files a/_tools/code_generators/libs/png++/test/cmp/basn0g01.png.RGBA.8.out and /dev/null differ diff --git a/_tools/code_generators/libs/png++/test/cmp/basn0g01.png.out b/_tools/code_generators/libs/png++/test/cmp/basn0g01.png.out deleted file mode 100644 index 2ff2c105f2d6c9217cdbe7034d92ab929f52f622..0000000000000000000000000000000000000000 Binary files a/_tools/code_generators/libs/png++/test/cmp/basn0g01.png.out and /dev/null differ diff --git a/_tools/code_generators/libs/png++/test/cmp/basn0g02.png.GA.16.out b/_tools/code_generators/libs/png++/test/cmp/basn0g02.png.GA.16.out deleted file mode 100644 index 0bf7b82c894a41dd7c6bbe00e913a018fad1e8aa..0000000000000000000000000000000000000000 Binary files a/_tools/code_generators/libs/png++/test/cmp/basn0g02.png.GA.16.out and /dev/null differ diff --git a/_tools/code_generators/libs/png++/test/cmp/basn0g02.png.GA.8.out b/_tools/code_generators/libs/png++/test/cmp/basn0g02.png.GA.8.out deleted file mode 100644 index 791b9cd12f2dd2eaa82b6a0405318bae2002d51b..0000000000000000000000000000000000000000 Binary files a/_tools/code_generators/libs/png++/test/cmp/basn0g02.png.GA.8.out and /dev/null differ diff --git a/_tools/code_generators/libs/png++/test/cmp/basn0g02.png.GRAY.16.out b/_tools/code_generators/libs/png++/test/cmp/basn0g02.png.GRAY.16.out deleted file mode 100644 index 7685bbb4aafb870e90a07a916d5b0ade99cf437b..0000000000000000000000000000000000000000 Binary files a/_tools/code_generators/libs/png++/test/cmp/basn0g02.png.GRAY.16.out and /dev/null differ diff --git a/_tools/code_generators/libs/png++/test/cmp/basn0g02.png.GRAY.8.out b/_tools/code_generators/libs/png++/test/cmp/basn0g02.png.GRAY.8.out deleted file mode 100644 index 94eede03fb47cb9b424e32d0934a733cc2610953..0000000000000000000000000000000000000000 Binary files a/_tools/code_generators/libs/png++/test/cmp/basn0g02.png.GRAY.8.out and /dev/null differ diff --git a/_tools/code_generators/libs/png++/test/cmp/basn0g02.png.RGB.16.out b/_tools/code_generators/libs/png++/test/cmp/basn0g02.png.RGB.16.out deleted file mode 100644 index 1a545ad2e7ed6b7f895f910f41e43c782985e9f6..0000000000000000000000000000000000000000 Binary files a/_tools/code_generators/libs/png++/test/cmp/basn0g02.png.RGB.16.out and /dev/null differ diff --git a/_tools/code_generators/libs/png++/test/cmp/basn0g02.png.RGB.8.out b/_tools/code_generators/libs/png++/test/cmp/basn0g02.png.RGB.8.out deleted file mode 100644 index 6f939ed37ac8dd615a83a338664da2e9c2b222b0..0000000000000000000000000000000000000000 Binary files a/_tools/code_generators/libs/png++/test/cmp/basn0g02.png.RGB.8.out and /dev/null differ diff --git a/_tools/code_generators/libs/png++/test/cmp/basn0g02.png.RGBA.16.out b/_tools/code_generators/libs/png++/test/cmp/basn0g02.png.RGBA.16.out deleted file mode 100644 index 9f2cb535f0e5c33c94ac11b7cce0e8f9cc967527..0000000000000000000000000000000000000000 Binary files a/_tools/code_generators/libs/png++/test/cmp/basn0g02.png.RGBA.16.out and /dev/null differ diff --git a/_tools/code_generators/libs/png++/test/cmp/basn0g02.png.RGBA.8.out b/_tools/code_generators/libs/png++/test/cmp/basn0g02.png.RGBA.8.out deleted file mode 100644 index 322ba3d6578293770779b1e220f61a16eb041793..0000000000000000000000000000000000000000 Binary files a/_tools/code_generators/libs/png++/test/cmp/basn0g02.png.RGBA.8.out and /dev/null differ diff --git a/_tools/code_generators/libs/png++/test/cmp/basn0g02.png.out b/_tools/code_generators/libs/png++/test/cmp/basn0g02.png.out deleted file mode 100644 index 14edf7741f3099255ea1adc5f474ced1ef7b6962..0000000000000000000000000000000000000000 Binary files a/_tools/code_generators/libs/png++/test/cmp/basn0g02.png.out and /dev/null differ diff --git a/_tools/code_generators/libs/png++/test/cmp/basn0g04.png.GA.16.out b/_tools/code_generators/libs/png++/test/cmp/basn0g04.png.GA.16.out deleted file mode 100644 index cb21875b6b1ab47dae4230bbbbc535b65f48341e..0000000000000000000000000000000000000000 Binary files a/_tools/code_generators/libs/png++/test/cmp/basn0g04.png.GA.16.out and /dev/null differ diff --git a/_tools/code_generators/libs/png++/test/cmp/basn0g04.png.GA.8.out b/_tools/code_generators/libs/png++/test/cmp/basn0g04.png.GA.8.out deleted file mode 100644 index 5bbae0ed66e7581019aefcfd16c3929678914181..0000000000000000000000000000000000000000 Binary files a/_tools/code_generators/libs/png++/test/cmp/basn0g04.png.GA.8.out and /dev/null differ diff --git a/_tools/code_generators/libs/png++/test/cmp/basn0g04.png.GRAY.16.out b/_tools/code_generators/libs/png++/test/cmp/basn0g04.png.GRAY.16.out deleted file mode 100644 index a7fe5778260b1d33c210f928c4afd26355bd1a45..0000000000000000000000000000000000000000 Binary files a/_tools/code_generators/libs/png++/test/cmp/basn0g04.png.GRAY.16.out and /dev/null differ diff --git a/_tools/code_generators/libs/png++/test/cmp/basn0g04.png.GRAY.8.out b/_tools/code_generators/libs/png++/test/cmp/basn0g04.png.GRAY.8.out deleted file mode 100644 index 4a0fc341693f5c2d89f2aefb71e6a94bad082111..0000000000000000000000000000000000000000 Binary files a/_tools/code_generators/libs/png++/test/cmp/basn0g04.png.GRAY.8.out and /dev/null differ diff --git a/_tools/code_generators/libs/png++/test/cmp/basn0g04.png.RGB.16.out b/_tools/code_generators/libs/png++/test/cmp/basn0g04.png.RGB.16.out deleted file mode 100644 index 44fb62c149ca80473b0f5c490be05d4edd870e15..0000000000000000000000000000000000000000 Binary files a/_tools/code_generators/libs/png++/test/cmp/basn0g04.png.RGB.16.out and /dev/null differ diff --git a/_tools/code_generators/libs/png++/test/cmp/basn0g04.png.RGB.8.out b/_tools/code_generators/libs/png++/test/cmp/basn0g04.png.RGB.8.out deleted file mode 100644 index 09fd1e157884d6e999307f1a9f148e2996fc000c..0000000000000000000000000000000000000000 Binary files a/_tools/code_generators/libs/png++/test/cmp/basn0g04.png.RGB.8.out and /dev/null differ diff --git a/_tools/code_generators/libs/png++/test/cmp/basn0g04.png.RGBA.16.out b/_tools/code_generators/libs/png++/test/cmp/basn0g04.png.RGBA.16.out deleted file mode 100644 index 62beb7950f1993612e6f1161fb577ab6b2749ec4..0000000000000000000000000000000000000000 Binary files a/_tools/code_generators/libs/png++/test/cmp/basn0g04.png.RGBA.16.out and /dev/null differ diff --git a/_tools/code_generators/libs/png++/test/cmp/basn0g04.png.RGBA.8.out b/_tools/code_generators/libs/png++/test/cmp/basn0g04.png.RGBA.8.out deleted file mode 100644 index 7d4a5306175c5745ab0fc28c458fc28854245e75..0000000000000000000000000000000000000000 Binary files a/_tools/code_generators/libs/png++/test/cmp/basn0g04.png.RGBA.8.out and /dev/null differ diff --git a/_tools/code_generators/libs/png++/test/cmp/basn0g04.png.out b/_tools/code_generators/libs/png++/test/cmp/basn0g04.png.out deleted file mode 100644 index 286cee0178fb2f0cb56f0c149739180a504db93b..0000000000000000000000000000000000000000 Binary files a/_tools/code_generators/libs/png++/test/cmp/basn0g04.png.out and /dev/null differ diff --git a/_tools/code_generators/libs/png++/test/cmp/basn0g08.png.GA.16.out b/_tools/code_generators/libs/png++/test/cmp/basn0g08.png.GA.16.out deleted file mode 100644 index 7794d585b53528c767c454c113bd4db0be633cea..0000000000000000000000000000000000000000 Binary files a/_tools/code_generators/libs/png++/test/cmp/basn0g08.png.GA.16.out and /dev/null differ diff --git a/_tools/code_generators/libs/png++/test/cmp/basn0g08.png.GA.8.out b/_tools/code_generators/libs/png++/test/cmp/basn0g08.png.GA.8.out deleted file mode 100644 index f8ed14d936402f0aa8cb09a9b933cd505ee60ce2..0000000000000000000000000000000000000000 Binary files a/_tools/code_generators/libs/png++/test/cmp/basn0g08.png.GA.8.out and /dev/null differ diff --git a/_tools/code_generators/libs/png++/test/cmp/basn0g08.png.GRAY.16.out b/_tools/code_generators/libs/png++/test/cmp/basn0g08.png.GRAY.16.out deleted file mode 100644 index 775bee7f4845d3ca4171bed0277381058e8e4070..0000000000000000000000000000000000000000 Binary files a/_tools/code_generators/libs/png++/test/cmp/basn0g08.png.GRAY.16.out and /dev/null differ diff --git a/_tools/code_generators/libs/png++/test/cmp/basn0g08.png.GRAY.8.out b/_tools/code_generators/libs/png++/test/cmp/basn0g08.png.GRAY.8.out deleted file mode 100644 index dc9dfd76049779727342ed6a2869a67029a42c35..0000000000000000000000000000000000000000 Binary files a/_tools/code_generators/libs/png++/test/cmp/basn0g08.png.GRAY.8.out and /dev/null differ diff --git a/_tools/code_generators/libs/png++/test/cmp/basn0g08.png.RGB.16.out b/_tools/code_generators/libs/png++/test/cmp/basn0g08.png.RGB.16.out deleted file mode 100644 index 460d9e7a97ed27b7c4fa078e61b7e2f05eda0f46..0000000000000000000000000000000000000000 Binary files a/_tools/code_generators/libs/png++/test/cmp/basn0g08.png.RGB.16.out and /dev/null differ diff --git a/_tools/code_generators/libs/png++/test/cmp/basn0g08.png.RGB.8.out b/_tools/code_generators/libs/png++/test/cmp/basn0g08.png.RGB.8.out deleted file mode 100644 index 9efa9c2ff2940756ec0573c8d0679fb4f7da1998..0000000000000000000000000000000000000000 Binary files a/_tools/code_generators/libs/png++/test/cmp/basn0g08.png.RGB.8.out and /dev/null differ diff --git a/_tools/code_generators/libs/png++/test/cmp/basn0g08.png.RGBA.16.out b/_tools/code_generators/libs/png++/test/cmp/basn0g08.png.RGBA.16.out deleted file mode 100644 index 1e46f172793d5c815db9b1c51a36428439ed8236..0000000000000000000000000000000000000000 Binary files a/_tools/code_generators/libs/png++/test/cmp/basn0g08.png.RGBA.16.out and /dev/null differ diff --git a/_tools/code_generators/libs/png++/test/cmp/basn0g08.png.RGBA.8.out b/_tools/code_generators/libs/png++/test/cmp/basn0g08.png.RGBA.8.out deleted file mode 100644 index 5ae1c710852efcac319a4dda96cca960c6ac1805..0000000000000000000000000000000000000000 Binary files a/_tools/code_generators/libs/png++/test/cmp/basn0g08.png.RGBA.8.out and /dev/null differ diff --git a/_tools/code_generators/libs/png++/test/cmp/basn0g16.png.GA.16.out b/_tools/code_generators/libs/png++/test/cmp/basn0g16.png.GA.16.out deleted file mode 100644 index 1abcb325a9ffa48a7e69564e8ee2adf839974f57..0000000000000000000000000000000000000000 Binary files a/_tools/code_generators/libs/png++/test/cmp/basn0g16.png.GA.16.out and /dev/null differ diff --git a/_tools/code_generators/libs/png++/test/cmp/basn0g16.png.GA.8.out b/_tools/code_generators/libs/png++/test/cmp/basn0g16.png.GA.8.out deleted file mode 100644 index bed384dc1c76fa1ae8f9b0eaddbdde0f7d165054..0000000000000000000000000000000000000000 Binary files a/_tools/code_generators/libs/png++/test/cmp/basn0g16.png.GA.8.out and /dev/null differ diff --git a/_tools/code_generators/libs/png++/test/cmp/basn0g16.png.GRAY.16.out b/_tools/code_generators/libs/png++/test/cmp/basn0g16.png.GRAY.16.out deleted file mode 100644 index 991c6e8f09d40a5a69d429f0d529fa8512e68045..0000000000000000000000000000000000000000 Binary files a/_tools/code_generators/libs/png++/test/cmp/basn0g16.png.GRAY.16.out and /dev/null differ diff --git a/_tools/code_generators/libs/png++/test/cmp/basn0g16.png.GRAY.8.out b/_tools/code_generators/libs/png++/test/cmp/basn0g16.png.GRAY.8.out deleted file mode 100644 index d10ee386f92634f49157090c888ae2661a0e905b..0000000000000000000000000000000000000000 Binary files a/_tools/code_generators/libs/png++/test/cmp/basn0g16.png.GRAY.8.out and /dev/null differ diff --git a/_tools/code_generators/libs/png++/test/cmp/basn0g16.png.RGB.16.out b/_tools/code_generators/libs/png++/test/cmp/basn0g16.png.RGB.16.out deleted file mode 100644 index a9340b1105a9b034cf3e339c7b54e7d60ae33148..0000000000000000000000000000000000000000 Binary files a/_tools/code_generators/libs/png++/test/cmp/basn0g16.png.RGB.16.out and /dev/null differ diff --git a/_tools/code_generators/libs/png++/test/cmp/basn0g16.png.RGB.8.out b/_tools/code_generators/libs/png++/test/cmp/basn0g16.png.RGB.8.out deleted file mode 100644 index eae1e7b597c36fa501b8ef888e499fbc4abac46d..0000000000000000000000000000000000000000 Binary files a/_tools/code_generators/libs/png++/test/cmp/basn0g16.png.RGB.8.out and /dev/null differ diff --git a/_tools/code_generators/libs/png++/test/cmp/basn0g16.png.RGBA.16.out b/_tools/code_generators/libs/png++/test/cmp/basn0g16.png.RGBA.16.out deleted file mode 100644 index 99f20554e22a058e979a4f4ad59451d1e45735a3..0000000000000000000000000000000000000000 Binary files a/_tools/code_generators/libs/png++/test/cmp/basn0g16.png.RGBA.16.out and /dev/null differ diff --git a/_tools/code_generators/libs/png++/test/cmp/basn0g16.png.RGBA.8.out b/_tools/code_generators/libs/png++/test/cmp/basn0g16.png.RGBA.8.out deleted file mode 100644 index d95f5210962092daacdc68873b50a3e9d6e1f733..0000000000000000000000000000000000000000 Binary files a/_tools/code_generators/libs/png++/test/cmp/basn0g16.png.RGBA.8.out and /dev/null differ diff --git a/_tools/code_generators/libs/png++/test/cmp/basn2c08.png.GA.16.out b/_tools/code_generators/libs/png++/test/cmp/basn2c08.png.GA.16.out deleted file mode 100644 index 27ae8dff48c71cf5ae3dcc09c3a9d652de637641..0000000000000000000000000000000000000000 Binary files a/_tools/code_generators/libs/png++/test/cmp/basn2c08.png.GA.16.out and /dev/null differ diff --git a/_tools/code_generators/libs/png++/test/cmp/basn2c08.png.GA.8.out b/_tools/code_generators/libs/png++/test/cmp/basn2c08.png.GA.8.out deleted file mode 100644 index 624bf3a7d824bd47e5bf6a327f2ba6fc6f81e7cf..0000000000000000000000000000000000000000 Binary files a/_tools/code_generators/libs/png++/test/cmp/basn2c08.png.GA.8.out and /dev/null differ diff --git a/_tools/code_generators/libs/png++/test/cmp/basn2c08.png.GRAY.16.out b/_tools/code_generators/libs/png++/test/cmp/basn2c08.png.GRAY.16.out deleted file mode 100644 index ba23dfe07dc9d521cd63c352eb8e1cef5c406ccf..0000000000000000000000000000000000000000 Binary files a/_tools/code_generators/libs/png++/test/cmp/basn2c08.png.GRAY.16.out and /dev/null differ diff --git a/_tools/code_generators/libs/png++/test/cmp/basn2c08.png.GRAY.8.out b/_tools/code_generators/libs/png++/test/cmp/basn2c08.png.GRAY.8.out deleted file mode 100644 index d678379313a7d1e34b1510a12d2e9ac5cbc1f331..0000000000000000000000000000000000000000 Binary files a/_tools/code_generators/libs/png++/test/cmp/basn2c08.png.GRAY.8.out and /dev/null differ diff --git a/_tools/code_generators/libs/png++/test/cmp/basn2c08.png.RGB.16.out b/_tools/code_generators/libs/png++/test/cmp/basn2c08.png.RGB.16.out deleted file mode 100644 index d309464adc1b91382749f0b85ba49ed8b04c975b..0000000000000000000000000000000000000000 Binary files a/_tools/code_generators/libs/png++/test/cmp/basn2c08.png.RGB.16.out and /dev/null differ diff --git a/_tools/code_generators/libs/png++/test/cmp/basn2c08.png.RGB.8.out b/_tools/code_generators/libs/png++/test/cmp/basn2c08.png.RGB.8.out deleted file mode 100644 index 77caf74462f946aad448d9d308d930f0d1080707..0000000000000000000000000000000000000000 Binary files a/_tools/code_generators/libs/png++/test/cmp/basn2c08.png.RGB.8.out and /dev/null differ diff --git a/_tools/code_generators/libs/png++/test/cmp/basn2c08.png.RGBA.16.out b/_tools/code_generators/libs/png++/test/cmp/basn2c08.png.RGBA.16.out deleted file mode 100644 index baf0adbbcb1748454e7660744d4c227bfc90d476..0000000000000000000000000000000000000000 Binary files a/_tools/code_generators/libs/png++/test/cmp/basn2c08.png.RGBA.16.out and /dev/null differ diff --git a/_tools/code_generators/libs/png++/test/cmp/basn2c08.png.RGBA.8.out b/_tools/code_generators/libs/png++/test/cmp/basn2c08.png.RGBA.8.out deleted file mode 100644 index 6a1dbe396145c7341e1d934c38f1e3908ea807a9..0000000000000000000000000000000000000000 Binary files a/_tools/code_generators/libs/png++/test/cmp/basn2c08.png.RGBA.8.out and /dev/null differ diff --git a/_tools/code_generators/libs/png++/test/cmp/basn2c16.png.GA.16.out b/_tools/code_generators/libs/png++/test/cmp/basn2c16.png.GA.16.out deleted file mode 100644 index bb4b0750bb7e07f71d08d25f5e135fae92dfc3c7..0000000000000000000000000000000000000000 Binary files a/_tools/code_generators/libs/png++/test/cmp/basn2c16.png.GA.16.out and /dev/null differ diff --git a/_tools/code_generators/libs/png++/test/cmp/basn2c16.png.GA.8.out b/_tools/code_generators/libs/png++/test/cmp/basn2c16.png.GA.8.out deleted file mode 100644 index a151e85b970cecfba8acd22b15c5ff96f1259ebc..0000000000000000000000000000000000000000 Binary files a/_tools/code_generators/libs/png++/test/cmp/basn2c16.png.GA.8.out and /dev/null differ diff --git a/_tools/code_generators/libs/png++/test/cmp/basn2c16.png.GRAY.16.out b/_tools/code_generators/libs/png++/test/cmp/basn2c16.png.GRAY.16.out deleted file mode 100644 index 980c57dbc48a01801069277779a5239fd9415487..0000000000000000000000000000000000000000 Binary files a/_tools/code_generators/libs/png++/test/cmp/basn2c16.png.GRAY.16.out and /dev/null differ diff --git a/_tools/code_generators/libs/png++/test/cmp/basn2c16.png.GRAY.8.out b/_tools/code_generators/libs/png++/test/cmp/basn2c16.png.GRAY.8.out deleted file mode 100644 index 8d62e832e500a1ca04395c682e66fd4c2039fe43..0000000000000000000000000000000000000000 Binary files a/_tools/code_generators/libs/png++/test/cmp/basn2c16.png.GRAY.8.out and /dev/null differ diff --git a/_tools/code_generators/libs/png++/test/cmp/basn2c16.png.RGB.16.out b/_tools/code_generators/libs/png++/test/cmp/basn2c16.png.RGB.16.out deleted file mode 100644 index 5df647ad3b4a7ef78b8fe7da00e5272979006381..0000000000000000000000000000000000000000 Binary files a/_tools/code_generators/libs/png++/test/cmp/basn2c16.png.RGB.16.out and /dev/null differ diff --git a/_tools/code_generators/libs/png++/test/cmp/basn2c16.png.RGB.8.out b/_tools/code_generators/libs/png++/test/cmp/basn2c16.png.RGB.8.out deleted file mode 100644 index b097f70d4b24b38cdaf3842bd837407a28e2cf6a..0000000000000000000000000000000000000000 Binary files a/_tools/code_generators/libs/png++/test/cmp/basn2c16.png.RGB.8.out and /dev/null differ diff --git a/_tools/code_generators/libs/png++/test/cmp/basn2c16.png.RGBA.16.out b/_tools/code_generators/libs/png++/test/cmp/basn2c16.png.RGBA.16.out deleted file mode 100644 index c4445dcd2cde938c82a7b6d84c25d284d04badd6..0000000000000000000000000000000000000000 Binary files a/_tools/code_generators/libs/png++/test/cmp/basn2c16.png.RGBA.16.out and /dev/null differ diff --git a/_tools/code_generators/libs/png++/test/cmp/basn2c16.png.RGBA.8.out b/_tools/code_generators/libs/png++/test/cmp/basn2c16.png.RGBA.8.out deleted file mode 100644 index 80a60428ea1a4f989a15f89e458bff304b4023c6..0000000000000000000000000000000000000000 Binary files a/_tools/code_generators/libs/png++/test/cmp/basn2c16.png.RGBA.8.out and /dev/null differ diff --git a/_tools/code_generators/libs/png++/test/cmp/basn3p01.png.GA.16.out b/_tools/code_generators/libs/png++/test/cmp/basn3p01.png.GA.16.out deleted file mode 100644 index 3eb65611887a0c5cf3de925153abaa79fff8ab63..0000000000000000000000000000000000000000 Binary files a/_tools/code_generators/libs/png++/test/cmp/basn3p01.png.GA.16.out and /dev/null differ diff --git a/_tools/code_generators/libs/png++/test/cmp/basn3p01.png.GA.8.out b/_tools/code_generators/libs/png++/test/cmp/basn3p01.png.GA.8.out deleted file mode 100644 index 0c97e0155b6cce97ee6f4f92c04db1ba20cac26b..0000000000000000000000000000000000000000 Binary files a/_tools/code_generators/libs/png++/test/cmp/basn3p01.png.GA.8.out and /dev/null differ diff --git a/_tools/code_generators/libs/png++/test/cmp/basn3p01.png.GRAY.16.out b/_tools/code_generators/libs/png++/test/cmp/basn3p01.png.GRAY.16.out deleted file mode 100644 index 21100ff612c44d9391f362a7a570af5fabe2ad5e..0000000000000000000000000000000000000000 Binary files a/_tools/code_generators/libs/png++/test/cmp/basn3p01.png.GRAY.16.out and /dev/null differ diff --git a/_tools/code_generators/libs/png++/test/cmp/basn3p01.png.GRAY.8.out b/_tools/code_generators/libs/png++/test/cmp/basn3p01.png.GRAY.8.out deleted file mode 100644 index c5c08cb8491ef6e468f47fb2efb83826670b1182..0000000000000000000000000000000000000000 Binary files a/_tools/code_generators/libs/png++/test/cmp/basn3p01.png.GRAY.8.out and /dev/null differ diff --git a/_tools/code_generators/libs/png++/test/cmp/basn3p01.png.RGB.16.out b/_tools/code_generators/libs/png++/test/cmp/basn3p01.png.RGB.16.out deleted file mode 100644 index 6c65197cb79205be6e62512abaf3271c80710f6e..0000000000000000000000000000000000000000 Binary files a/_tools/code_generators/libs/png++/test/cmp/basn3p01.png.RGB.16.out and /dev/null differ diff --git a/_tools/code_generators/libs/png++/test/cmp/basn3p01.png.RGB.8.out b/_tools/code_generators/libs/png++/test/cmp/basn3p01.png.RGB.8.out deleted file mode 100644 index e834bc528ed144668fbd6bf8b1ab6126a78a653d..0000000000000000000000000000000000000000 Binary files a/_tools/code_generators/libs/png++/test/cmp/basn3p01.png.RGB.8.out and /dev/null differ diff --git a/_tools/code_generators/libs/png++/test/cmp/basn3p01.png.RGBA.16.out b/_tools/code_generators/libs/png++/test/cmp/basn3p01.png.RGBA.16.out deleted file mode 100644 index bc2028359b9ddb12c1b66768d49c622ce0b19d7a..0000000000000000000000000000000000000000 Binary files a/_tools/code_generators/libs/png++/test/cmp/basn3p01.png.RGBA.16.out and /dev/null differ diff --git a/_tools/code_generators/libs/png++/test/cmp/basn3p01.png.RGBA.8.out b/_tools/code_generators/libs/png++/test/cmp/basn3p01.png.RGBA.8.out deleted file mode 100644 index 354293b02954922794fc1c28398ab9a6e3d02fdb..0000000000000000000000000000000000000000 Binary files a/_tools/code_generators/libs/png++/test/cmp/basn3p01.png.RGBA.8.out and /dev/null differ diff --git a/_tools/code_generators/libs/png++/test/cmp/basn3p02.png.GA.16.out b/_tools/code_generators/libs/png++/test/cmp/basn3p02.png.GA.16.out deleted file mode 100644 index d3524e2b4dcac872856cf7808a24403c3c608070..0000000000000000000000000000000000000000 Binary files a/_tools/code_generators/libs/png++/test/cmp/basn3p02.png.GA.16.out and /dev/null differ diff --git a/_tools/code_generators/libs/png++/test/cmp/basn3p02.png.GA.8.out b/_tools/code_generators/libs/png++/test/cmp/basn3p02.png.GA.8.out deleted file mode 100644 index 73155c403d755cc814d48937bfbab739f2b43292..0000000000000000000000000000000000000000 Binary files a/_tools/code_generators/libs/png++/test/cmp/basn3p02.png.GA.8.out and /dev/null differ diff --git a/_tools/code_generators/libs/png++/test/cmp/basn3p02.png.GRAY.16.out b/_tools/code_generators/libs/png++/test/cmp/basn3p02.png.GRAY.16.out deleted file mode 100644 index 4318e36d07d3eb46bca18ebb04ea49a40efa8fb6..0000000000000000000000000000000000000000 Binary files a/_tools/code_generators/libs/png++/test/cmp/basn3p02.png.GRAY.16.out and /dev/null differ diff --git a/_tools/code_generators/libs/png++/test/cmp/basn3p02.png.GRAY.8.out b/_tools/code_generators/libs/png++/test/cmp/basn3p02.png.GRAY.8.out deleted file mode 100644 index 4c4de6132b3894235fd23e3efcb234a22005df32..0000000000000000000000000000000000000000 Binary files a/_tools/code_generators/libs/png++/test/cmp/basn3p02.png.GRAY.8.out and /dev/null differ diff --git a/_tools/code_generators/libs/png++/test/cmp/basn3p02.png.RGB.16.out b/_tools/code_generators/libs/png++/test/cmp/basn3p02.png.RGB.16.out deleted file mode 100644 index 771d34f87cad1e3b123c88ae819be14bff307faf..0000000000000000000000000000000000000000 Binary files a/_tools/code_generators/libs/png++/test/cmp/basn3p02.png.RGB.16.out and /dev/null differ diff --git a/_tools/code_generators/libs/png++/test/cmp/basn3p02.png.RGB.8.out b/_tools/code_generators/libs/png++/test/cmp/basn3p02.png.RGB.8.out deleted file mode 100644 index 38f0df85689dbb049dc5aa95e51f29ba03ad63c2..0000000000000000000000000000000000000000 Binary files a/_tools/code_generators/libs/png++/test/cmp/basn3p02.png.RGB.8.out and /dev/null differ diff --git a/_tools/code_generators/libs/png++/test/cmp/basn3p02.png.RGBA.16.out b/_tools/code_generators/libs/png++/test/cmp/basn3p02.png.RGBA.16.out deleted file mode 100644 index 1e9a2825c624cec89b040866710a336e774e55e1..0000000000000000000000000000000000000000 Binary files a/_tools/code_generators/libs/png++/test/cmp/basn3p02.png.RGBA.16.out and /dev/null differ diff --git a/_tools/code_generators/libs/png++/test/cmp/basn3p02.png.RGBA.8.out b/_tools/code_generators/libs/png++/test/cmp/basn3p02.png.RGBA.8.out deleted file mode 100644 index 19ea90bd4b27f86dc85914c7f7452edf67d77c2f..0000000000000000000000000000000000000000 Binary files a/_tools/code_generators/libs/png++/test/cmp/basn3p02.png.RGBA.8.out and /dev/null differ diff --git a/_tools/code_generators/libs/png++/test/cmp/basn3p04.png.GA.16.out b/_tools/code_generators/libs/png++/test/cmp/basn3p04.png.GA.16.out deleted file mode 100644 index ab167c90b486e826e7548f8289d31c316a022113..0000000000000000000000000000000000000000 Binary files a/_tools/code_generators/libs/png++/test/cmp/basn3p04.png.GA.16.out and /dev/null differ diff --git a/_tools/code_generators/libs/png++/test/cmp/basn3p04.png.GA.8.out b/_tools/code_generators/libs/png++/test/cmp/basn3p04.png.GA.8.out deleted file mode 100644 index 82ffc2ae7d62ac1c09f528c77c41d3c091d4840e..0000000000000000000000000000000000000000 Binary files a/_tools/code_generators/libs/png++/test/cmp/basn3p04.png.GA.8.out and /dev/null differ diff --git a/_tools/code_generators/libs/png++/test/cmp/basn3p04.png.GRAY.16.out b/_tools/code_generators/libs/png++/test/cmp/basn3p04.png.GRAY.16.out deleted file mode 100644 index c86fb96edd82e749f0dd14d46927a3e0d326d045..0000000000000000000000000000000000000000 Binary files a/_tools/code_generators/libs/png++/test/cmp/basn3p04.png.GRAY.16.out and /dev/null differ diff --git a/_tools/code_generators/libs/png++/test/cmp/basn3p04.png.GRAY.8.out b/_tools/code_generators/libs/png++/test/cmp/basn3p04.png.GRAY.8.out deleted file mode 100644 index f472ee82940a7ab03b1c81f5cfd9af5727ec4d2b..0000000000000000000000000000000000000000 Binary files a/_tools/code_generators/libs/png++/test/cmp/basn3p04.png.GRAY.8.out and /dev/null differ diff --git a/_tools/code_generators/libs/png++/test/cmp/basn3p04.png.RGB.16.out b/_tools/code_generators/libs/png++/test/cmp/basn3p04.png.RGB.16.out deleted file mode 100644 index 585adcca4db7f6a604bc480474942e5a20189b7b..0000000000000000000000000000000000000000 Binary files a/_tools/code_generators/libs/png++/test/cmp/basn3p04.png.RGB.16.out and /dev/null differ diff --git a/_tools/code_generators/libs/png++/test/cmp/basn3p04.png.RGB.8.out b/_tools/code_generators/libs/png++/test/cmp/basn3p04.png.RGB.8.out deleted file mode 100644 index c987d28eaebe89c8722b3ba052a61d7c6a8c29e6..0000000000000000000000000000000000000000 Binary files a/_tools/code_generators/libs/png++/test/cmp/basn3p04.png.RGB.8.out and /dev/null differ diff --git a/_tools/code_generators/libs/png++/test/cmp/basn3p04.png.RGBA.16.out b/_tools/code_generators/libs/png++/test/cmp/basn3p04.png.RGBA.16.out deleted file mode 100644 index 45d93893bc8fcf3f963f998bb0ec1610f0ac6e71..0000000000000000000000000000000000000000 Binary files a/_tools/code_generators/libs/png++/test/cmp/basn3p04.png.RGBA.16.out and /dev/null differ diff --git a/_tools/code_generators/libs/png++/test/cmp/basn3p04.png.RGBA.8.out b/_tools/code_generators/libs/png++/test/cmp/basn3p04.png.RGBA.8.out deleted file mode 100644 index fe9ac5656740ccf33d0f244cdfbab743a83a56ca..0000000000000000000000000000000000000000 Binary files a/_tools/code_generators/libs/png++/test/cmp/basn3p04.png.RGBA.8.out and /dev/null differ diff --git a/_tools/code_generators/libs/png++/test/cmp/basn3p08.png.GA.16.out b/_tools/code_generators/libs/png++/test/cmp/basn3p08.png.GA.16.out deleted file mode 100644 index 0a751b6ee7171bf4ed85d778114b1de2ddd9aaed..0000000000000000000000000000000000000000 Binary files a/_tools/code_generators/libs/png++/test/cmp/basn3p08.png.GA.16.out and /dev/null differ diff --git a/_tools/code_generators/libs/png++/test/cmp/basn3p08.png.GA.8.out b/_tools/code_generators/libs/png++/test/cmp/basn3p08.png.GA.8.out deleted file mode 100644 index 4dc8f80df0ce44e2ef0cb51caf2d45c88ca44374..0000000000000000000000000000000000000000 Binary files a/_tools/code_generators/libs/png++/test/cmp/basn3p08.png.GA.8.out and /dev/null differ diff --git a/_tools/code_generators/libs/png++/test/cmp/basn3p08.png.GRAY.16.out b/_tools/code_generators/libs/png++/test/cmp/basn3p08.png.GRAY.16.out deleted file mode 100644 index 68de54d0a19aa4836b906a3899e00690354406e9..0000000000000000000000000000000000000000 Binary files a/_tools/code_generators/libs/png++/test/cmp/basn3p08.png.GRAY.16.out and /dev/null differ diff --git a/_tools/code_generators/libs/png++/test/cmp/basn3p08.png.GRAY.8.out b/_tools/code_generators/libs/png++/test/cmp/basn3p08.png.GRAY.8.out deleted file mode 100644 index d1e650e00d01749c4b65c2df2335e1550b5d38f9..0000000000000000000000000000000000000000 Binary files a/_tools/code_generators/libs/png++/test/cmp/basn3p08.png.GRAY.8.out and /dev/null differ diff --git a/_tools/code_generators/libs/png++/test/cmp/basn3p08.png.RGB.16.out b/_tools/code_generators/libs/png++/test/cmp/basn3p08.png.RGB.16.out deleted file mode 100644 index 1fd97fa7fc94b6e59e1afd9a8519fafe72411528..0000000000000000000000000000000000000000 Binary files a/_tools/code_generators/libs/png++/test/cmp/basn3p08.png.RGB.16.out and /dev/null differ diff --git a/_tools/code_generators/libs/png++/test/cmp/basn3p08.png.RGB.8.out b/_tools/code_generators/libs/png++/test/cmp/basn3p08.png.RGB.8.out deleted file mode 100644 index 86011898fc27646a0a92404e60f3c2418508ff3b..0000000000000000000000000000000000000000 Binary files a/_tools/code_generators/libs/png++/test/cmp/basn3p08.png.RGB.8.out and /dev/null differ diff --git a/_tools/code_generators/libs/png++/test/cmp/basn3p08.png.RGBA.16.out b/_tools/code_generators/libs/png++/test/cmp/basn3p08.png.RGBA.16.out deleted file mode 100644 index fe00181f6dd31cdfc7849655f939b3e3b7afa4e2..0000000000000000000000000000000000000000 Binary files a/_tools/code_generators/libs/png++/test/cmp/basn3p08.png.RGBA.16.out and /dev/null differ diff --git a/_tools/code_generators/libs/png++/test/cmp/basn3p08.png.RGBA.8.out b/_tools/code_generators/libs/png++/test/cmp/basn3p08.png.RGBA.8.out deleted file mode 100644 index 5cde524cf52d0c0253504be7b0ad64286136560f..0000000000000000000000000000000000000000 Binary files a/_tools/code_generators/libs/png++/test/cmp/basn3p08.png.RGBA.8.out and /dev/null differ diff --git a/_tools/code_generators/libs/png++/test/cmp/basn4a08.png.GA.16.out b/_tools/code_generators/libs/png++/test/cmp/basn4a08.png.GA.16.out deleted file mode 100644 index 982a7758ff9282e4357682b27db5081734357013..0000000000000000000000000000000000000000 Binary files a/_tools/code_generators/libs/png++/test/cmp/basn4a08.png.GA.16.out and /dev/null differ diff --git a/_tools/code_generators/libs/png++/test/cmp/basn4a08.png.GA.8.out b/_tools/code_generators/libs/png++/test/cmp/basn4a08.png.GA.8.out deleted file mode 100644 index b8ef393743d3a9ca47fde6f5c30c67e90d0a8ad5..0000000000000000000000000000000000000000 Binary files a/_tools/code_generators/libs/png++/test/cmp/basn4a08.png.GA.8.out and /dev/null differ diff --git a/_tools/code_generators/libs/png++/test/cmp/basn4a08.png.GRAY.16.out b/_tools/code_generators/libs/png++/test/cmp/basn4a08.png.GRAY.16.out deleted file mode 100644 index 5a693596ffaba5d59e2f4add03afabb751ba96ab..0000000000000000000000000000000000000000 Binary files a/_tools/code_generators/libs/png++/test/cmp/basn4a08.png.GRAY.16.out and /dev/null differ diff --git a/_tools/code_generators/libs/png++/test/cmp/basn4a08.png.GRAY.8.out b/_tools/code_generators/libs/png++/test/cmp/basn4a08.png.GRAY.8.out deleted file mode 100644 index 89b58c02f409b3e7518eea4aa57c77de35edcb71..0000000000000000000000000000000000000000 Binary files a/_tools/code_generators/libs/png++/test/cmp/basn4a08.png.GRAY.8.out and /dev/null differ diff --git a/_tools/code_generators/libs/png++/test/cmp/basn4a08.png.RGB.16.out b/_tools/code_generators/libs/png++/test/cmp/basn4a08.png.RGB.16.out deleted file mode 100644 index 36ef6d2c325a9b8e9b2691072092fe2cf74270d7..0000000000000000000000000000000000000000 Binary files a/_tools/code_generators/libs/png++/test/cmp/basn4a08.png.RGB.16.out and /dev/null differ diff --git a/_tools/code_generators/libs/png++/test/cmp/basn4a08.png.RGB.8.out b/_tools/code_generators/libs/png++/test/cmp/basn4a08.png.RGB.8.out deleted file mode 100644 index 32dec3a4df27e127d58ef95dce4be13820d4ab43..0000000000000000000000000000000000000000 Binary files a/_tools/code_generators/libs/png++/test/cmp/basn4a08.png.RGB.8.out and /dev/null differ diff --git a/_tools/code_generators/libs/png++/test/cmp/basn4a08.png.RGBA.16.out b/_tools/code_generators/libs/png++/test/cmp/basn4a08.png.RGBA.16.out deleted file mode 100644 index e65898c2d0772891c83d7a79968e9d587bc23e34..0000000000000000000000000000000000000000 Binary files a/_tools/code_generators/libs/png++/test/cmp/basn4a08.png.RGBA.16.out and /dev/null differ diff --git a/_tools/code_generators/libs/png++/test/cmp/basn4a08.png.RGBA.8.out b/_tools/code_generators/libs/png++/test/cmp/basn4a08.png.RGBA.8.out deleted file mode 100644 index 8a903f6316ae1cb3b1e81d738223033d01c427b1..0000000000000000000000000000000000000000 Binary files a/_tools/code_generators/libs/png++/test/cmp/basn4a08.png.RGBA.8.out and /dev/null differ diff --git a/_tools/code_generators/libs/png++/test/cmp/basn4a16.png.GA.16.out b/_tools/code_generators/libs/png++/test/cmp/basn4a16.png.GA.16.out deleted file mode 100644 index 978a585d950eb8a278ce21913aa30bc07cdb61c1..0000000000000000000000000000000000000000 Binary files a/_tools/code_generators/libs/png++/test/cmp/basn4a16.png.GA.16.out and /dev/null differ diff --git a/_tools/code_generators/libs/png++/test/cmp/basn4a16.png.GA.8.out b/_tools/code_generators/libs/png++/test/cmp/basn4a16.png.GA.8.out deleted file mode 100644 index 34c98079618c714c46ee1d48a9c815fbbff4951b..0000000000000000000000000000000000000000 Binary files a/_tools/code_generators/libs/png++/test/cmp/basn4a16.png.GA.8.out and /dev/null differ diff --git a/_tools/code_generators/libs/png++/test/cmp/basn4a16.png.GRAY.16.out b/_tools/code_generators/libs/png++/test/cmp/basn4a16.png.GRAY.16.out deleted file mode 100644 index a78fb79903c56e5634cde5c3e197d31582513b28..0000000000000000000000000000000000000000 Binary files a/_tools/code_generators/libs/png++/test/cmp/basn4a16.png.GRAY.16.out and /dev/null differ diff --git a/_tools/code_generators/libs/png++/test/cmp/basn4a16.png.GRAY.8.out b/_tools/code_generators/libs/png++/test/cmp/basn4a16.png.GRAY.8.out deleted file mode 100644 index 36f86cfe50f0d43f8f5c68f21dd7bbd716466fe9..0000000000000000000000000000000000000000 Binary files a/_tools/code_generators/libs/png++/test/cmp/basn4a16.png.GRAY.8.out and /dev/null differ diff --git a/_tools/code_generators/libs/png++/test/cmp/basn4a16.png.RGB.16.out b/_tools/code_generators/libs/png++/test/cmp/basn4a16.png.RGB.16.out deleted file mode 100644 index 2a537f0b23ca95c8e80ccad371cce0d6bdea07a5..0000000000000000000000000000000000000000 Binary files a/_tools/code_generators/libs/png++/test/cmp/basn4a16.png.RGB.16.out and /dev/null differ diff --git a/_tools/code_generators/libs/png++/test/cmp/basn4a16.png.RGB.8.out b/_tools/code_generators/libs/png++/test/cmp/basn4a16.png.RGB.8.out deleted file mode 100644 index a239300b79763d97817c858de784bc544761313f..0000000000000000000000000000000000000000 Binary files a/_tools/code_generators/libs/png++/test/cmp/basn4a16.png.RGB.8.out and /dev/null differ diff --git a/_tools/code_generators/libs/png++/test/cmp/basn4a16.png.RGBA.16.out b/_tools/code_generators/libs/png++/test/cmp/basn4a16.png.RGBA.16.out deleted file mode 100644 index e83bfd45b19bbde661dce94ecdce1b9a850b3ade..0000000000000000000000000000000000000000 Binary files a/_tools/code_generators/libs/png++/test/cmp/basn4a16.png.RGBA.16.out and /dev/null differ diff --git a/_tools/code_generators/libs/png++/test/cmp/basn4a16.png.RGBA.8.out b/_tools/code_generators/libs/png++/test/cmp/basn4a16.png.RGBA.8.out deleted file mode 100644 index 1481fb0c92eb4dc4ebfb5d22688755ec2daba4d9..0000000000000000000000000000000000000000 Binary files a/_tools/code_generators/libs/png++/test/cmp/basn4a16.png.RGBA.8.out and /dev/null differ diff --git a/_tools/code_generators/libs/png++/test/cmp/basn6a08.png.GA.16.out b/_tools/code_generators/libs/png++/test/cmp/basn6a08.png.GA.16.out deleted file mode 100644 index 0c13f717f29fe01dddb3f8777beca7463544c53a..0000000000000000000000000000000000000000 Binary files a/_tools/code_generators/libs/png++/test/cmp/basn6a08.png.GA.16.out and /dev/null differ diff --git a/_tools/code_generators/libs/png++/test/cmp/basn6a08.png.GA.8.out b/_tools/code_generators/libs/png++/test/cmp/basn6a08.png.GA.8.out deleted file mode 100644 index cf54821fadf8c6ba0342844b86d7fd1e5bbd0e86..0000000000000000000000000000000000000000 Binary files a/_tools/code_generators/libs/png++/test/cmp/basn6a08.png.GA.8.out and /dev/null differ diff --git a/_tools/code_generators/libs/png++/test/cmp/basn6a08.png.GRAY.16.out b/_tools/code_generators/libs/png++/test/cmp/basn6a08.png.GRAY.16.out deleted file mode 100644 index c846ca3e2de24cd86aad7ff2be20142afd35c546..0000000000000000000000000000000000000000 Binary files a/_tools/code_generators/libs/png++/test/cmp/basn6a08.png.GRAY.16.out and /dev/null differ diff --git a/_tools/code_generators/libs/png++/test/cmp/basn6a08.png.GRAY.8.out b/_tools/code_generators/libs/png++/test/cmp/basn6a08.png.GRAY.8.out deleted file mode 100644 index 3e7a231593aac14acd5c14efeedb460ad9444c3e..0000000000000000000000000000000000000000 Binary files a/_tools/code_generators/libs/png++/test/cmp/basn6a08.png.GRAY.8.out and /dev/null differ diff --git a/_tools/code_generators/libs/png++/test/cmp/basn6a08.png.RGB.16.out b/_tools/code_generators/libs/png++/test/cmp/basn6a08.png.RGB.16.out deleted file mode 100644 index 9c12d3a6cb7e10d647e20671b695d80108701cc5..0000000000000000000000000000000000000000 Binary files a/_tools/code_generators/libs/png++/test/cmp/basn6a08.png.RGB.16.out and /dev/null differ diff --git a/_tools/code_generators/libs/png++/test/cmp/basn6a08.png.RGB.8.out b/_tools/code_generators/libs/png++/test/cmp/basn6a08.png.RGB.8.out deleted file mode 100644 index 31978afa8a91334521215178599f61142bdc4390..0000000000000000000000000000000000000000 Binary files a/_tools/code_generators/libs/png++/test/cmp/basn6a08.png.RGB.8.out and /dev/null differ diff --git a/_tools/code_generators/libs/png++/test/cmp/basn6a08.png.RGBA.16.out b/_tools/code_generators/libs/png++/test/cmp/basn6a08.png.RGBA.16.out deleted file mode 100644 index 1f354e39b3f0356603216a6cebcb89a2ef0ca11c..0000000000000000000000000000000000000000 Binary files a/_tools/code_generators/libs/png++/test/cmp/basn6a08.png.RGBA.16.out and /dev/null differ diff --git a/_tools/code_generators/libs/png++/test/cmp/basn6a08.png.RGBA.8.out b/_tools/code_generators/libs/png++/test/cmp/basn6a08.png.RGBA.8.out deleted file mode 100644 index ef0ebe4e27ef70bb1745b0e11feaabc66b8da75e..0000000000000000000000000000000000000000 Binary files a/_tools/code_generators/libs/png++/test/cmp/basn6a08.png.RGBA.8.out and /dev/null differ diff --git a/_tools/code_generators/libs/png++/test/cmp/basn6a16.png.GA.16.out b/_tools/code_generators/libs/png++/test/cmp/basn6a16.png.GA.16.out deleted file mode 100644 index 5f9c114f3f741233c882ab9069a7dd6c0f1bd38e..0000000000000000000000000000000000000000 Binary files a/_tools/code_generators/libs/png++/test/cmp/basn6a16.png.GA.16.out and /dev/null differ diff --git a/_tools/code_generators/libs/png++/test/cmp/basn6a16.png.GA.8.out b/_tools/code_generators/libs/png++/test/cmp/basn6a16.png.GA.8.out deleted file mode 100644 index 058d111de30d9035fa0a9a40d406ce52a44c7bb3..0000000000000000000000000000000000000000 Binary files a/_tools/code_generators/libs/png++/test/cmp/basn6a16.png.GA.8.out and /dev/null differ diff --git a/_tools/code_generators/libs/png++/test/cmp/basn6a16.png.GRAY.16.out b/_tools/code_generators/libs/png++/test/cmp/basn6a16.png.GRAY.16.out deleted file mode 100644 index b874c94c576756ad3a0fdcd722c54a068e64782b..0000000000000000000000000000000000000000 Binary files a/_tools/code_generators/libs/png++/test/cmp/basn6a16.png.GRAY.16.out and /dev/null differ diff --git a/_tools/code_generators/libs/png++/test/cmp/basn6a16.png.GRAY.8.out b/_tools/code_generators/libs/png++/test/cmp/basn6a16.png.GRAY.8.out deleted file mode 100644 index c3245fb1e5cf2f89c7825916eccc1eea00b6ef1d..0000000000000000000000000000000000000000 Binary files a/_tools/code_generators/libs/png++/test/cmp/basn6a16.png.GRAY.8.out and /dev/null differ diff --git a/_tools/code_generators/libs/png++/test/cmp/basn6a16.png.RGB.16.out b/_tools/code_generators/libs/png++/test/cmp/basn6a16.png.RGB.16.out deleted file mode 100644 index 8c98fc294128e4b0d68cb363f31913e1aa08defd..0000000000000000000000000000000000000000 Binary files a/_tools/code_generators/libs/png++/test/cmp/basn6a16.png.RGB.16.out and /dev/null differ diff --git a/_tools/code_generators/libs/png++/test/cmp/basn6a16.png.RGB.8.out b/_tools/code_generators/libs/png++/test/cmp/basn6a16.png.RGB.8.out deleted file mode 100644 index 2c36574281524b3c36a737649505b7d46e494b10..0000000000000000000000000000000000000000 Binary files a/_tools/code_generators/libs/png++/test/cmp/basn6a16.png.RGB.8.out and /dev/null differ diff --git a/_tools/code_generators/libs/png++/test/cmp/basn6a16.png.RGBA.16.out b/_tools/code_generators/libs/png++/test/cmp/basn6a16.png.RGBA.16.out deleted file mode 100644 index 51ea33fa528d3e15b66720658ca58b32c9ecd8c3..0000000000000000000000000000000000000000 Binary files a/_tools/code_generators/libs/png++/test/cmp/basn6a16.png.RGBA.16.out and /dev/null differ diff --git a/_tools/code_generators/libs/png++/test/cmp/basn6a16.png.RGBA.8.out b/_tools/code_generators/libs/png++/test/cmp/basn6a16.png.RGBA.8.out deleted file mode 100644 index a78219c29b7368cc6908948fc83104b5ec0b62eb..0000000000000000000000000000000000000000 Binary files a/_tools/code_generators/libs/png++/test/cmp/basn6a16.png.RGBA.8.out and /dev/null differ diff --git a/_tools/code_generators/libs/png++/test/cmp/gray_16.out b/_tools/code_generators/libs/png++/test/cmp/gray_16.out deleted file mode 100644 index e405f4e1253a266f180645472b751ce0e18a69c8..0000000000000000000000000000000000000000 Binary files a/_tools/code_generators/libs/png++/test/cmp/gray_16.out and /dev/null differ diff --git a/_tools/code_generators/libs/png++/test/cmp/gray_packed_1.png.out b/_tools/code_generators/libs/png++/test/cmp/gray_packed_1.png.out deleted file mode 100644 index 238628050db4b5b95143b97049d1782b39be9cc9..0000000000000000000000000000000000000000 Binary files a/_tools/code_generators/libs/png++/test/cmp/gray_packed_1.png.out and /dev/null differ diff --git a/_tools/code_generators/libs/png++/test/cmp/gray_packed_2.png.out b/_tools/code_generators/libs/png++/test/cmp/gray_packed_2.png.out deleted file mode 100644 index fb0e9c7c9bcf4edf0c78d00db465d9abdd3d12d3..0000000000000000000000000000000000000000 Binary files a/_tools/code_generators/libs/png++/test/cmp/gray_packed_2.png.out and /dev/null differ diff --git a/_tools/code_generators/libs/png++/test/cmp/gray_packed_4.png.out b/_tools/code_generators/libs/png++/test/cmp/gray_packed_4.png.out deleted file mode 100644 index 5d5563ab28e9e2bef551619226bf1b51186cea84..0000000000000000000000000000000000000000 Binary files a/_tools/code_generators/libs/png++/test/cmp/gray_packed_4.png.out and /dev/null differ diff --git a/_tools/code_generators/libs/png++/test/cmp/interlace.png.GA.16.out b/_tools/code_generators/libs/png++/test/cmp/interlace.png.GA.16.out deleted file mode 100644 index ca364b29b8a77b77e5c2b922735ab84e4ce878e1..0000000000000000000000000000000000000000 Binary files a/_tools/code_generators/libs/png++/test/cmp/interlace.png.GA.16.out and /dev/null differ diff --git a/_tools/code_generators/libs/png++/test/cmp/interlace.png.GA.8.out b/_tools/code_generators/libs/png++/test/cmp/interlace.png.GA.8.out deleted file mode 100644 index 2fb3afaf4051b3dbb820cf2f2275e88390540691..0000000000000000000000000000000000000000 Binary files a/_tools/code_generators/libs/png++/test/cmp/interlace.png.GA.8.out and /dev/null differ diff --git a/_tools/code_generators/libs/png++/test/cmp/interlace.png.GRAY.16.out b/_tools/code_generators/libs/png++/test/cmp/interlace.png.GRAY.16.out deleted file mode 100644 index 81139f7173154098c701104e297b8be549dd75ce..0000000000000000000000000000000000000000 Binary files a/_tools/code_generators/libs/png++/test/cmp/interlace.png.GRAY.16.out and /dev/null differ diff --git a/_tools/code_generators/libs/png++/test/cmp/interlace.png.GRAY.8.out b/_tools/code_generators/libs/png++/test/cmp/interlace.png.GRAY.8.out deleted file mode 100644 index 9dd1ecdd1f282df6d202c52ae2890c8ea1b7b3e8..0000000000000000000000000000000000000000 Binary files a/_tools/code_generators/libs/png++/test/cmp/interlace.png.GRAY.8.out and /dev/null differ diff --git a/_tools/code_generators/libs/png++/test/cmp/interlace.png.RGB.16.out b/_tools/code_generators/libs/png++/test/cmp/interlace.png.RGB.16.out deleted file mode 100644 index 9dfaf8d7f7020d9e0fd2d5e2bb12b1aa41512044..0000000000000000000000000000000000000000 Binary files a/_tools/code_generators/libs/png++/test/cmp/interlace.png.RGB.16.out and /dev/null differ diff --git a/_tools/code_generators/libs/png++/test/cmp/interlace.png.RGB.8.out b/_tools/code_generators/libs/png++/test/cmp/interlace.png.RGB.8.out deleted file mode 100644 index ac0d03179b22e92fe52521b5967f9ce1f7546790..0000000000000000000000000000000000000000 Binary files a/_tools/code_generators/libs/png++/test/cmp/interlace.png.RGB.8.out and /dev/null differ diff --git a/_tools/code_generators/libs/png++/test/cmp/interlace.png.RGBA.16.out b/_tools/code_generators/libs/png++/test/cmp/interlace.png.RGBA.16.out deleted file mode 100644 index 47cf3ff50ab01fd8f31d400b6331e3cdb4d8d099..0000000000000000000000000000000000000000 Binary files a/_tools/code_generators/libs/png++/test/cmp/interlace.png.RGBA.16.out and /dev/null differ diff --git a/_tools/code_generators/libs/png++/test/cmp/interlace.png.RGBA.8.out b/_tools/code_generators/libs/png++/test/cmp/interlace.png.RGBA.8.out deleted file mode 100644 index fe428a3b8ddffa69ca35129b82aec0615fd76aed..0000000000000000000000000000000000000000 Binary files a/_tools/code_generators/libs/png++/test/cmp/interlace.png.RGBA.8.out and /dev/null differ diff --git a/_tools/code_generators/libs/png++/test/cmp/palette1.png.out b/_tools/code_generators/libs/png++/test/cmp/palette1.png.out deleted file mode 100644 index ee4323b2fe29283fed6817592868242f40aec608..0000000000000000000000000000000000000000 Binary files a/_tools/code_generators/libs/png++/test/cmp/palette1.png.out and /dev/null differ diff --git a/_tools/code_generators/libs/png++/test/cmp/palette2.png.out b/_tools/code_generators/libs/png++/test/cmp/palette2.png.out deleted file mode 100644 index ba7fad816501e85bd3c5fe116053567aedfac430..0000000000000000000000000000000000000000 Binary files a/_tools/code_generators/libs/png++/test/cmp/palette2.png.out and /dev/null differ diff --git a/_tools/code_generators/libs/png++/test/cmp/palette4.png.out b/_tools/code_generators/libs/png++/test/cmp/palette4.png.out deleted file mode 100644 index 1b1132bbe7b67dc1563d0e2d032c496601f7d58e..0000000000000000000000000000000000000000 Binary files a/_tools/code_generators/libs/png++/test/cmp/palette4.png.out and /dev/null differ diff --git a/_tools/code_generators/libs/png++/test/cmp/palette8.png.out b/_tools/code_generators/libs/png++/test/cmp/palette8.png.out deleted file mode 100644 index 1b5ea446d6037c855034c9cc6b28bfee7e90fe9e..0000000000000000000000000000000000000000 Binary files a/_tools/code_generators/libs/png++/test/cmp/palette8.png.out and /dev/null differ diff --git a/_tools/code_generators/libs/png++/test/cmp/palette8_tRNS.png.out b/_tools/code_generators/libs/png++/test/cmp/palette8_tRNS.png.out deleted file mode 100644 index 0d3da33341fabbf3f16d661c5f6453f1cb4a788b..0000000000000000000000000000000000000000 Binary files a/_tools/code_generators/libs/png++/test/cmp/palette8_tRNS.png.out and /dev/null differ diff --git a/_tools/code_generators/libs/png++/test/convert_color_space.cpp b/_tools/code_generators/libs/png++/test/convert_color_space.cpp deleted file mode 100644 index 2f598ded6def4a8e00399fe112e2606fb424bfa1..0000000000000000000000000000000000000000 --- a/_tools/code_generators/libs/png++/test/convert_color_space.cpp +++ /dev/null @@ -1,128 +0,0 @@ -/* - * Copyright (C) 2007,2008 Alex Shulgin - * - * This file is part of png++ the C++ wrapper for libpng. PNG++ is free - * software; the exact copying conditions are as follows: - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, - * this list of conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * - * 3. The name of the author may not be used to endorse or promote products - * derived from this software without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR - * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES - * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN - * NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED - * TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR - * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF - * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING - * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS - * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - */ -#include <iostream> -#include <ostream> - -#include <png.hpp> - -void -print_usage() -{ - std::cerr << "usage: convert_color_space RGB|RGBA|GRAY|GA 8|16" - << " INFILE OUTFILE" << std::endl; -} - -int -main(int argc, char* argv[]) -try -{ - if (argc != 5) - { - print_usage(); - return EXIT_FAILURE; - } - char const* space = argv[1]; - int bits = atoi(argv[2]); - char const* infile = argv[3]; - char const* outfile = argv[4]; - - if (bits != 8 && bits != 16) - { - print_usage(); - return EXIT_FAILURE; - } - if (strcmp(space, "RGB") == 0) - { - if (bits == 16) - { - png::image< png::rgb_pixel_16 > image(infile); - image.write(outfile); - } - else - { - png::image< png::rgb_pixel > image(infile); - image.write(outfile); - } - } - else if (strcmp(space, "RGBA") == 0) - { - if (bits == 16) - { - png::image< png::rgba_pixel_16 > image(infile); - image.write(outfile); - } - else - { - png::image< png::rgba_pixel > image(infile); - image.write(outfile); - } - } - else if (strcmp(space, "GRAY") == 0) - { - if (bits == 16) - { - png::image< png::gray_pixel_16 > image(infile); - image.write(outfile); - } - else - { - png::image< png::gray_pixel > image(infile); - image.write(outfile); - } - } - else if (strcmp(space, "GA") == 0) - { - if (bits == 16) - { - png::ga_pixel_16 ga(1); // test alpha_pixel_traits - - png::image< png::ga_pixel_16 > image(infile); - image.write(outfile); - } - else - { - png::ga_pixel ga(1); // test alpha_pixel_traits - - png::image< png::ga_pixel > image(infile); - image.write(outfile); - } - } - else - { - print_usage(); - return EXIT_FAILURE; - } -} -catch (std::exception const& error) -{ - std::cerr << "convert_color_space: " << error.what() << std::endl; - return EXIT_FAILURE; -} diff --git a/_tools/code_generators/libs/png++/test/dump.cpp b/_tools/code_generators/libs/png++/test/dump.cpp deleted file mode 100644 index 038ab6d0a4a3fbcf4227c11e5e017b28930ea750..0000000000000000000000000000000000000000 --- a/_tools/code_generators/libs/png++/test/dump.cpp +++ /dev/null @@ -1,39 +0,0 @@ -#include <iostream> -#include <ostream> - -#include <png.hpp> - -// inline png::uint_16 -// to_png_order(png::uint_16 x) -// { -// return ((x & 0xff) << 8) | (x >> 8); -// } - -int -main(int argc, char* argv[]) -try -{ - if (argc != 2) - { - throw std::runtime_error("usage: dump PNG"); - } - char const* file = argv[1]; - png::image< png::gray_pixel_16 > image(file); - for (size_t y = 0; y < image.get_height(); ++y) - { - for (size_t x = 0; x < image.get_width(); ++x) - { - if (x) - { - putchar(' '); - } - printf("%04x", image[y][x]); - } - putchar('\n'); - } -} -catch (std::exception const& error) -{ - std::cerr << "dump: " << error.what() << std::endl; - return EXIT_FAILURE; -} diff --git a/_tools/code_generators/libs/png++/test/generate_gray_packed.cpp b/_tools/code_generators/libs/png++/test/generate_gray_packed.cpp deleted file mode 100644 index d2106e7c385345d87d703157ca1fe044ac161633..0000000000000000000000000000000000000000 --- a/_tools/code_generators/libs/png++/test/generate_gray_packed.cpp +++ /dev/null @@ -1,70 +0,0 @@ -/* - * Copyright (C) 2007,2008 Alex Shulgin - * - * This file is part of png++ the C++ wrapper for libpng. PNG++ is free - * software; the exact copying conditions are as follows: - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, - * this list of conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * - * 3. The name of the author may not be used to endorse or promote products - * derived from this software without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR - * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES - * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN - * NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED - * TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR - * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF - * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING - * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS - * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - */ -#include <iostream> -#include <ostream> - -#include <png.hpp> - -template< class pixel > -void -generate_image(png::image< pixel >& image, char const* filename) -{ - for (size_t j = 0; j < image.get_height(); ++j) - { - for (size_t i = 0; i < image.get_width(); ++i) - { - image.set_pixel(i, j, pixel(i + j)); - } - } - image.write(filename); -} - -int -main(int argc, char* argv[]) -try -{ - size_t const width = 32; - size_t const height = 32; - - png::image< png::gray_pixel_1 > image1(width, height); - generate_image(image1, "gray_packed_1.png.out"); - - png::image< png::gray_pixel_2 > image2(width, height); - generate_image(image2, "gray_packed_2.png.out"); - - png::image< png::gray_pixel_4 > image4(width, height); - generate_image(image4, "gray_packed_4.png.out"); -} -catch (std::exception const& error) -{ - std::cerr << "generate_gray_packed: " << error.what() << std::endl; - return EXIT_FAILURE; -} diff --git a/_tools/code_generators/libs/png++/test/generate_palette.cpp b/_tools/code_generators/libs/png++/test/generate_palette.cpp deleted file mode 100644 index 4fb9f97365faf2a581cb5ddd3e7d2ab494dfdc3b..0000000000000000000000000000000000000000 --- a/_tools/code_generators/libs/png++/test/generate_palette.cpp +++ /dev/null @@ -1,96 +0,0 @@ -/* - * Copyright (C) 2007,2008 Alex Shulgin - * - * This file is part of png++ the C++ wrapper for libpng. PNG++ is free - * software; the exact copying conditions are as follows: - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, - * this list of conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * - * 3. The name of the author may not be used to endorse or promote products - * derived from this software without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR - * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES - * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN - * NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED - * TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR - * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF - * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING - * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS - * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - */ -#include <iostream> -#include <ostream> - -#include <png.hpp> - -template< typename pixel > -void -generate_image(png::image< pixel >& image) -{ - typedef png::pixel_traits< pixel > traits; - size_t colors = 1 << traits::get_bit_depth(); - size_t size = colors / 2; - image.resize(size, size); - - png::palette palette(colors); - for (size_t c = 0; c < colors; ++c) - { - palette[c] = png::color(c * 255 / colors, - (colors - c - 1) * 255 / colors, - c * 255 / colors); - } - image.set_palette(palette); - for (size_t j = 0; j < image.get_height(); ++j) - { - for (size_t i = 0; i < image.get_width(); ++i) - { - image.set_pixel(i, j, i + j); - } - } -} - -int -main() -try -{ - png::image< png::index_pixel_1 > image1; - generate_image(image1); - image1.write("palette1.png.out"); - - png::image< png::index_pixel_2 > image2; - generate_image(image2); - image2.write("palette2.png.out"); - - png::image< png::index_pixel_4 > image4; - generate_image(image4); - image4.write("palette4.png.out"); - - png::image< png::index_pixel > image8; - generate_image(image8); - image8.write("palette8.png.out"); - - png::image< png::index_pixel > image8_tRNS; - generate_image(image8_tRNS); - png::tRNS trns(256); - for (size_t i = 0; i < trns.size(); ++i) - { - trns[i] = i; - } - image8_tRNS.set_tRNS(trns); - image8_tRNS.write("palette8_tRNS.png.out"); -} -catch (std::exception const& error) -{ - std::cerr << "generate_palette: " << error.what() << std::endl; - return EXIT_FAILURE; -} diff --git a/_tools/code_generators/libs/png++/test/interlace.png b/_tools/code_generators/libs/png++/test/interlace.png deleted file mode 100644 index 8a3f4a9d97036598c0a572b59a1128d7ce668b82..0000000000000000000000000000000000000000 Binary files a/_tools/code_generators/libs/png++/test/interlace.png and /dev/null differ diff --git a/_tools/code_generators/libs/png++/test/read_write_gray_packed.cpp b/_tools/code_generators/libs/png++/test/read_write_gray_packed.cpp deleted file mode 100644 index 1f51c54e45ef046d12ea48ba9de3edaf2f8d23e6..0000000000000000000000000000000000000000 --- a/_tools/code_generators/libs/png++/test/read_write_gray_packed.cpp +++ /dev/null @@ -1,86 +0,0 @@ -/* - * Copyright (C) 2007,2008 Alex Shulgin - * - * This file is part of png++ the C++ wrapper for libpng. PNG++ is free - * software; the exact copying conditions are as follows: - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, - * this list of conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * - * 3. The name of the author may not be used to endorse or promote products - * derived from this software without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR - * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES - * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN - * NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED - * TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR - * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF - * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING - * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS - * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - */ -#include <iostream> -#include <ostream> - -#include <png.hpp> - -void -print_usage() -{ - std::cerr << "usage: read_write_gray_packed 1|2|4 INFILE OUTFILE" - << std::endl; -} - -template< class pixel > -void -test_image(char const* infile, char const* outfile) -{ - png::image< pixel > image(infile, png::require_color_space< pixel >()); - image.write(outfile); -} - -int -main(int argc, char* argv[]) -try -{ - if (argc != 4) - { - print_usage(); - return EXIT_FAILURE; - } - char const* bits = argv[1]; - char const* infile = argv[2]; - char const* outfile = argv[3]; - - if (strcmp(bits, "1") == 0) - { - test_image< png::gray_pixel_1 >(infile, outfile); - } - else if (strcmp(bits, "2") == 0) - { - test_image< png::gray_pixel_2 >(infile, outfile); - } - else if (strcmp(bits, "4") == 0) - { - test_image< png::gray_pixel_4 >(infile, outfile); - } - else - { - print_usage(); - return EXIT_FAILURE; - } -} -catch (std::exception const& error) -{ - std::cerr << "read_write_gray_packed: " << error.what() << std::endl; - return EXIT_FAILURE; -} diff --git a/_tools/code_generators/libs/png++/test/read_write_param.cpp b/_tools/code_generators/libs/png++/test/read_write_param.cpp deleted file mode 100644 index c755f4d87b7ec0e571001dd62f5c87fe374eb04d..0000000000000000000000000000000000000000 --- a/_tools/code_generators/libs/png++/test/read_write_param.cpp +++ /dev/null @@ -1,24 +0,0 @@ -#include <iostream> -#include <ostream> - -#include <png.hpp> - -int -main() -{ - std::cerr << "read_write_param: do not run this test--it's compile-only" - << std::endl; - exit(1); - - typedef png::image< png::rgb_pixel > image; - image image1; // default contructor - image image2("test2.png"); // char const* - char test3[] = "test3.png"; // char* - image image3(test3); - image image4(std::string("test4.png")); - - image1.write("test4.png"); // char const* - char test5[] = "test5.png"; - image1.write(test5); // char* - image1.write(std::string("test6.png")); -} diff --git a/_tools/code_generators/libs/png++/test/test.sh b/_tools/code_generators/libs/png++/test/test.sh deleted file mode 100644 index 9329b0ab55d4ea4e604f8782ef4621787f28c8b3..0000000000000000000000000000000000000000 --- a/_tools/code_generators/libs/png++/test/test.sh +++ /dev/null @@ -1,42 +0,0 @@ -#!/bin/sh - -status=0 - -for i in *.png; do - for j in RGB RGBA GRAY GA; do - for k in 8 16; do - out=$i.$j.$k.out - echo ./convert_color_space $j $k $i $out - ./convert_color_space $j $k $i $out && cmp $out cmp/$out \ - || status=1 - done; - done; -done - -echo ./generate_gray_packed -./generate_gray_packed || status=1 -for i in 1 2 4; do - out=gray_packed_$i.png.out - cmp $out cmp/$out || status=1 -done - -for i in 1 2 4; do - in=basn0g0$i.png - out=$in.out - echo ./read_write_gray_packed $i $in $out - ./read_write_gray_packed $i $in $out && cmp $out cmp/$out || status=1 -done - -echo ./generate_palette -./generate_palette || status=1 -for i in 1 2 4 8; do - out=palette$i.png.out - cmp $out cmp/$out || status=1 -done -cmp palette8_tRNS.png.out cmp/palette8_tRNS.png.out || status=1 - -echo ./write_gray_16 -./write_gray_16 && cmp gray_16.out cmp/gray_16.out || status=1 - -test $status -eq 0 && echo 'PNG++ PASSES TESTS' || echo 'PNG++ FAILS TESTS' -exit $status diff --git a/_tools/code_generators/libs/png++/test/write_gray_16.cpp b/_tools/code_generators/libs/png++/test/write_gray_16.cpp deleted file mode 100644 index 6c7f922336efbccb22767864836566c781353cd4..0000000000000000000000000000000000000000 --- a/_tools/code_generators/libs/png++/test/write_gray_16.cpp +++ /dev/null @@ -1,55 +0,0 @@ -/* - * Copyright (C) 2007,2008 Alex Shulgin - * - * This file is part of png++ the C++ wrapper for libpng. PNG++ is free - * software; the exact copying conditions are as follows: - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, - * this list of conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * - * 3. The name of the author may not be used to endorse or promote products - * derived from this software without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR - * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES - * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN - * NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED - * TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR - * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF - * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING - * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS - * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - */ -#include <iostream> -#include <ostream> - -#include <png.hpp> - -int -main() -try -{ - png::image< png::gray_pixel_16 > image(256, 256); - for (size_t y = 0; y < image.get_height(); ++y) - { - for (size_t x = 0; x < image.get_width(); ++x) - { - png::gray_pixel_16 pix = x*y; - image[y][x] = pix; - } - } - image.write("gray_16.out"); -} -catch (std::exception const& error) -{ - std::cerr << "write_gray_16: " << error.what() << std::endl; - return EXIT_FAILURE; -} diff --git a/_tools/code_generators/libs/png++/writer.hpp b/_tools/code_generators/libs/png++/writer.hpp index 05e28e8f3e1a653688523454ec0a0be80b72d30c..448dfd50b1dc841aa2c8ad61bed78aa023ec7592 100644 --- a/_tools/code_generators/libs/png++/writer.hpp +++ b/_tools/code_generators/libs/png++/writer.hpp @@ -88,7 +88,7 @@ namespace png void write_png() const { - if (setjmp(m_png->jmpbuf)) + if (setjmp(png_jmpbuf(m_png))) { throw error(m_error); } @@ -103,7 +103,7 @@ namespace png */ void write_info() const { - if (setjmp(m_png->jmpbuf)) + if (setjmp(png_jmpbuf(m_png))) { throw error(m_error); } @@ -115,7 +115,7 @@ namespace png */ void write_row(byte* bytes) { - if (setjmp(m_png->jmpbuf)) + if (setjmp(png_jmpbuf(m_png))) { throw error(m_error); } @@ -127,7 +127,7 @@ namespace png */ void write_end_info() const { - if (setjmp(m_png->jmpbuf)) + if (setjmp(png_jmpbuf(m_png))) { throw error(m_error); } @@ -135,7 +135,7 @@ namespace png } private: - static void write_data(png_struct* png, byte* data, size_t length) + static void write_data(png_struct* png, byte* data, png_size_t length) { io_base* io = static_cast< io_base* >(png_get_error_ptr(png)); writer* wr = static_cast< writer* >(io);