12 #ifndef BLITTER_32BPP_SSE4_ANIM_HPP 13 #define BLITTER_32BPP_SSE4_ANIM_HPP 21 #ifndef FULL_ANIMATION 22 #define FULL_ANIMATION 1 26 #include "32bpp_anim_sse2.hpp" 29 #undef MARGIN_NORMAL_THRESHOLD 30 #define MARGIN_NORMAL_THRESHOLD 4 33 class Blitter_32bppSSE4_Anim FINAL :
public Blitter_32bppSSE2_Anim,
public Blitter_32bppSSE_Base {
37 template <BlitterMode mode, Blitter_32bppSSE_Base::ReadMode read_mode, Blitter_32bppSSE_Base::BlockType bt_last,
bool translucent,
bool animated>
41 return Blitter_32bppSSE_Base::Encode(sprite, allocator);
43 const char *GetName() {
return "32bpp-sse4-anim"; }
49 FBlitter_32bppSSE4_Anim() :
BlitterFactory(
"32bpp-sse4-anim",
"32bpp SSE4 Blitter (palette animation)",
HasCPUIDFlag(1, 2, 19)) {}
50 Blitter *CreateInstance() {
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.
ZoomLevel
All zoom levels we know.
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.
The base factory, keeping track of all blitters.