From 5a3d0555f5c4c687ebce1bc3c509f366dbd218a4 Mon Sep 17 00:00:00 2001 From: Floriansylvain Date: Sat, 27 Dec 2025 21:20:01 +0100 Subject: [PATCH] feat: initial commit --- .gitignore | 3 ++ CMakeLists.txt | 25 +++++++++++++ assets/Consolas.ttf | Bin 0 -> 104144 bytes src/main.cpp | 89 ++++++++++++++++++++++++++++++++++++++++++++ 4 files changed, 117 insertions(+) create mode 100644 .gitignore create mode 100644 CMakeLists.txt create mode 100644 assets/Consolas.ttf create mode 100644 src/main.cpp diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..a11e750 --- /dev/null +++ b/.gitignore @@ -0,0 +1,3 @@ +/.cache +/.vscode +/build diff --git a/CMakeLists.txt b/CMakeLists.txt new file mode 100644 index 0000000..422a42c --- /dev/null +++ b/CMakeLists.txt @@ -0,0 +1,25 @@ +cmake_minimum_required(VERSION 3.28) +project(CMakeSFMLProject LANGUAGES CXX) + +set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/bin) +set(ASSETS_SRC_DIR "${CMAKE_CURRENT_SOURCE_DIR}/assets") +set(ASSETS_DEST_DIR "${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/assets") + +include(FetchContent) +FetchContent_Declare(SFML + GIT_REPOSITORY https://github.com/SFML/SFML.git + GIT_TAG 3.0.2 + GIT_SHALLOW ON + EXCLUDE_FROM_ALL + SYSTEM) +FetchContent_MakeAvailable(SFML) + +add_executable(main src/main.cpp) +target_compile_features(main PRIVATE cxx_std_17) +target_link_libraries(main PRIVATE SFML::Graphics) + +add_custom_command(TARGET main POST_BUILD + COMMAND ${CMAKE_COMMAND} -E copy_directory + "${ASSETS_SRC_DIR}" + "${ASSETS_DEST_DIR}" +) diff --git a/assets/Consolas.ttf b/assets/Consolas.ttf new file mode 100644 index 0000000000000000000000000000000000000000..2162134790cf643aa70cd3e7c173fc960f936e81 GIT binary patch literal 104144 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 literal 0 HcmV?d00001 diff --git a/src/main.cpp b/src/main.cpp new file mode 100644 index 0000000..15c4c3c --- /dev/null +++ b/src/main.cpp @@ -0,0 +1,89 @@ +#include +#include +#include +#include +#include +#include +#include +#include + +constexpr int DEBUG_REFRESH_RATE_IN_MS = 250; +constexpr bool VSYNC = true; +constexpr int WIDTH = 1920; +constexpr int HEIGHT = 1080; + +void updateShapePosition(sf::RectangleShape &shape, sf::RenderWindow &window) { + if (!window.hasFocus()) + return; + + auto shapeSize = shape.getSize(); + auto mousePos = sf::Mouse::getPosition(window); + + shape.setPosition( + sf::Vector2f(mousePos.x - shapeSize.x / 2, window.getSize().y - 50)); +} + +std::string getDebugText(double elapsedMilliseconds) { + if (elapsedMilliseconds <= 0) + return ""; + + return "V-SYNC: " + std::string(VSYNC ? "On" : "Off") + + "\nFrametime: " + std::to_string(elapsedMilliseconds) + + "\nFPS: " + std::to_string((int)(1000 / elapsedMilliseconds)); +} + +int main() { + sf::RenderWindow window(sf::VideoMode({WIDTH, HEIGHT}), "Whatever SFML"); + window.setVerticalSyncEnabled(VSYNC); + + sf::RectangleShape shape(sf::Vector2f(200, 25)); + shape.setFillColor(sf::Color(100, 250, 50)); + shape.setPosition(sf::Vector2f(0, HEIGHT - 50)); + + sf::Clock clock; + + sf::Font font; + if (!font.openFromFile("assets/Consolas.ttf")) + return 0; + + sf::Text text(font); + text.setString(getDebugText(0)); + + sf::View view; + view.setSize(sf::Vector2f(WIDTH, HEIGHT)); + view.setCenter(sf::Vector2f((float)WIDTH / 2, (float)HEIGHT / 2)); + + double lastTextUpdateElapsedMs = 0; + + while (window.isOpen()) { + while (const std::optional event = window.pollEvent()) { + if (event->is()) { + window.close(); + return 0; + } else if (event->is()) { + auto size = window.getSize(); + view.setSize(sf::Vector2f(size.x, size.y)); + view.setCenter(sf::Vector2f((float)size.x / 2, (float)size.y / 2)); + } + } + + window.clear(); + updateShapePosition(shape, window); + window.setView(view); + window.draw(shape); + window.draw(text); + window.display(); + + double elapsedMilliseconds = + (double)clock.restart().asMicroseconds() / 1000; + + lastTextUpdateElapsedMs += elapsedMilliseconds; + + if (lastTextUpdateElapsedMs > DEBUG_REFRESH_RATE_IN_MS) { + text.setString(getDebugText(elapsedMilliseconds)); + lastTextUpdateElapsedMs = 0; + } + } + + return 0; +}