OpenTTD
Data Structures | Public Member Functions
Blitter_32bppOptimized Class Reference

The optimised 32 bpp blitter (without palette animation). More...

#include <32bpp_optimized.hpp>

Inheritance diagram for Blitter_32bppOptimized:
Blitter_32bppSimple Blitter_32bppBase Blitter Blitter_32bppAnim

Data Structures

struct  SpriteData
 Data stored about a (single) sprite. More...

Public Member Functions

void Draw (Blitter::BlitterParams *bp, BlitterMode mode, ZoomLevel zoom)
 Draws a sprite to a (screen) buffer.
SpriteEncode (const SpriteLoader::Sprite *sprite, AllocatorProc *allocator)
 Convert a sprite from the loader to our own format.
const char * GetName ()
 Get the name of the blitter, the same as the Factory-instance returns.
template<BlitterMode mode>
void Draw (const Blitter::BlitterParams *bp, ZoomLevel zoom)
 Draws a sprite to a (screen) buffer.
- Public Member Functions inherited from Blitter_32bppSimple
void DrawColourMappingRect (void *dst, int width, int height, PaletteID pal)
 Draw a colourtable to the screen.
- Public Member Functions inherited from Blitter_32bppBase
uint8 GetScreenDepth ()
 Get the screen depth this blitter works for.
void * MoveTo (void *video, int x, int y)
 Move the destination pointer the requested amount x and y, keeping in mind any pitch and bpp of the renderer.
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 CopyImageToBuffer (const void *video, void *dst, int width, int height, int dst_pitch)
 Copy from the screen to a buffer in a palette format for 8bpp and RGBA format for 32bpp.
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.
int GetBytesPerPixel ()
 Get how many bytes are needed to store a pixel.
- Public Member Functions inherited from Blitter
virtual void DrawLine (void *video, int x, int y, int x2, int y2, int screen_width, int screen_height, uint8 colour, int width, int dash=0)
 Draw a line with a given colour.
virtual void PostResize ()
 Post resize event.

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 LookupColourInPalette (uint index)
 Look up the colour in the current palette.
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

Detailed Description

The optimised 32 bpp blitter (without palette animation).

Definition at line 18 of file 32bpp_optimized.hpp.

Member Function Documentation

void Blitter_32bppOptimized::Draw ( Blitter::BlitterParams bp,
BlitterMode  mode,
ZoomLevel  zoom 
)
virtual

Draws a sprite to a (screen) buffer.

Calls adequate templated function.

Parameters
bpfurther blitting parameters
modeblitter mode
zoomzoom level at which we are drawing

Reimplemented from Blitter_32bppSimple.

Reimplemented in Blitter_32bppAnim.

Definition at line 245 of file 32bpp_optimized.cpp.

References BM_BLACK_REMAP, BM_COLOUR_REMAP, BM_CRASH_REMAP, BM_NORMAL, and BM_TRANSPARENT.

template<BlitterMode mode>
void Blitter_32bppOptimized::Draw ( const Blitter::BlitterParams bp,
ZoomLevel  zoom 
)
inline

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