#pragma once #include namespace dragonx { namespace ui { namespace effects { /// Framebuffer pixel extent for a window-unit extent and ImGui's DisplayFramebufferScale. Same truncation as /// imgui_impl_opengl3.cpp (`(int)(DisplaySize.x * DisplayFramebufferScale.x)`), so the blit source matches FB 0. inline int framebufferExtent(float logical, float scale) { if (!(scale > 0.0f) || !(logical > 0.0f)) return (int)logical; return (int)(logical * scale); } /// Source extent for the capture blit: the framebuffer size when known, else the logical size. inline int captureSourceExtent(int fbExtent, int logicalExtent) { return fbExtent > 0 ? fbExtent : logicalExtent; } }}}