ScummVM API documentation
MADS::BaseSurface Class Reference
Inheritance diagram for MADS::BaseSurface:
Graphics::Screen Graphics::ManagedSurface MADS::MSurface MADS::Screen MADS::DepthSurface MADS::MSprite MADS::UserInterface

Public Member Functions

virtual void load (const Common::Path &resName)
 
 BaseSurface ()
 
 BaseSurface (int width, int height)
 
 ~BaseSurface () override
 
Common::Rect getBounds ()
 
byte * getPixels ()
 
const void * getPixels () const
 
byte * getBasePtr (int x, int y)
 
const byte * getBasePtr (int x, int y) const
 
void drawSprite (const Common::Point &pt, SpriteInfo &info, const Common::Rect &clipRect)
 
void scrollX (int xAmount)
 
void scrollY (int yAmount)
 
void translate (Common::Array< RGB6 > &palette)
 
void translate (byte map[PALETTE_COUNT])
 
BaseSurfaceflipHorizontal () const
 
void copyRectTranslate (BaseSurface &srcSurface, const byte *paletteMap, const Common::Point &destPos, const Common::Rect &srcRect)
 
void copyFrom (BaseSurface &src, const Common::Point &destPos, int depth, DepthSurface *depthSurface, int scale, bool flipped, int transparentColor=-1)
 
- Public Member Functions inherited from Graphics::Screen
 Screen (int width, int height)
 
 Screen (int width, int height, PixelFormat pixelFormat)
 
bool isDirty () const
 
void makeAllDirty ()
 
virtual void clearDirtyRects ()
 
virtual void addDirtyRect (const Common::Rect &r)
 
virtual void update ()
 
virtual void updateScreen ()
 
void getPalette (byte palette[PALETTE_SIZE])
 
void getPalette (byte *palette, uint start, uint num)
 
Graphics::Palette getPalette (uint start=0, uint num=PALETTE_COUNT)
 
void setPalette (const byte palette[PALETTE_SIZE])
 
void setPalette (const byte *palette, uint start, uint num)
 
void setPalette (const Graphics::Palette &pal, uint start=0)
 
void clearPalette ()
 
- Public Member Functions inherited from Graphics::ManagedSurface
bool clip (Common::Rect &srcBounds, Common::Rect &destBounds) const
 
 ManagedSurface ()
 
 ManagedSurface (const ManagedSurface &surf)
 
 ManagedSurface (ManagedSurface &&surf)
 
 ManagedSurface (int width, int height)
 
 ManagedSurface (int width, int height, const Graphics::PixelFormat &pixelFormat)
 
 ManagedSurface (ManagedSurface &surf, const Common::Rect &bounds)
 
 ManagedSurface (Surface *surf, DisposeAfterUse::Flag disposeAfterUse=DisposeAfterUse::YES)
 
 ManagedSurface (const Surface *surf)
 
virtual ~ManagedSurface ()
 
 operator const Surface & () const
 
const SurfacerawSurface () const
 
SurfacesurfacePtr ()
 
ManagedSurfaceoperator= (const ManagedSurface &surf)
 
ManagedSurfaceoperator= (ManagedSurface &&surf)
 
bool empty () const
 
DisposeAfterUse::Flag disposeAfterUse () const
 
uint32 getPixel (int x, int y) const
 
void setPixel (int x, int y, uint32 pixel)
 
const void * getBasePtr (int x, int y) const
 
void * getBasePtr (int x, int y)
 
void * getPixels ()
 
const void * getPixels () const
 
virtual void setPixels (void *newPixels)
 
virtual void create (int16 width, int16 height)
 
virtual void create (int16 width, int16 height, const PixelFormat &pixelFormat)
 
virtual void create (ManagedSurface &surf, const Common::Rect &bounds)
 
virtual void free ()
 
const Common::Point getOffsetFromOwner () const
 
const Common::Rect getBounds () const
 
void simpleBlitFrom (const Surface &src, const Palette *srcPalette=nullptr)
 
