Public Member Functions | |
| void | Draw (Blitter::BlitterParams *bp, BlitterMode mode, ZoomLevel zoom) |
| Draws a sprite to a (screen) buffer. | |
| void | DrawColourMappingRect (void *dst, int width, int height, PaletteID pal) |
| Draw a colourtable to the screen. | |
| void | SetPixel (void *video, int x, int y, uint8 colour) |
| Draw a pixel with a given colour on the video-buffer. | |
| void | DrawRect (void *video, int width, int height, uint8 colour) |
| Make a single horizontal line in a single colour on the video-buffer. | |
| void | CopyFromBuffer (void *video, const void *src, int width, int height) |
| Copy from a buffer to the screen. | |
| void | CopyToBuffer (const void *video, void *dst, int width, int height) |
| Copy from the screen to a buffer. | |
| void | ScrollBuffer (void *video, int &left, int &top, int &width, int &height, int scroll_x, int scroll_y) |
| Scroll the videobuffer some 'x' and 'y' value. | |
| int | BufferSize (int width, int height) |
| Calculate how much memory there is needed for an image of this size in the video-buffer. | |
| void | PaletteAnimate (uint start, uint count) |
| Called when the 8bpp palette is changed; you should redraw all pixels on the screen that are equal to the 8bpp palette indexes 'start' to 'start + count'. | |
| Blitter::PaletteAnimation | UsePaletteAnimation () |
| Check if the blitter uses palette animation at all. | |
| const char * | GetName () |
| Get the name of the blitter, the same as the Factory-instance returns. | |
| int | GetBytesPerPixel () |
| Get how many bytes are needed to store a pixel. | |
| void | PostResize () |
| Post resize event. | |
| template<BlitterMode mode> | |
| void | Draw (const Blitter::BlitterParams *bp, ZoomLevel zoom) |
| Draws a sprite to a (screen) buffer. | |
Private Attributes | |
| uint8 * | anim_buf |
| In this buffer we keep track of the 8bpp indexes so we can do palette animation. | |
| int | anim_buf_width |
| int | anim_buf_height |
Definition at line 17 of file 32bpp_anim.hpp.
| int Blitter_32bppAnim::BufferSize | ( | int | width, | |
| int | height | |||
| ) | [virtual] |
Calculate how much memory there is needed for an image of this size in the video-buffer.
| width | The width of the buffer-to-be. | |
| height | The height of the buffer-to-be. |
Reimplemented from Blitter_32bppBase.
Definition at line 409 of file 32bpp_anim.cpp.
| void Blitter_32bppAnim::CopyFromBuffer | ( | void * | video, | |
| const void * | src, | |||
| int | width, | |||
| int | height | |||
| ) | [virtual] |
Copy from a buffer to the screen.
| video | The destionation pointer (video-buffer). | |
| src | The buffer from which the data will be read. | |
| width | The width of the buffer. | |
| height | The height of the buffer. |
Reimplemented from Blitter_32bppBase.
Definition at line 293 of file 32bpp_anim.cpp.
References _screen_disable_anim, _use_palette, anim_buf, IsInsideBS(), Blitter_32bppBase::LookupColourInPalette(), PALETTE_ANIM_SIZE_DOS, PALETTE_ANIM_SIZE_START, and PALETTE_ANIM_SIZE_WIN.
| void Blitter_32bppAnim::CopyToBuffer | ( | const void * | video, | |
| void * | dst, | |||
| int | width, | |||
| int | height | |||
| ) | [virtual] |
Copy from the screen to a buffer.
| video | The destination pointer (video-buffer). | |
| dst | The buffer in which the data will be stored. | |
| width | The width of the buffer. | |
| height | The height of the buffer. |
Reimplemented from Blitter_32bppBase.
Definition at line 335 of file 32bpp_anim.cpp.
References _screen_disable_anim, and anim_buf.
| void Blitter_32bppAnim::Draw | ( | Blitter::BlitterParams * | bp, | |
| BlitterMode | mode, | |||
| ZoomLevel | zoom | |||
| ) | [virtual] |
Draws a sprite to a (screen) buffer.
Calls adequate templated function.
| bp | further blitting parameters | |
| mode | blitter mode | |
| zoom | zoom level at which we are drawing |
Reimplemented from Blitter_32bppOptimized.
Definition at line 196 of file 32bpp_anim.cpp.
References _screen_disable_anim.
| void Blitter_32bppAnim::Draw | ( | const Blitter::BlitterParams * | bp, | |
| ZoomLevel | zoom | |||
| ) | [inline] |
Draws a sprite to a (screen) buffer.
It is templated to allow faster operation.
| mode | blitter mode |
| bp | further blitting parameters | |
| zoom | zoom level at which we are drawing |
Reimplemented from Blitter_32bppOptimized.
Definition at line 22 of file 32bpp_anim.cpp.
References Blitter_32bppBase::ComposeColourPANoCheck(), Blitter_32bppBase::ComposeColourRGBANoCheck(), Blitter::BlitterParams::dst, Blitter::BlitterParams::height, Blitter_32bppBase::LookupColourInPalette(), Blitter_32bppBase::MakeTransparent(), PALETTE_ANIM_SIZE_START, Blitter::BlitterParams::pitch, Blitter::BlitterParams::remap, Blitter::BlitterParams::skip_top, Blitter::BlitterParams::sprite, and Blitter::BlitterParams::top.
| void Blitter_32bppAnim::DrawColourMappingRect | ( | void * | dst, | |
| int | width, | |||
| int | height, | |||
| PaletteID | pal | |||
| ) | [virtual] |
Draw a colourtable to the screen.
This is: the colour of the screen is read and is looked-up in the palette to match a new colour, which then is put on the screen again.
| dst | the destination pointer (video-buffer). | |
| width | the width of the buffer. | |
| height | the height of the buffer. | |
| pal | the palette to use. |
Reimplemented from Blitter_32bppSimple.
Definition at line 212 of file 32bpp_anim.cpp.
References _screen_disable_anim, anim_buf, DEBUG, Blitter_32bppBase::MakeGrey(), and Blitter_32bppBase::MakeTransparent().
| void Blitter_32bppAnim::DrawRect | ( | void * | video, | |
| int | width, | |||
| int | height, | |||
| uint8 | colour | |||
| ) | [virtual] |
Make a single horizontal line in a single colour on the video-buffer.
| video | The destination pointer (video-buffer). | |
| width | The length of the line. | |
| height | The height of the line. | |
| colour | A 8bpp mapping colour. |
Reimplemented from Blitter_32bppBase.
Definition at line 264 of file 32bpp_anim.cpp.
References _screen_disable_anim, anim_buf, and Blitter_32bppBase::LookupColourInPalette().
| void Blitter_32bppAnim::PaletteAnimate | ( | uint | start, | |
| uint | count | |||
| ) | [virtual] |
Called when the 8bpp palette is changed; you should redraw all pixels on the screen that are equal to the 8bpp palette indexes 'start' to 'start + count'.
| start | The start index in the 8bpp palette. | |
| count | The amount of indexes that are (possible) changed. |
Reimplemented from Blitter_32bppBase.
Definition at line 414 of file 32bpp_anim.cpp.
References _screen_disable_anim, anim_buf, IsInsideBS(), and Blitter_32bppBase::LookupColourInPalette().
| void Blitter_32bppAnim::ScrollBuffer | ( | void * | video, | |
| int & | left, | |||
| int & | top, | |||
| int & | width, | |||
| int & | height, | |||
| int | scroll_x, | |||
| int | scroll_y | |||
| ) | [virtual] |
Scroll the videobuffer some 'x' and 'y' value.
| video | The buffer to scroll into. | |
| left | The left value of the screen to scroll. | |
| top | The top value of the screen to scroll. | |
| width | The width of the screen to scroll. | |
| height | The height of the screen to scroll. | |
| scroll_x | How much to scroll in X. | |
| scroll_y | How much to scroll in Y. |
Reimplemented from Blitter_32bppBase.
Definition at line 358 of file 32bpp_anim.cpp.
References _screen_disable_anim, and anim_buf.
| void Blitter_32bppAnim::SetPixel | ( | void * | video, | |
| int | x, | |||
| int | y, | |||
| uint8 | colour | |||
| ) | [virtual] |
Draw a pixel with a given colour on the video-buffer.
| video | The destination pointer (video-buffer). | |
| x | The x position within video-buffer. | |
| y | The y position within video-buffer. | |
| colour | A 8bpp mapping colour. |
Reimplemented from Blitter_32bppBase.
Definition at line 255 of file 32bpp_anim.cpp.
References _screen_disable_anim, anim_buf, and Blitter_32bppBase::LookupColourInPalette().
| Blitter::PaletteAnimation Blitter_32bppAnim::UsePaletteAnimation | ( | ) | [virtual] |
Check if the blitter uses palette animation at all.
Reimplemented from Blitter_32bppBase.
Definition at line 445 of file 32bpp_anim.cpp.
1.7.1