Refactor SDL overlay drawing into OverlayManager for sharing with other renderers
This commit is contained in:
parent
19d5358b97
commit
d58837421f
4 changed files with 102 additions and 90 deletions
|
|
@ -3,6 +3,7 @@
|
|||
#include <QString>
|
||||
|
||||
#include <SDL.h>
|
||||
#include <SDL_ttf.h>
|
||||
|
||||
namespace Overlay {
|
||||
|
||||
|
|
@ -24,6 +25,7 @@ class OverlayManager
|
|||
{
|
||||
public:
|
||||
OverlayManager();
|
||||
~OverlayManager();
|
||||
|
||||
bool isOverlayEnabled(OverlayType type);
|
||||
char* getOverlayText(OverlayType type);
|
||||
|
|
@ -31,16 +33,24 @@ public:
|
|||
void setOverlayState(OverlayType type, bool enabled);
|
||||
SDL_Color getOverlayColor(OverlayType type);
|
||||
int getOverlayFontSize(OverlayType type);
|
||||
SDL_Surface* getUpdatedOverlaySurface(OverlayType type);
|
||||
|
||||
void setOverlayRenderer(IOverlayRenderer* renderer);
|
||||
|
||||
private:
|
||||
void notifyOverlayUpdated(OverlayType type);
|
||||
|
||||
struct {
|
||||
bool enabled;
|
||||
int fontSize;
|
||||
SDL_Color color;
|
||||
char text[512];
|
||||
|
||||
TTF_Font* font;
|
||||
SDL_Surface* surface;
|
||||
} m_Overlays[OverlayMax];
|
||||
IOverlayRenderer* m_Renderer;
|
||||
QByteArray m_FontData;
|
||||
};
|
||||
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue