59 lines
1.5 KiB
C++
59 lines
1.5 KiB
C++
#include <iostream>
|
|
#include <SFML/System.hpp>
|
|
#include <SFML/Window.hpp>
|
|
#include <SFML/Graphics.hpp>
|
|
#include <SFML/Graphics/Text.hpp>
|
|
|
|
int main() {
|
|
bool isFullscreen = false;
|
|
int screenWidth = sf::VideoMode::getDesktopMode().width;
|
|
int screenHeight = sf::VideoMode::getDesktopMode().height;
|
|
|
|
sf::Font font;
|
|
std::string fontPath = "/usr/share/fonts/truetype/ubuntu/Ubuntu-R.ttf";
|
|
if (!font.loadFromFile(fontPath)) {
|
|
std::cout << "Error loading font: " << fontPath << std::endl;
|
|
exit(EXIT_FAILURE);
|
|
}
|
|
|
|
sf::Text text;
|
|
text.setFont(font);
|
|
text.setCharacterSize(24);
|
|
text.setFillColor(sf::Color::White);
|
|
text.setString("Press F keyboard button to toggle fullscreen mode");
|
|
|
|
sf::RenderWindow window;
|
|
window.create(sf::VideoMode(640, 480), "Fullscreen example");
|
|
|
|
while (window.isOpen()) {
|
|
sf::Event event;
|
|
|
|
while (window.pollEvent(event)) {
|
|
if (event.type == sf::Event::Closed)
|
|
window.close();
|
|
|
|
if (sf::Keyboard::isKeyPressed(sf::Keyboard::Escape))
|
|
window.close();
|
|
|
|
if (sf::Keyboard::isKeyPressed(sf::Keyboard::F)) {
|
|
isFullscreen = !isFullscreen;
|
|
|
|
window.close();
|
|
|
|
if (isFullscreen)
|
|
window.create(sf::VideoMode(screenWidth, screenHeight),
|
|
"Fullscreen example", sf::Style::Fullscreen);
|
|
else
|
|
window.create(sf::VideoMode(640, 480), "Fullscreen example",
|
|
sf::Style::Default);
|
|
}
|
|
}
|
|
|
|
window.clear(sf::Color::Black);
|
|
window.draw(text);
|
|
window.display();
|
|
}
|
|
|
|
return EXIT_SUCCESS;
|
|
}
|