ComSquare
QtWidgetSFML.hpp
Go to the documentation of this file.
1 //
2 // Created by anonymus-raccoon on 2/16/20.
3 //
4 
5 #pragma once
6 
7 #include <QtWidgets/QWidget>
8 #include <SFML/Graphics/RenderWindow.hpp>
9 #include <QtCore/QTimer>
10 #include <SFML/Graphics/Sprite.hpp>
11 #include <SFML/Graphics/Texture.hpp>
12 #include "Renderer/SFRenderer.hpp"
13 
14 namespace ComSquare::Renderer
15 {
17  class QtWidgetSFML : public QWidget, public SFRenderer {
18  Q_OBJECT
19  public slots:
21  virtual void onUpdate() = 0;
22  private:
24  virtual void _onInit();
26  QPaintEngine* paintEngine() const override;
28  void showEvent(QShowEvent*) override;
30  void paintEvent(QPaintEvent*) override;
31 
33  QTimer _timer;
35  bool _isInitialized = false;
36  public:
37  QtWidgetSFML(QWidget* parent, const QPoint& position, const QSize& size, int frameRate = 0);
38  QtWidgetSFML(const QtWidgetSFML &) = delete;
39  QtWidgetSFML &operator=(const QtWidgetSFML &) = delete;
40  ~QtWidgetSFML() override = default;
41  };
42 }
ComSquare::Renderer::QtWidgetSFML
A widget that you can put inside a QT application that render using the SFML.
Definition: QtWidgetSFML.hpp:17
SFRenderer.hpp
ComSquare::Renderer::QtWidgetSFML::showEvent
void showEvent(QShowEvent *) override
Used to create the SF window and bind it to the window manager of the user.
Definition: QtWidgetSFML.cpp:24
ComSquare::Renderer
Definition: IRenderer.hpp:13
ComSquare::Renderer::QtWidgetSFML::_isInitialized
bool _isInitialized
Has the SF window been created yet.
Definition: QtWidgetSFML.hpp:35
ComSquare::Renderer::QtWidgetSFML::_timer
QTimer _timer
Internal timer used for update intervals.
Definition: QtWidgetSFML.hpp:33
ComSquare::Renderer::SFRenderer
Definition: SFRenderer.hpp:26
ComSquare::Renderer::QtWidgetSFML::paintEngine
QPaintEngine * paintEngine() const override
Qt internal paint engine (always null since we use a custom one)
Definition: QtWidgetSFML.cpp:43
ComSquare::Renderer::QtWidgetSFML::paintEvent
void paintEvent(QPaintEvent *) override
QT event that refresh the widget. (A draw screen)
Definition: QtWidgetSFML.cpp:48
ComSquare::Renderer::QtWidgetSFML::~QtWidgetSFML
~QtWidgetSFML() override=default
ComSquare::Renderer::QtWidgetSFML::operator=
QtWidgetSFML & operator=(const QtWidgetSFML &)=delete
ComSquare::Renderer::QtWidgetSFML::QtWidgetSFML
QtWidgetSFML(QWidget *parent, const QPoint &position, const QSize &size, int frameRate=0)
Definition: QtWidgetSFML.cpp:9
ComSquare::Renderer::QtWidgetSFML::onUpdate
virtual void onUpdate()=0
Function called to update this widget.
ComSquare::Renderer::QtWidgetSFML::_onInit
virtual void _onInit()
Function called when this widget is created.
Definition: QtWidgetSFML.cpp:53