void simpleBlitFrom (const Surface &src, const Common::Point &destPos, const Palette *srcPalette=nullptr)
 
void simpleBlitFrom (const Surface &src, const Common::Rect &srcRect, const Common::Point &destPos, const Palette *srcPalette=nullptr)
 
void simpleBlitFrom (const ManagedSurface &src)
 
void simpleBlitFrom (const ManagedSurface &src, const Common::Point &destPos)
 
void simpleBlitFrom (const ManagedSurface &src, const Common::Rect &srcRect, const Common::Point &destPos)
 
void blitFrom (const Surface &src, const Palette *srcPalette=nullptr)
 
void blitFrom (const Surface &src, const Common::Point &destPos, const Palette *srcPalette=nullptr)
 
void blitFrom (const Surface &src, const Common::Rect &srcRect, const Common::Point &destPos, const Palette *srcPalette=nullptr)
 
void blitFrom (const Surface &src, const Common::Rect &srcRect, const Common::Rect &destRect, const Palette *srcPalette=nullptr)
 
void blitFrom (const ManagedSurface &src, const Common::Rect &srcRect, const Common::Rect &destRect)
 
void blitFrom (const ManagedSurface &src)
 
void blitFrom (const ManagedSurface &src, const Common::Point &destPos)
 
void blitFrom (const ManagedSurface &src, const Common::Rect &srcRect, const Common::Point &destPos)
 
void transBlitFrom (const Surface &src, uint32 transColor=0, bool flipped=false, uint32 overrideColor=0, uint32 srcAlpha=0xff, const Palette *srcPalette=nullptr)
 
void transBlitFrom (const Surface &src, const Common::Point &destPos, uint32 transColor=0, bool flipped=false, uint32 overrideColor=0, uint32 srcAlpha=0xff, const Palette *srcPalette=nullptr)
 
void transBlitFrom (const Surface &src, const Common::Point &destPos, const ManagedSurface &mask, const Palette *srcPalette=nullptr)
 
void transBlitFrom (const Surface &src, const Common::Point &destPos, const Surface &mask, const Palette *srcPalette=nullptr)
 
void transBlitFrom (const Surface &src, const Common::Rect &srcRect, const Common::Point &destPos, uint32 transColor=0, bool flipped=false, uint32 overrideColor=0, uint32 srcAlpha=0xff, const Palette *srcPalette=nullptr)
 
void transBlitFrom (const Surface &src, const Common::Rect &srcRect, const Common::Rect &destRect, const Palette *srcPalette)
 
void transBlitFrom (const Surface &src, const Common::Rect &srcRect, const Common::Rect &destRect, uint32 transColor=0, bool flipped=false, uint32 overrideColor=0, uint32 srcAlpha=0xff, const Surface *mask=nullptr, bool maskOnly=false, const Palette *srcPalette=nullptr)
 
void transBlitFrom (const ManagedSurface &src, uint32 transColor=0, bool flipped=false, uint32 overrideColor=0, uint32 srcAlpha=0xff)
 
void transBlitFrom (const ManagedSurface &src, const Common::Point &destPos, uint32 transColor=0, bool flipped=false, uint32 overrideColor=0, uint32 srcAlpha=0xff)
 
void transBlitFrom (const ManagedSurface &src, const Common::Point &destPos, const ManagedSurface &mask)
 
void transBlitFrom (const ManagedSurface &src, const Common::Rect &srcRect, const Common::Point &destPos, uint32 transColor=0, bool flipped=false, uint32 overrideColor=0, uint32 srcAlpha=0xff)
 
void transBlitFrom (const ManagedSurface &src, const Common::Rect &srcRect, const Common::Rect &destRect, uint32 transColor=0, bool flipped=false, uint32 overrideColor=0, uint32 srcAlpha=0xff, const Surface *mask=nullptr, bool maskOnly=false)
 
void rawBlitFrom (const ManagedSurface &src, const Common::Rect &srcRect, const Common::Point &destPos)
 
