| OpenTTD
    | 
The optimised 32 bpp blitter with palette animation. More...
#include <32bpp_anim.hpp>
 
  
 | 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 (const Palette &palette) | 
| Called when the 8bpp palette is changed; you should redraw all pixels on the screen that are equal to the 8bpp palette indexes 'first_dirty' to 'first_dirty + count_dirty'. | |
| 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. | |
| Colour | LookupColourInPalette (uint index) | 
| Look up the colour in the current palette. | |
| template<BlitterMode mode> | |
| void | Draw (const Blitter::BlitterParams *bp, ZoomLevel zoom) | 
| Draws a sprite to a (screen) buffer. | |
|  Public Member Functions inherited from Blitter_32bppOptimized | |
| Sprite * | Encode (const SpriteLoader::Sprite *sprite, AllocatorProc *allocator) | 
| Convert a sprite from the loader to our own format. | |
| Protected Attributes | |
| uint16 * | anim_buf | 
| In this buffer we keep track of the 8bpp indexes so we can do palette animation. | |
| int | anim_buf_width | 
| The width of the animation buffer. | |
| int | anim_buf_height | 
| The height of the animation buffer. | |
| Palette | palette | 
| The current palette. | |
| Additional Inherited Members | |
|  Public Types inherited from Blitter | |
| enum | PaletteAnimation { PALETTE_ANIMATION_NONE, PALETTE_ANIMATION_VIDEO_BACKEND, PALETTE_ANIMATION_BLITTER } | 
| Types of palette animation.  More... | |
|  Static Public Member Functions inherited from Blitter_32bppBase | |
| static Colour | ComposeColourRGBANoCheck (uint r, uint g, uint b, uint a, Colour current) | 
| Compose a colour based on RGBA values and the current pixel value. | |
| static Colour | ComposeColourRGBA (uint r, uint g, uint b, uint a, Colour current) | 
| Compose a colour based on RGBA values and the current pixel value. | |
| static Colour | ComposeColourPANoCheck (Colour colour, uint a, Colour current) | 
| Compose a colour based on Pixel value, alpha value, and the current pixel value. | |
| static Colour | ComposeColourPA (Colour colour, uint a, Colour current) | 
| Compose a colour based on Pixel value, alpha value, and the current pixel value. | |
| static Colour | MakeTransparent (Colour colour, uint nom, uint denom=256) | 
| Make a pixel looks like it is transparent. | |
| static uint8 | MakeDark (uint8 r, uint8 g, uint8 b) | 
| Make a colour dark grey, for specialized 32bpp remapping. | |
| static Colour | MakeGrey (Colour colour) | 
| Make a colour grey - based. | |
| static Colour | AdjustBrightness (Colour colour, uint8 brightness) | 
|  Static Public Attributes inherited from Blitter_32bppBase | |
| static const int | DEFAULT_BRIGHTNESS = 128 | 
The optimised 32 bpp blitter with palette animation.
Definition at line 18 of file 32bpp_anim.hpp.
| 
 | 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 468 of file 32bpp_anim.cpp.
| 
 | virtual | 
Copy from a buffer to the screen.
| video | The destination 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 354 of file 32bpp_anim.cpp.
References _screen_disable_anim, anim_buf, anim_buf_width, GB(), LookupColourInPalette(), and PALETTE_ANIM_START.
| 
 | 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 394 of file 32bpp_anim.cpp.
References _screen_disable_anim, anim_buf, and anim_buf_width.
| 
 | 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 255 of file 32bpp_anim.cpp.
References _screen_disable_anim, BM_BLACK_REMAP, BM_COLOUR_REMAP, BM_CRASH_REMAP, BM_NORMAL, and BM_TRANSPARENT.
| 
 | 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 29 of file 32bpp_anim.cpp.
References Colour::a, anim_buf_width, BM_BLACK_REMAP, BM_COLOUR_REMAP, BM_CRASH_REMAP, BM_TRANSPARENT, Blitter_32bppBase::ComposeColourPANoCheck(), Blitter_32bppBase::ComposeColourRGBA(), Blitter_32bppBase::ComposeColourRGBANoCheck(), Blitter_32bppOptimized::SpriteData::data, Colour::data, Blitter::BlitterParams::dst, GB(), Blitter::BlitterParams::height, Blitter::BlitterParams::left, LookupColourInPalette(), Blitter_32bppBase::MakeDark(), Blitter_32bppBase::MakeTransparent(), Blitter_32bppOptimized::SpriteData::offset, PALETTE_ANIM_START, Blitter::BlitterParams::pitch, Blitter::BlitterParams::remap, Blitter::BlitterParams::skip_left, Blitter::BlitterParams::skip_top, Blitter::BlitterParams::sprite, Blitter::BlitterParams::top, and Blitter::BlitterParams::width.
| 
 | 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 273 of file 32bpp_anim.cpp.
References _screen_disable_anim, anim_buf, anim_buf_width, DEBUG, Blitter_32bppBase::MakeGrey(), Blitter_32bppBase::MakeTransparent(), PALETTE_NEWSPAPER, and PALETTE_TO_TRANSPARENT.
| 
 | 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 325 of file 32bpp_anim.cpp.
References _screen_disable_anim, anim_buf, and LookupColourInPalette().
| 
 | virtual | 
Called when the 8bpp palette is changed; you should redraw all pixels on the screen that are equal to the 8bpp palette indexes 'first_dirty' to 'first_dirty + count_dirty'.
| palette | The new palette. | 
Reimplemented from Blitter_32bppBase.
Definition at line 473 of file 32bpp_anim.cpp.
References _screen_disable_anim, anim_buf, anim_buf_height, anim_buf_width, Palette::first_dirty, GB(), VideoDriver::GetInstance(), LookupColourInPalette(), VideoDriver::MakeDirty(), palette, and PALETTE_ANIM_START.
| 
 | 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 417 of file 32bpp_anim.cpp.
References _screen_disable_anim, anim_buf, and anim_buf_width.
| 
 | 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 316 of file 32bpp_anim.cpp.
References _screen_disable_anim, anim_buf, anim_buf_width, and LookupColourInPalette().
| 
 | virtual | 
Check if the blitter uses palette animation at all.
Reimplemented from Blitter_32bppBase.
Definition at line 504 of file 32bpp_anim.cpp.
References Blitter::PALETTE_ANIMATION_BLITTER.
 1.8.1.2
 1.8.1.2