Go to the documentation of this file.
10 #ifndef BLITTER_32BPP_SSE2_HPP
11 #define BLITTER_32BPP_SSE2_HPP
19 #ifndef FULL_ANIMATION
20 #define FULL_ANIMATION 0
26 class Blitter_32bppSSE_Base {
28 virtual ~Blitter_32bppSSE_Base() {}
34 static_assert(
sizeof(MapValue) == 2);
57 SF_TRANSLUCENT = 1 << 1,
66 uint16 sprite_line_size;
84 template <BlitterMode mode, Blitter_32bppSSE_Base::ReadMode read_mode, Blitter_32bppSSE_Base::BlockType bt_last,
bool translucent>
88 return Blitter_32bppSSE_Base::Encode(sprite, allocator);
91 const char *
GetName()
override {
return "32bpp-sse2"; }
virtual Blitter * CreateInstance()=0
Create an instance of this Blitter-class.
BlitterMode
The modes of blitting we can do.
The most trivial 32 bpp blitter (without palette animation).
How all blitters should look like.
The base factory, keeping track of all blitters.
@ ZOOM_LVL_COUNT
Number of zoom levels.
ZoomLevel
All zoom levels we know.
Sprite * Encode(const SpriteLoader::Sprite *sprite, AllocatorProc *allocator) override
Convert a sprite from the loader to our own format.
const char * GetName() override
Get the name of the blitter, the same as the Factory-instance returns.
Structure for passing information from the sprite loader to the blitter.
DECLARE_ENUM_AS_BIT_SET(GenderEthnicity) enum CompanyManagerFaceVariable
Bitgroups of the CompanyManagerFace variable.
Parameters related to blitting.
void Draw(Blitter::BlitterParams *bp, BlitterMode mode, ZoomLevel zoom) override
Draw an image to the screen, given an amount of params defined above.
Data structure describing a sprite.
bool HasCPUIDFlag(uint type, uint index, uint bit)
Check whether the current CPU has the given flag.