rwlogo

Rogue Wave Views
Foundation Package API Reference Guide

Product Documentation:

Rogue Wave Views
Documentation Home

List of all members | Public Member Functions
IlvPNGStreamer Class Reference

Bitmap streamer class. More...

#include <ilviews/bitmaps/png.h>

Inheritance diagram for IlvPNGStreamer:
IlvBitmapStreamer

Public Member Functions

 IlvPNGStreamer ()
 Constructor.
 
IlBoolean canRead () const
 Indicates that the instance can read from a stream. More...
 
IlBoolean canWrite () const
 Indicates that the instance can write to a stream. More...
 
IlBoolean checkSignature (const IlUChar *data, IlUInt size)
 Checks the signature of the input stream. More...
 
IlUInt getAlphaLevel () const
 Gets the alpha level of the PNG streamer. More...
 
IlUInt getCompressionLevel () const
 Gets the compression level of the generated PNG stream. More...
 
IlUShort getIndexedColors () const
 Returns the number of colors to quantize to. More...
 
IlBoolean hasInterlace () const
 Gets whether the generated PNG stream is interlaced. More...
 
IlBoolean isIndexed () const
 
IlvBitmapDataread (IL_STDPREF istream &stream)
 Reads a PNG image from a stream. More...
 
void setAlphaLevel (IlUInt level)
 Sets the alpha level for the PNG stream. More...
 
void setCompressionLevel (IlUInt level)
 Sets the compression level of the generated PNG stream. More...
 
void setIndexed (IlBoolean indexed, IlUShort numcols=256)
 Sets whether the generated PNG stream is indexed. More...
 
void setInterlace (IlBoolean interlace)
 Sets whether the generated PNG stream is interlaced. More...
 
IlBoolean write (IlvBitmapData *data, IL_STDPREF ostream &stream)
 Writes an IlvBitmapData to a PNG stream. More...
 
- Public Member Functions inherited from IlvBitmapStreamer
virtual void callReadProgressCallback (IlUInt current, IlUInt max)
 Calls the callback for read progression. More...
 
virtual void callWriteProgressCallback (IlUInt current, IlUInt max)
 Calls the callback for write progression. More...
 
virtual const char * getName () const
 Returns the internal name of the streamer. More...
 
IlvQuantizergetQuantizer () const
 Returns the quantizer used by this streamer. More...
 
virtual IlvBitmapInformationreadInfo (IL_STDPREF istream &stream)
 Reads information from a stream. More...
 
void setQuantizer (IlvQuantizer *quantizer)
 Sets the quantizer used (if needed) by this streamer. More...
 
virtual void setReadProgressCallback (IlvProgressCallback rCallback, IlAny arg=0)
 Sets the callback for read progression. More...
 
virtual void setWriteProgressCallback (IlvProgressCallback wCallback, IlAny arg=0)
 Sets the callback for write progression. More...
 
virtual ~IlvBitmapStreamer ()
 Reads a bitmap using the registered streamers. More...
 

Additional Inherited Members

- Static Public Member Functions inherited from IlvBitmapStreamer
static void Register (IlvBitmapStreamer *streamer)
 Registers the given streamer. More...
 
static IlBoolean UnRegister (IlvBitmapStreamer *streamer)
 Unregisters the given streamer. More...
 
static IlvBitmapStreamerGet (const char *name)
 Reads a bitmap using the registered streamers. More...
 
static IlvBitmapRead (IlvDisplay *display, IL_STDPREF istream &stream, const IlUChar *signature, IlUInt signatureLen)
 Reads a bitmap using the registered streamers. More...
 
static IlvBitmapDataReadBitmapData (IL_STDPREF istream &stream, const IlUChar *signature, IlUInt signatureLen)
 Reads bitmap data using the registered streamers. More...
 
static IlvBitmapInformationReadInfo (IL_STDPREF istream &stream, const IlUChar *signature, IlUInt signatureLen)
 Reads bitmap information using the registered streamers. More...
 
static IlvBitmapStreamer ** GetRegisteredStreamers (IlUInt &count)
 Returns the registered streamers. More...
 
static IlBoolean CheckInModules (const IlUChar *sigbuffer, const IlUChar *filename=0)
 Reads a bitmap using the registered streamers. More...
 
static IlListOf (IlvBitmapStreamers)*_Streamers
 Reads a bitmap using the registered streamers. More...
 
- Protected Member Functions inherited from IlvBitmapStreamer
 IlvBitmapStreamer ()
 Reads a bitmap using the registered streamers. More...
 
