2017-08-30 18:31:27 -04:00
|
|
|
#pragma once
|
|
|
|
#include "stdafx.h"
|
|
|
|
#include "../Utilities/SimpleLock.h"
|
|
|
|
#include "EmulationSettings.h"
|
2018-07-01 15:21:05 -04:00
|
|
|
|
2017-08-30 18:31:27 -04:00
|
|
|
class DrawCommand;
|
|
|
|
|
|
|
|
class DebugHud
|
|
|
|
{
|
|
|
|
private:
|
2018-07-30 21:05:51 -04:00
|
|
|
vector<unique_ptr<DrawCommand>> _commands;
|
2017-08-30 18:31:27 -04:00
|
|
|
SimpleLock _commandLock;
|
|
|
|
|
|
|
|
public:
|
|
|
|
DebugHud();
|
|
|
|
~DebugHud();
|
|
|
|
|
2018-07-01 15:21:05 -04:00
|
|
|
void Draw(uint32_t* argbBuffer, OverscanDimensions overscan, uint32_t width, uint32_t frameNumber);
|
2017-08-30 18:31:27 -04:00
|
|
|
void ClearScreen();
|
|
|
|
|
2018-07-01 15:21:05 -04:00
|
|
|
void DrawPixel(int x, int y, int color, int frameCount, int startFrame);
|
|
|
|
void DrawLine(int x, int y, int x2, int y2, int color, int frameCount, int startFrame);
|
|
|
|
void DrawRectangle(int x, int y, int width, int height, int color, bool fill, int frameCount, int startFrame);
|
|
|
|
void DrawScreenBuffer(uint32_t* screenBuffer, int startFrame);
|
|
|
|
void DrawString(int x, int y, string text, int color, int backColor, int frameCount, int startFrame);
|
2017-08-30 18:31:27 -04:00
|
|
|
};
|