10 #ifndef BLITTER_32BPP_SSE4_ANIM_HPP 11 #define BLITTER_32BPP_SSE4_ANIM_HPP 19 #ifndef FULL_ANIMATION 20 #define FULL_ANIMATION 1 24 #include "32bpp_anim_sse2.hpp" 27 #undef MARGIN_NORMAL_THRESHOLD 28 #define MARGIN_NORMAL_THRESHOLD 4 31 class Blitter_32bppSSE4_Anim FINAL :
public Blitter_32bppSSE2_Anim,
public Blitter_32bppSSE_Base {
35 template <BlitterMode mode, Blitter_32bppSSE_Base::ReadMode read_mode, Blitter_32bppSSE_Base::BlockType bt_last,
bool translucent,
bool animated>
39 return Blitter_32bppSSE_Base::Encode(sprite, allocator);
41 const char *GetName()
override {
return "32bpp-sse4-anim"; }
47 FBlitter_32bppSSE4_Anim() :
BlitterFactory(
"32bpp-sse4-anim",
"32bpp SSE4 Blitter (palette animation)",
HasCPUIDFlag(1, 2, 19)) {}
48 Blitter *CreateInstance()
override {
return new Blitter_32bppSSE4_Anim(); }
Data structure describing a sprite.
How all blitters should look like.
Parameters related to blitting.
Structure for passing information from the sprite loader to the blitter.
A 32 bpp blitter with animation support.
bool HasCPUIDFlag(uint type, uint index, uint bit)
Check whether the current CPU has the given flag.
BlitterMode
The modes of blitting we can do.
ZoomLevel
All zoom levels we know.
The base factory, keeping track of all blitters.