OpenTTD Source 20241224-master-gf74b0cf984
Blitter_8bppOptimized Class Referencefinal

8bpp blitter optimised for speed. More...

#include <8bpp_optimized.hpp>

Inheritance diagram for Blitter_8bppOptimized:
Blitter_8bppBase Blitter SpriteEncoder

Data Structures

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

Public Member Functions

void Draw (Blitter::BlitterParams *bp, BlitterMode mode, ZoomLevel zoom) override
 Draw an image to the screen, given an amount of params defined above.
 
SpriteEncode (const SpriteLoader::SpriteCollection &sprite, SpriteAllocator &allocator) override
 Convert a sprite from the loader to our own format.
 
std::string_view GetName () override
 Get the name of the blitter, the same as the Factory-instance returns.
 
- Public Member Functions inherited from Blitter_8bppBase
uint8_t GetScreenDepth () override
 Get the screen depth this blitter works for.
 
void DrawColourMappingRect (void *dst, int width, int height, PaletteID pal) override
 Draw a colourtable to the screen.
 
void * MoveTo (void *video, int x, int y) override
 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_t colour) override
 Draw a pixel with a given colour on the video-buffer.
 
void DrawLine (void *video, int x, int y, int x2, int y2, int screen_width, int screen_height, uint8_t colour, int width, int dash) override
 Draw a line with a given colour.
 
void DrawRect (void *video, int width, int height, uint8_t colour) override
 Make a single horizontal line in a single colour on the video-buffer.
 
void CopyFromBuffer (void *video, const void *src, int width, int height) override
 Copy from a buffer to the screen.
 
void CopyToBuffer (const void *video, void *dst, int width, int height) override
 Copy from the screen to a buffer.
 
void CopyImageToBuffer (const void *video, void *dst, int width, int height, int dst_pitch) override
 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) override
 Scroll the videobuffer some 'x' and 'y' value.
 
size_t BufferSize (uint width, uint height) override
 Calculate how much memory there is needed for an image of this size in the video-buffer.
 
void PaletteAnimate (const Palette &palette) override
 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 () override
 Check if the blitter uses palette animation at all.
 
- Public Member Functions inherited from Blitter
bool Is32BppSupported () override
 Can the sprite encoder make use of RGBA sprites?
 
virtual bool NeedsAnimationBuffer ()
 Does this blitter require a separate animation buffer from the video backend?
 
virtual void PostResize ()
 Post resize event.
 
template<typename SetPixelT >
void DrawLineGeneric (int x, int y, int x2, int y2, int screen_width, int screen_height, int width, int dash, SetPixelT set_pixel)
 
- Public Member Functions inherited from SpriteEncoder
virtual uint GetSpriteAlignment ()
 Get the value which the height and width on a sprite have to be aligned by.
 

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...
 

Detailed Description

8bpp blitter optimised for speed.

Definition at line 17 of file 8bpp_optimized.hpp.

Member Function Documentation

◆ Draw()

◆ Encode()

◆ GetName()

std::string_view Blitter_8bppOptimized::GetName ( )
inlineoverridevirtual

Get the name of the blitter, the same as the Factory-instance returns.

Implements Blitter.

Definition at line 28 of file 8bpp_optimized.hpp.


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