Common::Rect blendBlitTo (ManagedSurface &target, const int posX=0, const int posY=0, const int flipping=FLIP_NONE, const Common::Rect *srcRect=nullptr, const uint colorMod=(uint32)(((255)<< 24)|((255)<< 16)|((255)<< 8)|(255)), const int width=-1, const int height=-1, const TSpriteBlendMode blend=BLEND_NORMAL, const AlphaType alphaType=ALPHA_FULL)
 Renders this surface onto target. More...
 
Common::Rect blendBlitTo (Surface &target, const int posX=0, const int posY=0, const int flipping=FLIP_NONE, const Common::Rect *srcRect=nullptr, const uint colorMod=(uint32)(((255)<< 24)|((255)<< 16)|((255)<< 8)|(255)), const int width=-1, const int height=-1, const TSpriteBlendMode blend=BLEND_NORMAL, const AlphaType alphaType=ALPHA_FULL)
 
void clear (uint32 color=0)
 
void markAllDirty ()
 
void copyRectToSurface (const void *buffer, int srcPitch, int destX, int destY, int width, int height)
 
void copyRectToSurface (const Graphics::Surface &srcSurface, int destX, int destY, const Common::Rect subRect)
 
void copyRectToSurfaceWithKey (const void *buffer, int srcPitch, int destX, int destY, int width, int height, uint32 key)
 
void copyRectToSurfaceWithKey (const Graphics::Surface &srcSurface, int destX, int destY, const Common::Rect subRect, uint32 key)
 
void copyFrom (const ManagedSurface &surf)
 
void copyFrom (const Surface &surf)
 
void convertFrom (const ManagedSurface &surf, const PixelFormat &fmt)
 
void convertFrom (const Surface &surf, const PixelFormat &fmt)
 
ManagedSurfacescale (int16 newWidth, int16 newHeight, bool filtering=false) const
 
ManagedSurfacerotoscale (const TransformStruct &transform, bool filtering=false) const
 Rotoscale function; this returns a transformed version of this surface after rotation and scaling. Please do not use this if angle == 0, use plain old scaling function. More...
 
void drawLine (int x0, int y0, int x1, int y1, uint32 color)
 
void drawThickLine (int x0, int y0, int x1, int y1, int penX, int penY, uint32 color)
 
void hLine (int x, int y, int x2, uint32 color)
 
void vLine (int x, int y, int y2, uint32 color)
 
void fillRect (Common::Rect r, uint32 color)
 
void frameRect (const Common::Rect &r, uint32 color)
 
AlphaType detectAlpha () const
 
Surface getSubArea (const Common::Rect &area)
 
void convertToInPlace (const PixelFormat &dstFormat)
 
void convertToInPlace (const PixelFormat &dstFormat, const byte *palette, uint16 paletteCount)
 
uint getTransparentColor () const
 
void setTransparentColor (uint32 color)
 
void clearTransparentColor ()
 
bool hasTransparentColor () const
 
void clearPalette ()
 
bool hasPalette () const
 
void grabPalette (byte *colors, uint start, uint num) const
 
void setPalette (const byte *colors, uint start, uint num)
 

Static Public Member Functions

static void setVm (MADSEngine *vm)
 
- Static Public Member Functions inherited from Graphics::ManagedSurface
static bool isBlendBlitPixelFormatSupported (const PixelFormat &src, const PixelFormat &dst)
 

Static Protected Attributes

static MADSEngine_vm
 

Additional Inherited Members

- Public Attributes inherited from Graphics::ManagedSurface
int16 & w
 
int16 & h
 
int32 & pitch
 
PixelFormatformat
 
- Protected Member Functions inherited from Graphics::Screen
void mergeDirtyRects ()
 
bool unionRectangle (Common::Rect &destRect, const Common::Rect &src1, const Common::Rect &src2)
 
- Protected Member Functions inherited from Graphics::ManagedSurface
void simpleBlitFromInner (const Surface &src, const Common::Rect &srcRect, const Common::Point &destPos, const Palette *srcPalette, bool transparentColorSet, uint transparentColor)
 
