Skip to content

Commit bcfc489

Browse files
authored
Merge pull request #230 from gameknife/dev
Dev
2 parents 3713a7b + 8c010aa commit bcfc489

19 files changed

Lines changed: 1084 additions & 49 deletions

assets/configs/visual_test.json

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,8 +3,10 @@
33
"outputDir": "screenshots/visual_test",
44
"defaultFramesToWait": 60,
55
"loadTimeoutSeconds": 20.0,
6+
"baselineDir": "assets/visual_test_baselines",
7+
"diffThreshold": 5,
68
"useFastCapture": true,
7-
"useSceneList": true,
9+
"useSceneList": false,
810
"includeExtensions": [
911
".proc",
1012
".glb",
@@ -14,5 +16,7 @@
1416
],
1517
"excludeScenes": [],
1618
"excludeSceneContains": [],
17-
"scenes": []
19+
"scenes": [
20+
"MaterialShowcase.proc"
21+
]
1822
}
Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
*
2+
!.gitignore
3+
!.gitkeep
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+

docs/dev-plan-1h-tasks-2026-04.md

Lines changed: 362 additions & 0 deletions
Large diffs are not rendered by default.

src/Application/BrickPlayer/BrickPlayerUserInterface.cpp

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -63,10 +63,8 @@ void BrickPlayerUserInterface::Render()
6363
void BrickPlayerUserInterface::RenderTitleBar()
6464
{
6565
ImVec2 windowSize = ImGui::GetMainViewport()->Size;
66-
67-
// Configure custom title bar drag area
68-
gameInstance_->GetEngine().ConfigureCustomTitleBarDrag(
69-
true, titleBarHeight, titleBarActionWidth, titleBarControlWidth);
66+
float titleBarLeftReservedWidth = 0.0f;
67+
float titleBarRightReservedWidth = titleBarControlWidth;
7068

7169
// Title bar background
7270
auto bgColor = ImGui::GetStyleColorVec4(ImGuiCol_WindowBg);
@@ -97,6 +95,7 @@ void BrickPlayerUserInterface::RenderTitleBar()
9795
ImGuiWindowFlags_NoTitleBar | ImGuiWindowFlags_NoResize |
9896
ImGuiWindowFlags_NoMove | ImGuiWindowFlags_NoSavedSettings |
9997
ImGuiWindowFlags_NoBackground);
98+
titleBarRightReservedWidth = ImGui::GetWindowSize().x;
10099

101100
if (ImGui::Button(ICON_FA_MINUS, ImVec2(titleBarHeight, titleBarHeight)))
102101
{
@@ -264,11 +263,14 @@ void BrickPlayerUserInterface::RenderTitleBar()
264263
if (ImGui::IsItemHovered())
265264
ImGui::SetTooltip("Shuffle BGM");
266265
}
266+
titleBarLeftReservedWidth = ImGui::GetItemRectMax().x + ImGui::GetStyle().ItemSpacing.x;
267267

268268
ImGui::End();
269269

270270
ImGui::PopStyleColor();
271271
ImGui::PopStyleVar(4);
272+
gameInstance_->GetEngine().ConfigureCustomTitleBarDrag(
273+
true, titleBarHeight, titleBarLeftReservedWidth, titleBarRightReservedWidth);
272274
}
273275

274276
void BrickPlayerUserInterface::RenderTimeline()

src/Application/MagicaLego/MagicaLegoUserInterface.cpp

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -256,8 +256,8 @@ void MagicaLegoUserInterface::DrawTitleBar()
256256

257257
// 获取窗口的大小
258258
ImVec2 windowSize = ImGui::GetMainViewport()->Size;
259-
GetGameInstance()->GetEngine().ConfigureCustomTitleBarDrag(
260-
isOpen, titlebarSize, titlebarSize * 18.0f, titlebarControlSize);
259+
float titlebarLeftReservedWidth = 0.0f;
260+
float titlebarRightReservedWidth = titlebarControlSize;
261261

262262
auto bgColor = ImGui::GetStyleColorVec4(ImGuiCol_WindowBg);
263263
bgColor.w = currentAnim * 0.6f;
@@ -284,6 +284,7 @@ void MagicaLegoUserInterface::DrawTitleBar()
284284
ImGui::SetNextWindowBgAlpha(0.0f);
285285

