diff options
author | Jared Adams <jaxad0127@gmail.com> | 2010-05-20 01:35:17 -0600 |
---|---|---|
committer | Jared Adams <jaxad0127@gmail.com> | 2010-05-20 12:25:37 -0600 |
commit | 487a86fe7dc9904f445d91667095f641f72f7c81 (patch) | |
tree | 57191d175f7b2fe771f6b2da225bc2d9cb5ff1d9 /src/graphics.h | |
parent | 36832f3a5378f739da7040f0711b7101dbc2af02 (diff) | |
download | mana-client-487a86fe7dc9904f445d91667095f641f72f7c81.tar.gz mana-client-487a86fe7dc9904f445d91667095f641f72f7c81.tar.bz2 mana-client-487a86fe7dc9904f445d91667095f641f72f7c81.tar.xz mana-client-487a86fe7dc9904f445d91667095f641f72f7c81.zip |
Buffer layered sprites under SDL
This improves framerate and allows transparent overlay for complex
sprites. Two copies of the buffer are kept, one at full opacity,
one with variable opactiy, to reduce calls to setAlpha.
Reviewed-by: Bertram
Diffstat (limited to 'src/graphics.h')
-rw-r--r-- | src/graphics.h | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/src/graphics.h b/src/graphics.h index 211fb901..344c31c3 100644 --- a/src/graphics.h +++ b/src/graphics.h @@ -73,6 +73,11 @@ struct ImageRect class Graphics : public gcn::SDLGraphics { public: + enum BlitMode { + BLIT_NORMAL = 0, + BLIT_GFX + }; + /** * Constructor. */ @@ -182,6 +187,12 @@ class Graphics : public gcn::SDLGraphics drawImageRect(area.x, area.y, area.width, area.height, imgRect); } + void setBlitMode(BlitMode mode) + { mBlitMode = mode; } + + BlitMode getBlitMode() + { return mBlitMode; } + /** * Updates the screen. This is done by either copying the buffer to the * screen or swapping pages. @@ -211,6 +222,7 @@ class Graphics : public gcn::SDLGraphics int mBpp; bool mFullscreen; bool mHWAccel; + BlitMode mBlitMode; }; extern Graphics *graphics; |