MCPcopy Create free account
hub / github.com/PCSX2/pcsx2 / AdjustPositionForAlignment

Function AdjustPositionForAlignment

pcsx2/Achievements.cpp:2073–2128  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

2071}
2072
2073static ImVec2 AdjustPositionForAlignment(const ImVec2& base_position, const ImVec2& element_size, AchievementOverlayPosition alignment)
2074{
2075 ImVec2 adjusted = base_position;
2076
2077 // Adjust for horizontal alignment
2078 switch (alignment)
2079 {
2080 case AchievementOverlayPosition::TopLeft:
2081 case AchievementOverlayPosition::CenterLeft:
2082 case AchievementOverlayPosition::BottomLeft:
2083 // Left aligned no adjustment needed for x
2084 break;
2085
2086 case AchievementOverlayPosition::TopCenter:
2087 case AchievementOverlayPosition::Center:
2088 case AchievementOverlayPosition::BottomCenter:
2089 // Center aligned offset by half element width
2090 adjusted.x -= element_size.x * 0.5f;
2091 break;
2092
2093 case AchievementOverlayPosition::TopRight:
2094 case AchievementOverlayPosition::CenterRight:
2095 case AchievementOverlayPosition::BottomRight:
2096 default:
2097 // Right aligned offset by full element width
2098 adjusted.x -= element_size.x;
2099 break;
2100 }
2101
2102 // Adjust for vertical alignment
2103 switch (alignment)
2104 {
2105 case AchievementOverlayPosition::TopLeft:
2106 case AchievementOverlayPosition::TopCenter:
2107 case AchievementOverlayPosition::TopRight:
2108 // Top aligned no adjustment needed for y
2109 break;
2110
2111 case AchievementOverlayPosition::CenterLeft:
2112 case AchievementOverlayPosition::Center:
2113 case AchievementOverlayPosition::CenterRight:
2114 // Center aligned offset by half element height
2115 adjusted.y -= element_size.y * 0.5f;
2116 break;
2117
2118 case AchievementOverlayPosition::BottomLeft:
2119 case AchievementOverlayPosition::BottomCenter:
2120 case AchievementOverlayPosition::BottomRight:
2121 default:
2122 // Bottom aligned offset by full element height
2123 adjusted.y -= element_size.y;
2124 break;
2125 }
2126
2127 return adjusted;
2128}
2129
2130static ImVec2 GetStackingDirection(AchievementOverlayPosition alignment)

Callers 1

DrawGameOverlaysMethod · 0.85

Calls

no outgoing calls

Tested by

no test coverage detected