12 #ifndef BLITTER_32BPP_SSE4_ANIM_HPP 13 #define BLITTER_32BPP_SSE4_ANIM_HPP 21 #ifndef FULL_ANIMATION 22 #define FULL_ANIMATION 1 28 #undef MARGIN_NORMAL_THRESHOLD 29 #define MARGIN_NORMAL_THRESHOLD 4 32 class Blitter_32bppSSE4_Anim FINAL :
public Blitter_32bppAnim,
public Blitter_32bppSSE_Base {
36 template <BlitterMode mode, Blitter_32bppSSE_Base::ReadMode read_mode, Blitter_32bppSSE_Base::BlockType bt_last,
bool translucent,
bool animated>
40 return Blitter_32bppSSE_Base::Encode(sprite, allocator);
42 const char *
GetName() {
return "32bpp-sse4-anim"; }
49 Blitter *CreateInstance() {
return new Blitter_32bppSSE4_Anim(); }
Data structure describing a sprite.
How all blitters should look like.
The optimised 32 bpp blitter with palette animation.
Sprite * Encode(const SpriteLoader::Sprite *sprite, AllocatorProc *allocator)
Convert a sprite from the loader to our own format.
Parameters related to blitting.
const char * GetName()
Get the name of the blitter, the same as the Factory-instance returns.
Structure for passing information from the sprite loader to the blitter.
void Draw(Blitter::BlitterParams *bp, BlitterMode mode, ZoomLevel zoom)
Draw an image to the screen, given an amount of params defined above.
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.