进一步补充详细注释
This commit is contained in:
@@ -13,6 +13,7 @@
|
||||
*/
|
||||
void AdjustScrollOffset(int& scrollOffset, int delta)
|
||||
{
|
||||
// 先应用本次滚动增量,再统一夹紧到允许范围内。
|
||||
scrollOffset += delta;
|
||||
if (scrollOffset < 0)
|
||||
{
|
||||
@@ -46,6 +47,7 @@ LayoutMetrics GetLayoutMetrics(HWND hWnd)
|
||||
RECT clientRect;
|
||||
GetClientRect(hWnd, &clientRect);
|
||||
|
||||
// 以设计稿窗口为基准计算缩放,取较小比例保证完整界面不被裁切。
|
||||
int clientWidth = clientRect.right - clientRect.left;
|
||||
int clientHeight = clientRect.bottom - clientRect.top;
|
||||
int scaleX = MulDiv(clientWidth, 1000, WINDOW_CLIENT_WIDTH);
|
||||
@@ -60,6 +62,7 @@ LayoutMetrics GetLayoutMetrics(HWND hWnd)
|
||||
metrics.scale = scale;
|
||||
metrics.layoutWidth = MulDiv(WINDOW_CLIENT_WIDTH, scale, 1000);
|
||||
metrics.layoutHeight = MulDiv(WINDOW_CLIENT_HEIGHT, scale, 1000);
|
||||
// 横向居中显示,纵向从顶部开始,方便窗口高度不足时保持棋盘起点稳定。
|
||||
metrics.offsetX = (clientWidth - metrics.layoutWidth) / 2;
|
||||
metrics.offsetY = 0;
|
||||
metrics.grid = MulDiv(GRID, scale, 1000);
|
||||
@@ -289,6 +292,8 @@ RECT GetUpgradeCardRect(HWND hWnd, int index)
|
||||
{
|
||||
LayoutMetrics metrics = GetLayoutMetrics(hWnd);
|
||||
RECT overlayRect = GetUpgradeOverlayRect(hWnd);
|
||||
|
||||
// 根据当前候选数量自动决定列数;最多三列,两行用于命运轮盘六选项。
|
||||
int gap = ScaleValue(metrics, 18);
|
||||
int horizontalPadding = ScaleValue(metrics, 36);
|
||||
int verticalTop = overlayRect.top + ScaleValue(metrics, 138);
|
||||
@@ -347,6 +352,8 @@ RECT GetOverlayButtonRect(HWND hWnd, int index, int buttonCount)
|
||||
{
|
||||
LayoutMetrics metrics = GetLayoutMetrics(hWnd);
|
||||
RECT overlayRect = GetGameOverlayRect(hWnd);
|
||||
|
||||
// 游戏结束可能有三个按钮,暂停只有两个按钮,因此间距和边距分开计算。
|
||||
int gap = buttonCount == 3 ? ScaleValue(metrics, 8) : ScaleValue(metrics, 18);
|
||||
int sidePadding = buttonCount == 3 ? ScaleValue(metrics, 14) : ScaleValue(metrics, 34);
|
||||
int width = (overlayRect.right - overlayRect.left - sidePadding * 2 - gap * (buttonCount - 1)) / buttonCount;
|
||||
@@ -383,6 +390,8 @@ RECT GetBackButtonRect(HWND hWnd)
|
||||
RECT GetMusicButtonRect(HWND hWnd)
|
||||
{
|
||||
LayoutMetrics metrics = GetLayoutMetrics(hWnd);
|
||||
|
||||
// 音乐按钮保持最小可点击尺寸,避免窗口缩小时变得难以点中。
|
||||
int size = ScaleValue(metrics, 28);
|
||||
if (size < 22)
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user