ScummVM API documentation
Supernova::MSNImage Class Reference
Inheritance diagram for Supernova::MSNImage:
Image::ImageDecoder

Classes

struct  ClickField
 
struct  Section
 

Public Member Functions

 MSNImage (SupernovaEngine *vm)
 
void destroy () override
 
bool loadStream (Common::SeekableReadStream &stream) override
 
const Graphics::SurfacegetSurface () const override
 
const byte * getPalette () const override
 
bool init (int filenumber)
 
- Public Member Functions inherited from Image::ImageDecoder
virtual bool hasPalette () const
 
virtual uint16 getPaletteColorCount () const
 
virtual bool hasTransparentColor () const
 
virtual uint32 getTransparentColor () const
 

Public Attributes

int _filenumber
 
int _pitch
 
int _numSections
 
int _numClickFields
 
Common::Array< Graphics::Surface * > _sectionSurfaces
 
byte * _palette
 
byte * _encodedImage
 
struct Supernova::MSNImage::Section _section [kMaxSections]
 
struct Supernova::MSNImage::ClickField _clickField [kMaxClickFields]
 

Static Public Attributes

static const int kMaxSections = 50
 
static const int kMaxClickFields = 80
 
static const uint32 kInvalidAddress = 0x00FFFFFF
 

Member Function Documentation

◆ destroy()

void Supernova::MSNImage::destroy ( )
overridevirtual

Destroy this decoder's surface and palette.

This should be called by a loadStream() implementation as well as by the destructor.

Implements Image::ImageDecoder.

◆ loadStream()

bool Supernova::MSNImage::loadStream ( Common::SeekableReadStream stream)
overridevirtual

Load an image from the specified stream.

loadStream() should implicitly call destroy() to free the memory of the last loadStream() call.

Parameters
streamInput stream.
Returns
Whether loading the file succeeded.
See also
getSurface
getPalette

Implements Image::ImageDecoder.

◆ getSurface()

const Graphics::Surface* Supernova::MSNImage::getSurface ( ) const
inlineoverridevirtual

Get the decoded surface.

This surface is owned by this ImageDecoder and remains valid until destroy() or loadStream() is called, or until the destructor of this ImageDecoder is called.

Returns
The decoded surface, or 0 if no surface is present.

Implements Image::ImageDecoder.

◆ getPalette()

const byte* Supernova::MSNImage::getPalette ( ) const
inlineoverridevirtual

Get the decoded palette.

This palette is owned by this ImageDecoder and remains valid until destroy() or loadStream() is called, or until the destructor of this ImageDecoder is called.

The format of the palette is the same as that of the PaletteManager's palette. (interleaved RGB values).

Returns
The decoded palette, or undefined if no palette is present.

Reimplemented from Image::ImageDecoder.


The documentation for this class was generated from the following file: