# Blitter_32bppOptimized Class Reference

Inheritance diagram for Blitter_32bppOptimized:

## Data Structures
struct | SpriteData
## Public Member Functions
void | Draw (Blitter::BlitterParams *bp, BlitterMode mode, ZoomLevel zoom)
| Draws a sprite to a (screen) buffer.
Sprite * | Encode (SpriteLoader::Sprite *sprite, AllocatorProc *allocator)
| Convert a sprite from the loader to our own format.
void | RescaleSpriteHalfSize (const SpriteLoader::Sprite *src_sprite, SpriteLoader::Sprite *dest_sprite, bool prevent_alpha_bleeding)
void | RescaleSpriteDoubleSize (const SpriteLoader::Sprite *src_sprite, SpriteLoader::Sprite *dest_sprite)
void | FillRGBFromPalette (SpriteLoader::Sprite *sprite)
byte * | FillRGBPalette (SpriteID id, byte *remap_data)
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.

## Detailed Description

Definition at line 17 of file 32bpp_optimized.hpp.

## Member Function Documentation

template<BlitterMode mode>

void Blitter_32bppOptimized::Draw | ( | const Blitter::BlitterParams * | bp,
|  | ZoomLevel | zoom |
| ) |  |  | `[inline]`

Draws a sprite to a (screen) buffer.

It is templated to allow faster operation.

Template Parameters:

  | mode | blitter mode

Parameters:

  | bp | further blitting parameters
  | zoom | zoom level at which we are drawing

Reimplemented in Blitter_32bppAnim.

Definition at line 37 of file 32bpp_optimized.cpp.

References Colour::a, Blitter_32bppBase::ComposeColour(), Blitter_32bppBase::ComposeColourBlend(), Blitter_32bppBase::ComposeColourPA(), Blitter_32bppBase::ComposeColourRGBA(), Blitter_32bppBase::ComposeColourRGBANoCheck(), Colour::data, Blitter::BlitterParams::dst, Blitter::BlitterParams::height, Blitter_32bppBase::MakeTransparent(), Blitter::BlitterParams::pitch, Blitter::BlitterParams::remap, Blitter::BlitterParams::skip_top, Blitter::BlitterParams::sprite, and Blitter::BlitterParams::top.

void Blitter_32bppOptimized::Draw | ( | Blitter::BlitterParams * | bp,
|  | BlitterMode | mode,
|  | ZoomLevel | zoom |
| ) |  |  | `[virtual]`

Draws a sprite to a (screen) buffer.

Calls adequate templated function.

Parameters:

  | bp | further blitting parameters
  | mode | blitter mode
  | zoom | zoom level at which we are drawing

Reimplemented from Blitter_32bppSimple.

Reimplemented in Blitter_32bppAnim.

Definition at line 236 of file 32bpp_optimized.cpp.

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

- src/blitter/32bpp_optimized.hpp
- src/blitter/32bpp_optimized.cpp