whao it seems to work

This commit is contained in:
Clément Le Bihan
2021-06-08 23:07:24 +02:00
parent 81a32100f1
commit b8acc1520a
4 changed files with 13 additions and 13 deletions
@@ -126,6 +126,7 @@ namespace ComSquare::Debugger
void TileViewer::internalUpdate()
{
this->_tileRenderer.render();
this->_sfWidget->buffer = this->_tileRenderer.buffer;
this->_ppu.add_buffer(this->_tileRenderer.buffer, {200, 200});
}
@@ -10,7 +10,7 @@ namespace ComSquare::Renderer
QtSFMLTileRenderer::QtSFMLTileRenderer(QWidget *parent,
int frameRate)
: QtWidgetSFML(parent, {0, 0}, {500, 1000}, frameRate)
: QtWidgetSFML(parent, {0, 0}, {1025, 1025}, frameRate)
{
// todo the size of the sfml renderwindow should fill the parent
std::cout << "size: " << parent->width() << " " << parent->height() << std::endl;
@@ -18,7 +18,12 @@ namespace ComSquare::Renderer
void QtSFMLTileRenderer::_onUpdate()
{
this->_window.clear(sf::Color::Blue);
this->_window.display();
this->_window.clear(sf::Color::Black);
for (unsigned long i = 0; i < this->buffer.size(); i++) {
for (unsigned long j = 0; j < this->buffer[i].size(); j++) {
this->putPixel(j, i, this->buffer[i][j]);
}
}
this->drawScreen();
}
}
@@ -4,19 +4,17 @@
#pragma once
#include <array>
#include <QtWidgets/QWidget>
#include "QtWidgetSFML.hpp"
#include "Debugger/TileViewer/TileRenderer.hpp"
namespace ComSquare::Renderer
{
class QtSFMLTileRenderer : public QtWidgetSFML
{
private:
//! @brief internal buffer
//sf::Image _image;
//! @brief sprite
//sf::Sprite _sprite;
public:
std::array<std::array<uint32_t, 1024>, 1024> buffer;
//! @brief Function called to update this widget.
void _onUpdate() override;
+1 -5
View File
@@ -68,11 +68,7 @@ namespace ComSquare::Renderer
if (y >= this->_videoMode.height)
throw InvalidPixelPosition("Height", y, this->_videoMode.height);
sf::Color pixels;
pixels.r = rgba >> 24U;
pixels.g = rgba >> 16U;
pixels.b = rgba >> 8U;
pixels.a = rgba >> 0U;
sf::Color pixels(rgba);
this->_pixelBuffer[this->_videoMode.width * y + x] = pixels;
}