Skip to content

Conversation

majvax
Copy link

@majvax majvax commented Sep 11, 2025

This is primarily a proof of concept rather than a production-ready implementation. I am more than happy to collaborate with the maintainers to refine this update according to your preferences and project standards.

Please note: This PR should not be merged in its current state. It lacks proper testing, and the code was written during my class, so there may be performance or memory issues that I have overlooked.

My work is based on the official documentation and the SDL3 renderer backend.

I welcome any suggestions or guidance on how to improve this contribution.

Reference:

@majvax
Copy link
Author

majvax commented Sep 11, 2025

The second commit is based of #319. As noted in the v1.91.9 changelog, parameters tint_col and border_col have been remove from ImGui::Image. The signature is deprecated and remplaced by ImGui::ImageWithBg.

After some testing, I found that the minimum supported version for these changes is v1.92.0. The new interface for textures introduced in this version breaks compatibility with earlier releases, so support for versions prior to 1.92.0 is not feasible. The good news is that these updates are compatible up to v1.92.2b, and ImGui can now be compiled with IMGUI_DISABLE_OBSOLETE_FUNCTIONS enabled.

@majvax
Copy link
Author

majvax commented Sep 11, 2025

I believe upgrading to 1.92.0 is necessary, as ImGui will require this update moving forward. As quoted from the doc:

"In order to move forward and take advantage of all new features, support for ImGuiBackendFlags_RendererHasTextures will likely be REQUIRED for all backends before June 2026"

@majvax
Copy link
Author

majvax commented Sep 13, 2025

@ChrisThrasher What do you think of this?

@ChrisThrasher
Copy link
Member

So you’re saying that supporting ImGui 1.92 means all prior versions become unusable? We have to raise the minimum from 1.91.1 to 1.92?

@majvax
Copy link
Author

majvax commented Sep 16, 2025

That’s basically what I’m saying, yes. Certainly, we could use macros to provide version-specific code, but I don’t think that fits the modern C++ approach of SFML.

@ChrisThrasher
Copy link
Member

Does ImGui provide macros for detecting the current version?

@majvax
Copy link
Author

majvax commented Sep 16, 2025

I didn't look at it myself but trusting this comment I would say yes.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants