mirror of
https://github.com/zoriya/ComSquare.git
synced 2025-12-20 22:25:11 +00:00
41 lines
1.2 KiB
C++
41 lines
1.2 KiB
C++
//
|
|
// Created by cbihan on 1/30/20.
|
|
//
|
|
|
|
#ifndef COMSQUARE_IRENDERER_HPP
|
|
#define COMSQUARE_IRENDERER_HPP
|
|
|
|
#include <string>
|
|
|
|
namespace ComSquare
|
|
{
|
|
class SNES;
|
|
namespace Renderer
|
|
{
|
|
class IRenderer {
|
|
public:
|
|
//! @brief Set a new name to the window, if there is already a name it will be overwrite
|
|
virtual void setWindowName(std::string) = 0;
|
|
|
|
//! @brief Tells to the program if the window has been closed, and therefore if he should stop
|
|
bool shouldExit = true;
|
|
|
|
//! @brief Render the buffer to the window
|
|
virtual void drawScreen() = 0;
|
|
|
|
//! @brief Set a pixel to the coordinates x, y with the color rgba
|
|
//! @param x The x position of the window (0, 0 is the top left corner).
|
|
//! @param y The y position of the window (0, 0 is the top left corner).
|
|
//! @param rgba The color of the pixel (red, green, blue, alpha).
|
|
virtual void putPixel(unsigned x, unsigned y, uint32_t rgba) = 0;
|
|
|
|
//! @brief Use this function to create the window.
|
|
//! @param snes The snes game object (to call the update method).
|
|
//! @param maxFPS The number of FPS you aim to run on.
|
|
virtual void createWindow(SNES &snes, int maxFPS) = 0;
|
|
};
|
|
}
|
|
}
|
|
|
|
#endif //COMSQUARE_IRENDERER_HPP
|