ScummVM API documentation
LastExpress::GraphicsManager Class Reference

Public Member Functions

 GraphicsManager (LastExpressEngine *engine)
 
bool acquireSurface ()
 
void unlockSurface ()
 
void burstAll ()
 
void stepBG (int sceneIndex)
 
void goStepBG (int sceneIndex)
 
void stepDissolve (TBM *tbm)
 
void clear (Graphics::Surface &surface, int32 x, int32 y, int32 width, int32 height)
 
void clear (PixMap *pixels, int32 x, int32 y, int32 width, int32 height)
 
void copy (PixMap *src, PixMap *dst, int32 x, int32 y, int32 width, int32 height)
 
void goDissolve (int32 location, int32 width, int32 height, PixMap *buffer)
 
void bitBltSprite255 (Sprite *sprite, PixMap *pixels)
 
void bitBltSprite128 (Sprite *sprite, PixMap *pixels)
 
void bitBltSprite32 (Sprite *sprite, PixMap *pixels)
 
void bitBltSprite16 (Sprite *sprite, PixMap *pixels)
 
void bitBltSprite8 (Sprite *sprite, PixMap *pixels)
 
void bitBltWane128 (Sprite *sprite, PixMap *pixels)
 
void bitBltWane32 (Sprite *sprite, PixMap *pixels)
 
void bitBltWane16 (Sprite *sprite, PixMap *pixels)
 
void bitBltWane8 (Sprite *sprite, PixMap *pixels)
 
void bitBltWax128 (Sprite *sprite, PixMap *pixels)
 
void bitBltWax32 (Sprite *sprite, PixMap *pixels)
 
void bitBltWax16 (Sprite *sprite, PixMap *pixels)
 
void bitBltWax8 (Sprite *sprite, PixMap *pixels)
 
void eraseSprite (byte *data)
 
void dissolve (int32 location, int32 width, int32 height, PixMap *buf)
 
void doErase (byte *data)
 
void modifyPalette (uint16 *data, uint32 size)
 
int getGammaLevel ()
 
void setGammaLevel (int level)
 
void initLuminosityValues (int16 rMask, int16 gMask, int16 bMask)
 
void initDecomp (PixMap *data, TBM *tbm)
 
void decompR (byte *data, int32 size)
 
void decompG (byte *data, int32 size)
 
void decompB (byte *data, int32 size)
 
bool decomp16 (byte *data, int32 size)
 
void drawItem (int cursor, int32 x, int32 y)
 
void drawItemDim (int cursor, int32 x, int32 y, int brightness)
 
void drawMouse ()
 
void storeMouse ()
 
void restoreMouse ()
 
void newMouseLoc ()
 
void burstMouseArea (bool updateScreen=true)
 
void burstBox (int32 x, int32 y, int32 width, int32 height, bool updateScreen=true)
 
bool canDrawMouse ()
 
void setMouseDrawable (bool drawable)
 

Protected Attributes

LastExpressEngine_engine = nullptr
 
PixMap * _frontBuffer = nullptr
 
PixMap * _backBuffer = nullptr
 
PixMap _mouseBackBuffer [32 *32]
 
byte * _backgroundCompBuffer = nullptr
 
PixMap _subtitlesBackBuffer [36480]
 
Graphics::Surface _screenSurface
 
bool _mainSurfaceIsInit = false
 
TBM _renderBox1
 
TBM _renderBox2
 
int _gammaLevel = 3
 
int32 _dissolveSteps = 3
 
bool _luminosityIsInit = false
 
uint16 _brightnessData [6]
 
int16 _brightnessMaskedBits = 0
 
int16 _brightnessUnmaskedBits = 0
 
TBM_bgDecompTargetRect = nullptr
 
byte * _bgDecompOutBuffer = nullptr
 
byte * _bgDecompOutBufferTemp = nullptr
 
int32 _bgDecompFlags = 0
 
byte _bgLastCompItem = 0
 
int32 _bgOutChannelDataSizes [3] = { 0, 0, 0 }
 
PixMap * _frameData = nullptr
 
PixMap * _decompressedOffset = nullptr
 
int _numBlanks = 0
 
bool _disableCharacterDrawing = false
 
bool _stepBGRecursionFlag = false
 
bool _shouldDrawEggOrHourglass = false
 
int32 _mouseScreenBufStart = 0
 
TBM _mouseAreaRect = TBM(320, 240, 32, 32)
 
bool _canDrawMouse = false
 
CursorHeader_cursorsDataHeader = nullptr
 
PixMap * _iconsBitmapData = nullptr
 
uint8 _luminosityData [32 *7]
 

Member Data Documentation

◆ _brightnessData

uint16 LastExpress::GraphicsManager::_brightnessData[6]
protected
Initial value:
= {
0x0000, 0x7BDE, 0x739C,
0x6318, 0x4210, 0x0000
}

◆ _luminosityData

uint8 LastExpress::GraphicsManager::_luminosityData[32 *7]
protected
Initial value:
= {
0, 1, 1, 2, 3, 4, 4, 5, 6, 7, 8, 8, 9, 10, 11, 12, 13, 13, 14, 15, 16, 17, 18, 19, 20, 21, 23, 24, 25, 27, 28, 31,
0, 1, 2, 2, 3, 4, 5, 6, 6, 7, 8, 9, 10, 11, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 25, 26, 27, 29, 31,
0, 1, 2, 3, 3, 4, 5, 6, 7, 8, 9, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 27, 28, 29, 31,
0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31,
0, 2, 3, 4, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 22, 23, 24, 25, 26, 27, 28, 28, 29, 30, 31,
0, 2, 4, 5, 6, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 20, 21, 22, 23, 24, 25, 25, 26, 27, 28, 29, 29, 30, 31,
0, 3, 4, 6, 7, 8, 10, 11, 12, 13, 14, 15, 16, 17, 18, 18, 19, 20, 21, 22, 23, 23, 24, 25, 26, 27, 27, 28, 29, 30, 30, 31
}

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