mirror of
https://github.com/zoriya/Bomberman.git
synced 2026-05-25 23:49:03 +00:00
add fullscreen toggle
This commit is contained in:
@@ -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;
|
||||
}
|
||||
@@ -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
|
||||
|
||||
@@ -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 &)
|
||||
|
||||
Reference in New Issue
Block a user