OpenTTD
Public Member Functions | Data Fields | Static Private Attributes
SpriteLoader::Sprite Struct Reference

Structure for passing information from the sprite loader to the blitter. More...

#include <spriteloader.hpp>

Public Member Functions

void AllocateData (ZoomLevel zoom, size_t size)
 Allocate the sprite data of this sprite.

Data Fields

uint16 height
 Height of the sprite.
uint16 width
 Width of the sprite.
int16 x_offs
 The x-offset of where the sprite will be drawn.
int16 y_offs
 The y-offset of where the sprite will be drawn.
SpriteType type
 The sprite type.
SpriteLoader::CommonPixeldata
 The sprite itself.

Static Private Attributes

static ReusableBuffer
< SpriteLoader::CommonPixel
buffer [ZOOM_LVL_COUNT]
 Allocated memory to pass sprite data around.

Detailed Description

Structure for passing information from the sprite loader to the blitter.

You can only use this struct once at a time when using AllocateData to allocate the memory as that will always return the same memory address. This to prevent thousands of malloc + frees just to load a sprite.

Definition at line 36 of file spriteloader.hpp.

Member Function Documentation

void SpriteLoader::Sprite::AllocateData ( ZoomLevel  zoom,
size_t  size 
)
inline

Allocate the sprite data of this sprite.

Parameters
zoomZoom level to allocate the data for.
sizethe minimum size of the data field.

Definition at line 49 of file spriteloader.hpp.

References buffer, data, and ReusableBuffer< T >::ZeroAllocate().

Referenced by DecodeSingleSprite(), and FreeTypeFontCache::GetGlyph().


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