add fullscreen toggle

This commit is contained in:
arthur.jamet
2021-06-16 21:18:45 +02:00
parent cf842903be
commit 7fcdd05de6
3 changed files with 35 additions and 3 deletions
+19
View File
@@ -193,4 +193,23 @@ bool RAY::Window::isReady() const
void RAY::Window::setExitKey(RAY::Controller::Keyboard::Key key)
{
SetExitKey(key);
}
unsigned RAY::Window::getConfigFlags(void) const
{
return this->_flags;
}
RAY::Window &RAY::Window::setConfigFlags(unsigned flags)
{
if (this->_isOpen)
SetWindowState(flags);
this->_flags = flags;
return *this;
}
RAY::Window &RAY::Window::toggleFullscreen()
{
ToggleFullscreen();
return *this;
}
+8
View File
@@ -139,6 +139,14 @@ namespace RAY {
//! @info Calling this function override the previous closing key
void setExitKey(Controller::Keyboard::Key key);
//! @return the configuration flgs for the window
unsigned getConfigFlags(void) const;
//! @param flag the configuration flgs for the window
RAY::Window &setConfigFlags(unsigned flags);
//! @brief set window to fullscreen
RAY::Window &toggleFullscreen();
private:
//! @brief Creates window, and opens it if openNow is set to true
+8 -3
View File
@@ -177,17 +177,22 @@ namespace BBM
});
auto &fullscreen = scene->addEntity("fullscreen text")
.addComponent<PositionComponent>(1920 / 2.5, 1080 - 100 - 50, 0)
.addComponent<Drawable2DComponent, RAY2D::Text>("Fullscreen: On", 70, RAY::Vector2(), BLACK)
.addComponent<Drawable2DComponent, RAY2D::Text>("Fullscreen: Off", 70, RAY::Vector2(), BLACK)
.addComponent<OnClickComponent>([](WAL::Entity &entity, WAL::Wal &wal)
{
RAY2D::Text *text = dynamic_cast<RAY2D::Text *>(entity.getComponent<Drawable2DComponent>().drawable.get());
RAY::Window &window = RAY::Window::getInstance();
unsigned oldFlags = window.getConfigFlags();
if (oldFlags == FLAG_WINDOW_RESIZABLE)
window.toggleFullscreen();
else
window.setConfigFlags(FLAG_WINDOW_RESIZABLE);
if (text->getString().find("Off") != std::string::npos) {
text->setText("Fullscreen: On");
//do
} else {
text->setText("Fullscreen: Off");
//do
}
})
.addComponent<OnIdleComponent>([](WAL::Entity &entity, WAL::Wal &)