286286
ImGui::Begin("TitleBarRight", nullptr, ImGuiWindowFlags_NoTitleBar | ImGuiWindowFlags_NoResize | ImGuiWindowFlags_NoMove | ImGuiWindowFlags_NoSavedSettings | ImGuiWindowFlags_NoBackground);
287+
titlebarRightReservedWidth = ImGui::GetWindowSize().x;
287288

288289
ImGui::PushStyleVar(ImGuiStyleVar_Alpha, currentAnim);
289290

@@ -420,12 +421,15 @@ void MagicaLegoUserInterface::DrawTitleBar()
420421
GetGameInstance()->SetCapturing(showHelp_ || capture_);
421422
}
422423
BUTTON_TOOLTIP(LOCTEXT("Show Help"))
424+
titlebarLeftReservedWidth = ImGui::GetItemRectMax().x + ImGui::GetStyle().ItemSpacing.x;
423425

424426
ImGui::PopStyleVar();
425427
ImGui::End();
426428

427429
ImGui::PopStyleColor();
428430
ImGui::PopStyleVar(4);
431+
GetGameInstance()->GetEngine().ConfigureCustomTitleBarDrag(
432+
isOpen, titlebarSize, titlebarLeftReservedWidth, titlebarRightReservedWidth);
429433
}
430434

431435
void MagicaLegoUserInterface::DrawOpening() const

src/Application/gkNextRenderer/gkNextRenderer.cpp

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -755,7 +755,8 @@ void NextRendererGameInstance::DrawTitleBar()
755755
{
756756
// 获取窗口的大小
757757
ImVec2 windowSize = ImGui::GetMainViewport()->Size;
758-
GetEngine().ConfigureCustomTitleBarDrag(true, TitlebarSize, TitlebarSize * 18.0f, TitlebarControlSize);
758+
float titlebarLeftReservedWidth = 0.0f;
759+
float titlebarRightReservedWidth = TitlebarControlSize;
759760

760761
auto bgColor = ImGui::GetStyleColorVec4(ImGuiCol_WindowBg);
761762
bgColor.w = 0.9f;
@@ -778,6 +779,7 @@ void NextRendererGameInstance::DrawTitleBar()
778779
ImGui::SetNextWindowSize(ImVec2(TitlebarControlSize, TitlebarSize));
779780

780781
ImGui::Begin("TitleBarRight", nullptr, ImGuiWindowFlags_NoTitleBar | ImGuiWindowFlags_NoResize | ImGuiWindowFlags_NoMove | ImGuiWindowFlags_NoSavedSettings | ImGuiWindowFlags_NoBackground);
782+
titlebarRightReservedWidth = ImGui::GetWindowSize().x;
781783

782784
if (ImGui::Button(ICON_FA_MINUS, ImVec2(TitlebarSize, TitlebarSize)))
783785
{
@@ -853,6 +855,7 @@ void NextRendererGameInstance::DrawTitleBar()
853855
{
854856
GetEngine().GetUserSettings().ShowOverlay = !GetEngine().GetUserSettings().ShowOverlay;
855857
}
858+
titlebarLeftReservedWidth = ImGui::GetItemRectMax().x + ImGui::GetStyle().ItemSpacing.x;
856859
BUTTON_TOOLTIP(LOCTEXT("Toggle Performance Overlay"))
857860
ImGui::SameLine();
858861
ImGui::GetForegroundDrawList()->AddLine(ImGui::GetCursorPos() + ImVec2(4, TitlebarSize / 2 - 5), ImGui::GetCursorPos() + ImVec2(4, TitlebarSize / 2 + 5), IM_COL32(255, 255, 255, 160), 2.0f);
@@ -864,4 +867,6 @@ void NextRendererGameInstance::DrawTitleBar()
864867

865868
ImGui::PopStyleColor();
866869
ImGui::PopStyleVar(4);
870+
GetEngine().ConfigureCustomTitleBarDrag(
871+
true, TitlebarSize, titlebarLeftReservedWidth, titlebarRightReservedWidth);
867872
}

0 commit comments

Comments
 (0)