Sha256: fd59b999cc7307916fb617b51454cd64fcb2ccb835433e5d6241e18611712841

Contents?: true

Size: 794 Bytes

Versions: 2

Compression:

Stored size: 794 Bytes

Contents

#ifndef PNG_DECODING_H
#define PNG_DECODING_H

#define BUILD_PIXEL(r, g, b, a) (((PIXEL) r << 24) + ((PIXEL) g << 16) + ((PIXEL) b << 8) + (PIXEL) a)
#define UNFILTER_BYTE(byte, adjustment)  byte = (BYTE) (((byte) + (adjustment)) & 0x000000ff)

typedef PIXEL(*pixel_decoder_func)(BYTE*, long, long, VALUE);


/*
  Decodes an image pass from the given byte stream at the given position.
  A normal PNG will only have one pass that consumes the entire stream, while an
  interlaced image requires 7 passes which are loaded from different starting positions.
  
  This function shouild replace ChunkyPNG::Canvas::PNGDecoding.decode_png_image_pass
*/
VALUE oily_png_decode_png_image_pass(VALUE self, VALUE stream, VALUE width, VALUE height, VALUE color_mode, VALUE depth, VALUE start_pos);

#endif

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
oily_png-0.3.0 ext/oily_png/png_decoding.h
oily_png-0.2.0 ext/oily_png/png_decoding.h