void blitFromInner (const Surface &src, const Common::Rect &srcRect, const Common::Rect &destRect, const Palette *srcPalette)
 
void transBlitFromInner (const Surface &src, const Common::Rect &srcRect, const Common::Rect &destRect, uint32 transColor, bool flipped, uint32 overrideColor, uint32 srcAlpha, const Palette *srcPalette, const Palette *dstPalette, const Surface *mask, bool maskOnly)
 
- Protected Attributes inherited from Graphics::Screen
Common::List< Common::Rect_dirtyRects
 

Constructor & Destructor Documentation

◆ BaseSurface() [1/2]

MADS::BaseSurface::BaseSurface ( )
inline

Basic constructor

◆ BaseSurface() [2/2]

MADS::BaseSurface::BaseSurface ( int  width,
int  height 
)
inline

Constructor for a surface with fixed dimensions

◆ ~BaseSurface()

MADS::BaseSurface::~BaseSurface ( )
inlineoverride

Destructor

Member Function Documentation

◆ setVm()

static void MADS::BaseSurface::setVm ( MADSEngine vm)
inlinestatic

Sets the engine reference used all surfaces

◆ load()

virtual void MADS::BaseSurface::load ( const Common::Path resName)
inlinevirtual

Base method for descendents to load their contents

Reimplemented in MADS::UserInterface.

◆ getBounds()

Common::Rect MADS::BaseSurface::getBounds ( )
inline

Return a rect containing the bounds of the surface

◆ getPixels() [1/2]

byte* MADS::BaseSurface::getPixels ( )
inline

Return the pixels for the surface

◆ getPixels() [2/2]

const void* MADS::BaseSurface::getPixels ( ) const
inline

Return the pixels for the surface

◆ getBasePtr() [1/2]

byte* MADS::BaseSurface::getBasePtr ( int  x,
int  y 
)
inline

Return a pointer to a given position on the surface

◆ getBasePtr() [2/2]

const byte* MADS::BaseSurface::getBasePtr ( int  x,
int  y 
) const
inline

Return a pointer to a given position on the surface

◆ drawSprite()

void MADS::BaseSurface::drawSprite ( const Common::Point pt,
SpriteInfo info,
const Common::Rect clipRect 
)

Draws a sprite

Parameters
ptPosition to draw sprite at
infoGeneral sprite details
clipRectClipping rectangle to constrain sprite drawing within

◆ scrollX()

void MADS::BaseSurface::scrollX ( int  xAmount)

Scroll the screen horizontally by a given amount

Parameters
xAmountHorizontal amount

◆ scrollY()

void MADS::BaseSurface::scrollY ( int  yAmount)

Scroll the screen vertically by a given amount

Parameters
yAmountVertical amount

◆ translate() [1/2]

void MADS::BaseSurface::translate ( Common::Array< RGB6 > &  palette)

Translates the pixels of an image used the passed palette with RGB mapping

◆ translate() [2/2]

void MADS::BaseSurface::translate ( byte  map[PALETTE_COUNT])

Translates the pixels of an image used the passed palette with RGB mapping

◆ flipHorizontal()

BaseSurface* MADS::BaseSurface::flipHorizontal ( ) const

Create a new surface which is a flipped horizontal copy of the current one

◆ copyRectTranslate()

void MADS::BaseSurface::copyRectTranslate ( BaseSurface srcSurface,
const byte *  paletteMap,
const Common::Point destPos,
const Common::Rect srcRect 
)

Copy an area from one surface to another, translating it using a palette map as it's done

◆ copyFrom()

void MADS::BaseSurface::copyFrom ( BaseSurface src,
const Common::Point destPos,
int  depth,
DepthSurface depthSurface,
int  scale,
bool  flipped,
int  transparentColor = -1 
)

Copys a sub-section of another surface into the current one.

Parameters
srcSource surface
destPosDestination position to draw in current surface
depthDepth of sprite
depthSurfaceDepth surface to use with sprite depth
scaleScale for image
flippedFlag for whether image is to be flipped
transparentColorTransparency palette index

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