ComSquare
IRenderer.hpp
Go to the documentation of this file.
1 //
2 // Created by cbihan on 1/30/20.
3 //
4 
5 #pragma once
6 
7 #include <string>
8 #include <span>
9 
10 namespace ComSquare
11 {
12  class SNES;
13  namespace Renderer
14  {
15  class IRenderer {
16  public:
18  virtual void setWindowName(std::string &) = 0;
19 
21  virtual void drawScreen() = 0;
22 
27  virtual void putPixel(unsigned x, unsigned y, uint32_t rgba) = 0;
28 
32  virtual void createWindow(SNES &snes, int maxFPS) = 0;
33 
36  virtual void playAudio(std::span<int16_t> samples) = 0;
37  };
38  }
39 }
ComSquare::Renderer::IRenderer::drawScreen
virtual void drawScreen()=0
Render the buffer to the window.
ComSquare::Renderer::IRenderer::createWindow
virtual void createWindow(SNES &snes, int maxFPS)=0
Use this function to create the window.
Renderer
Renderer
Definition: form.txt:10
ComSquare::SNES
Container of all the components of the SNES.
Definition: SNES.hpp:32
ComSquare::Renderer::IRenderer
Definition: IRenderer.hpp:15
ComSquare::Renderer::IRenderer::putPixel
virtual void putPixel(unsigned x, unsigned y, uint32_t rgba)=0
Set a pixel to the coordinates x, y with the color rgba.
ComSquare::Renderer::IRenderer::playAudio
virtual void playAudio(std::span< int16_t > samples)=0
Playing all samples from buffer.
ComSquare
Definition: APU.cpp:12
ComSquare::Renderer::IRenderer::setWindowName
virtual void setWindowName(std::string &)=0
Set a new name to the window, if there is already a name it will be overwrite.