- Protected Attributes inherited from IlvBitmapStreamer
IlvProgressCallback _readProgressCallback
 Reads a bitmap using the registered streamers. More...
 
IlAny _argr
 Reads a bitmap using the registered streamers. More...
 
IlvProgressCallback _writeProgressCallback
 Reads a bitmap using the registered streamers. More...
 
IlAny _argw
 Reads a bitmap using the registered streamers. More...
 
IlvQuantizer_quantizer
 Reads a bitmap using the registered streamers. More...
 

Detailed Description

Bitmap streamer class.

Library: display

This streamer provides methods to deal with a stream containing a PNG image. It supports reading from all PNG streams. It handles transparent images by mapping alpha values greater than 50 to opaque and others to transparent.
This streamer can read and write.
When writing, it is possible to force indexed output using a specified number of colors. When reading or writing interlaced images, callbacks will be called at each pass. When reading or writing non-interlaced images, callbacks will be called at each scanline.

Member Function Documentation

IlBoolean IlvPNGStreamer::canRead ( ) const
virtual

Indicates that the instance can read from a stream.

Returns
IlTrue.

Reimplemented from IlvBitmapStreamer.

IlBoolean IlvPNGStreamer::canWrite ( ) const
virtual

Indicates that the instance can write to a stream.

Returns
IlTrue.

Reimplemented from IlvBitmapStreamer.

IlBoolean IlvPNGStreamer::checkSignature ( const IlUChar data,
IlUInt  size 
)
virtual

Checks the signature of the input stream.

Parameters
dataThe data containing the signature of the stream.
sizeThe size of the data containing the signature.
Returns
IlTrue if the data contains a PNG signature.

Implements IlvBitmapStreamer.

IlUInt IlvPNGStreamer::getAlphaLevel ( ) const

Gets the alpha level of the PNG streamer.

Returns
The alpha level.
IlUInt IlvPNGStreamer::getCompressionLevel ( ) const

Gets the compression level of the generated PNG stream.

Returns
The compression level.
IlUShort IlvPNGStreamer::getIndexedColors ( ) const

Returns the number of colors to quantize to.

Returns
The number of colors.
IlBoolean IlvPNGStreamer::hasInterlace ( ) const

Gets whether the generated PNG stream is interlaced.

Returns
IlTrue if the generated PNG stream is interlaced.
IlBoolean IlvPNGStreamer::isIndexed ( ) const

Gets whether the generated PNG stream is indexed .

Returns
IlTrue if the generated PNG stream is indexed.
IlvBitmapData* IlvPNGStreamer::read ( IL_STDPREF istream &  stream)
virtual

Reads a PNG image from a stream.

Parameters
streamThe stream to read from.
Returns
An instance of IlvBitmapData.

Reimplemented from IlvBitmapStreamer.

void IlvPNGStreamer::setAlphaLevel ( IlUInt  level)

Sets the alpha level for the PNG stream.

Alpha levels greater than the given argument are converted to a fully opaque value while alpha levels smaller than the given argument are converted to a fully transparent value.

Parameters
levelThe alpha level.
void IlvPNGStreamer::setCompressionLevel ( IlUInt  level)

Sets the compression level of the generated PNG stream.

Parameters
levelThe compression level:
  • 0: No compression.
  • 1: Best speed compression
  • 2: Best compression.
void IlvPNGStreamer::setIndexed ( IlBoolean  indexed,
IlUShort  numcols = 256 
)

Sets whether the generated PNG stream is indexed.

Parameters
indexedIlTrue if the stream is generated in indexed mode.
numcolsThe number of desired colors if quantization is performed.
void IlvPNGStreamer::setInterlace ( IlBoolean  interlace)

Sets whether the generated PNG stream is interlaced.

Parameters
interlaceIlTrue if the stream is interlaced.
IlBoolean IlvPNGStreamer::write ( IlvBitmapData data,
IL_STDPREF ostream &  stream 
)
virtual

Writes an IlvBitmapData to a PNG stream.

Parameters
dataThe bitmap data to write.
streamThe stream to write to.
Returns
IlTrue if the bitmap data has been written.

Reimplemented from IlvBitmapStreamer.


© Copyright 2014, Rogue Wave Software, Inc. All Rights Reserved.
Rogue Wave is a registered trademark of Rogue Wave Software, Inc. in the United States and other countries. All other trademarks are the property of their respective owners.