Home | History | Annotate | Download | only in samples
      1 // Copyright 2013 The Chromium Authors. All rights reserved.
      2 // Use of this source code is governed by a BSD-style license that can be
      3 // found in the LICENSE file.
      4 
      5 #ifndef TOOLS_IMAGEDIFF_IMAGE_DIFF_PNG_H_
      6 #define TOOLS_IMAGEDIFF_IMAGE_DIFF_PNG_H_
      7 
      8 #include <stdlib.h>  // for size_t.
      9 
     10 #include <vector>
     11 
     12 namespace image_diff_png {
     13 
     14 // Decode a PNG into an RGBA pixel array.
     15 bool DecodePNG(const unsigned char* input, size_t input_size,
     16                std::vector<unsigned char>* output,
     17                int* width, int* height);
     18 
     19 // Encode an RGBA pixel array into a PNG.
     20 bool EncodeRGBAPNG(const unsigned char* input,
     21                    int width,
     22                    int height,
     23                    int row_byte_width,
     24                    std::vector<unsigned char>* output);
     25 
     26 // Encode an BGRA pixel array into a PNG.
     27 bool EncodeBGRAPNG(const unsigned char* input,
     28                    int width,
     29                    int height,
     30                    int row_byte_width,
     31                    bool discard_transparency,
     32                    std::vector<unsigned char>* output);
     33 
     34 }  // namespace image_diff_png
     35 
     36 #endif  // TOOLS_IMAGEDIFF_IMAGE_DIFF_PNG_H_
     37