OpenTTD
Data Structures | Public Member Functions
Blitter_32bppSimple Class Reference

The most trivial 32 bpp blitter (without palette animation). More...

#include <32bpp_simple.hpp>

Inheritance diagram for Blitter_32bppSimple:
Blitter_32bppBase Blitter Blitter_32bppOptimized Blitter_32bppAnim

Data Structures

struct  Pixel

Public Member Functions

void Draw (Blitter::BlitterParams *bp, BlitterMode mode, ZoomLevel zoom)
 Draw an image to the screen, given an amount of params defined above.
void DrawColourMappingRect (void *dst, int width, int height, PaletteID pal)
 Draw a colourtable to the screen.
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.
- 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 most trivial 32 bpp blitter (without palette animation).

Definition at line 19 of file 32bpp_simple.hpp.

Member Function Documentation

void Blitter_32bppSimple::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.

Parameters
dstthe destination pointer (video-buffer).
widththe width of the buffer.
heightthe height of the buffer.
palthe palette to use.

Implements Blitter.

Reimplemented in Blitter_32bppAnim.

Definition at line 86 of file 32bpp_simple.cpp.

References DEBUG, Blitter_32bppBase::MakeGrey(), Blitter_32bppBase::MakeTransparent(), PALETTE_NEWSPAPER, and PALETTE_TO_TRANSPARENT.


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