mirror of
https://github.com/zoriya/ComSquare.git
synced 2026-05-30 09:08:43 +00:00
adding the first working sfml window (flicker warning)
ui update
This commit is contained in:
+1
-1
@@ -242,7 +242,7 @@ add_executable(ComSquare
|
||||
sources/Renderer/QtRenderer/QtRenderSfml.hpp
|
||||
sources/Debugger/TileViewer/TileViewer.cpp
|
||||
sources/Debugger/TileViewer/TileViewer.hpp
|
||||
sources/Debugger/TileViewer/TileRenderer.cpp sources/Debugger/TileViewer/TileRenderer.hpp sources/PPU/Tile.hpp)
|
||||
sources/Debugger/TileViewer/TileRenderer.cpp sources/Debugger/TileViewer/TileRenderer.hpp sources/PPU/Tile.hpp sources/Renderer/QtRenderer/QtSfmlTileRenderer.cpp sources/Renderer/QtRenderer/QtSfmlTileRenderer.hpp)
|
||||
|
||||
include_directories(ComSquare sources)
|
||||
|
||||
|
||||
@@ -34,7 +34,7 @@ namespace ComSquare::Debugger
|
||||
this->_window->setAttribute(Qt::WA_DeleteOnClose);
|
||||
|
||||
this->_ui.setupUi(this->_window);
|
||||
//this->_sfWidget = std::make_unique<Renderer::QtSFML>(this->_ui.label_5);
|
||||
this->_sfWidget = std::make_unique<Renderer::QtSFMLTileRenderer>(this->_ui.widget_sfml);
|
||||
QMainWindow::connect(this->_ui.NbColumns, QOverload<int>::of(&QSpinBox::valueChanged), this, [this](int nb) -> void { this->setNbColumns(nb); });
|
||||
QMainWindow::connect(this->_ui.ByteSize, QOverload<int>::of(&QSpinBox::valueChanged), this, [this](int nb) -> void { this->setRenderSize(nb); });
|
||||
QMainWindow::connect(this->_ui.Address, QOverload<int>::of(&QSpinBox::valueChanged), this, [this](int nb) -> void { this->setRamOffset(nb); });
|
||||
|
||||
@@ -15,7 +15,7 @@ namespace ComSquare::PPU
|
||||
#include <array>
|
||||
#include "PPU/PPU.hpp"
|
||||
#include "Debugger/ClosableWindow.hpp"
|
||||
#include "Renderer/QtRenderer/QtSFML.hpp"
|
||||
#include "Renderer/QtRenderer/QtSfmlTileRenderer.hpp"
|
||||
#include "../../../ui/ui_tileView.h"
|
||||
#include "Ram/Ram.hpp"
|
||||
#include "TileRenderer.hpp"
|
||||
@@ -35,7 +35,7 @@ namespace ComSquare::Debugger
|
||||
//! @brief A reference to the ppu
|
||||
ComSquare::PPU::PPU &_ppu;
|
||||
//! @brief the window
|
||||
//std::unique_ptr<Renderer::QtSFML> _sfWidget;
|
||||
std::unique_ptr<Renderer::QtSFMLTileRenderer> _sfWidget;
|
||||
//! @brief The tile renderer
|
||||
TileRenderer _tileRenderer;
|
||||
//! @brief Change the bpp from the index given by the ui (QT combo box)
|
||||
|
||||
@@ -0,0 +1,24 @@
|
||||
//
|
||||
// Created by cbihan on 08/06/2021.
|
||||
//
|
||||
|
||||
#include <iostream>
|
||||
#include "QtSfmlTileRenderer.hpp"
|
||||
|
||||
namespace ComSquare::Renderer
|
||||
{
|
||||
|
||||
QtSFMLTileRenderer::QtSFMLTileRenderer(QWidget *parent,
|
||||
int frameRate)
|
||||
: QtWidgetSFML(parent, {0, 0}, {500, 1000}, frameRate)
|
||||
{
|
||||
// todo the size of the sfml renderwindow should fill the parent
|
||||
std::cout << "size: " << parent->width() << " " << parent->height() << std::endl;
|
||||
}
|
||||
|
||||
void QtSFMLTileRenderer::_onUpdate()
|
||||
{
|
||||
this->_window.clear(sf::Color::Blue);
|
||||
this->_window.display();
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,33 @@
|
||||
//
|
||||
// Created by cbihan on 08/06/2021.
|
||||
//
|
||||
|
||||
#pragma once
|
||||
|
||||
#include <QtWidgets/QWidget>
|
||||
#include "QtWidgetSFML.hpp"
|
||||
|
||||
namespace ComSquare::Renderer
|
||||
{
|
||||
class QtSFMLTileRenderer : public QtWidgetSFML
|
||||
{
|
||||
private:
|
||||
//! @brief internal buffer
|
||||
//sf::Image _image;
|
||||
//! @brief sprite
|
||||
//sf::Sprite _sprite;
|
||||
public:
|
||||
|
||||
//! @brief Function called to update this widget.
|
||||
void _onUpdate() override;
|
||||
|
||||
//! @brief ctor
|
||||
explicit QtSFMLTileRenderer(QWidget* parent, int frameRate = 0);
|
||||
//! @brief copy ctor
|
||||
QtSFMLTileRenderer(const QtSFMLTileRenderer &) = delete;
|
||||
//! @brief default ctor
|
||||
~QtSFMLTileRenderer() override = default;
|
||||
//! @brief assignment operator
|
||||
QtSFMLTileRenderer &operator=(const QtSFMLTileRenderer &) = delete;
|
||||
};
|
||||
}
|
||||
+39
-46
@@ -22,11 +22,7 @@
|
||||
<item row="0" column="0">
|
||||
<layout class="QHBoxLayout" name="horizontalLayout">
|
||||
<item>
|
||||
<widget class="QLabel" name="label_5">
|
||||
<property name="text">
|
||||
<string>SFML window here :)</string>
|
||||
</property>
|
||||
</widget>
|
||||
<widget class="QWidget" name="widget_sfml" native="true"/>
|
||||
</item>
|
||||
<item>
|
||||
<layout class="QFormLayout" name="formLayout">
|
||||
@@ -97,42 +93,10 @@
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="4" column="0">
|
||||
<widget class="QLabel" name="label_2">
|
||||
<property name="cursor">
|
||||
<cursorShape>ArrowCursor</cursorShape>
|
||||
</property>
|
||||
<item row="3" column="0">
|
||||
<widget class="QLabel" name="label_4">
|
||||
<property name="text">
|
||||
<string>Columns</string>
|
||||
</property>
|
||||
<property name="buddy">
|
||||
<cstring></cstring>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="4" column="1">
|
||||
<widget class="QSpinBox" name="NbColumns">
|
||||
<property name="readOnly">
|
||||
<bool>false</bool>
|
||||
</property>
|
||||
<property name="specialValueText">
|
||||
<string/>
|
||||
</property>
|
||||
<property name="minimum">
|
||||
<number>1</number>
|
||||
</property>
|
||||
<property name="value">
|
||||
<number>16</number>
|
||||
</property>
|
||||
<property name="displayIntegerBase">
|
||||
<number>10</number>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="5" column="1">
|
||||
<widget class="QSpinBox" name="PaletteIndex">
|
||||
<property name="maximum">
|
||||
<number>255</number>
|
||||
<string>Format</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
@@ -167,10 +131,35 @@
|
||||
</item>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="3" column="0">
|
||||
<widget class="QLabel" name="label_4">
|
||||
<item row="4" column="0">
|
||||
<widget class="QLabel" name="label_2">
|
||||
<property name="cursor">
|
||||
<cursorShape>ArrowCursor</cursorShape>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>Format</string>
|
||||
<string>Columns</string>
|
||||
</property>
|
||||
<property name="buddy">
|
||||
<cstring></cstring>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="4" column="1">
|
||||
<widget class="QSpinBox" name="NbColumns">
|
||||
<property name="readOnly">
|
||||
<bool>false</bool>
|
||||
</property>
|
||||
<property name="specialValueText">
|
||||
<string/>
|
||||
</property>
|
||||
<property name="minimum">
|
||||
<number>1</number>
|
||||
</property>
|
||||
<property name="value">
|
||||
<number>16</number>
|
||||
</property>
|
||||
<property name="displayIntegerBase">
|
||||
<number>10</number>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
@@ -181,11 +170,15 @@
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="5" column="1">
|
||||
<widget class="QSpinBox" name="PaletteIndex">
|
||||
<property name="maximum">
|
||||
<number>255</number>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</item>
|
||||
<item>
|
||||
<layout class="QVBoxLayout" name="verticalLayout"/>
|
||||
</item>
|
||||
</layout>
|
||||
</item>
|
||||
</layout>
|
||||
|
||||
Reference in New Issue
Block a user