mirror of
https://github.com/hedge-dev/UnleashedRecomp
synced 2026-05-24 07:11:18 -04:00
imgui_utils: improve precise outline drawing
This commit is contained in:
@@ -141,14 +141,14 @@ static void DrawHeaderContainer(const char* text)
|
||||
SetTextSkew((min.y + max.y) / 2.0f, Scale(3.0f));
|
||||
|
||||
// TODO: Apply bevel.
|
||||
DrawTextWithOutline<int>
|
||||
DrawTextWithOutline<float>
|
||||
(
|
||||
g_fntNewRodinUB,
|
||||
fontSize,
|
||||
{ /* X */ min.x + textMarginX, /* Y */ CENTRE_TEXT_VERT(min, max, textSize) - Scale(5) },
|
||||
IM_COL32(255, 255, 255, 255 * alpha),
|
||||
text,
|
||||
3,
|
||||
1.65f,
|
||||
IM_COL32(0, 0, 0, 255 * alpha)
|
||||
);
|
||||
|
||||
|
||||
@@ -188,10 +188,12 @@ static void DrawTextWithOutline(const ImFont* font, float fontSize, const ImVec2
|
||||
|
||||
if constexpr (std::is_same_v<float, T> || std::is_same_v<double, T>)
|
||||
{
|
||||
auto step = outlineSize / 2.0f;
|
||||
|
||||
// TODO: This is still very inefficient!
|
||||
for (float i = -outlineSize; i <= outlineSize; i += 0.5f)
|
||||
for (float i = -outlineSize; i <= outlineSize; i += step)
|
||||
{
|
||||
for (float j = -outlineSize; j <= outlineSize; j += 0.5f)
|
||||
for (float j = -outlineSize; j <= outlineSize; j += step)
|
||||
{
|
||||
if (i == 0.0f && j == 0.0f)
|
||||
continue;
|
||||
|
||||
Reference in New Issue
Block a user