Refactor editor rendering contracts

This commit is contained in:
2026-04-28 02:57:49 +08:00
parent 3bc0cfcf08
commit b1ae6c462d
47 changed files with 798 additions and 377 deletions

View File

@@ -584,6 +584,76 @@ void BuiltInIcons::Initialize(
"step_button.png",
m_stepButtonIcon,
errorStream);
LoadEmbeddedIconTexture(
renderer,
resourceService,
Host::EditorHostPngResourceKind::ViewMoveToolIcon,
"view_move_tool.png",
m_viewMoveToolIcon,
errorStream);
LoadEmbeddedIconTexture(
renderer,
resourceService,
Host::EditorHostPngResourceKind::ViewMoveToolActiveIcon,
"view_move_tool_on.png",
m_viewMoveToolActiveIcon,
errorStream);
LoadEmbeddedIconTexture(
renderer,
resourceService,
Host::EditorHostPngResourceKind::MoveToolIcon,
"move_tool.png",
m_moveToolIcon,
errorStream);
LoadEmbeddedIconTexture(
renderer,
resourceService,
Host::EditorHostPngResourceKind::MoveToolActiveIcon,
"move_tool_on.png",
m_moveToolActiveIcon,
errorStream);
LoadEmbeddedIconTexture(
renderer,
resourceService,
Host::EditorHostPngResourceKind::RotateToolIcon,
"rotate_tool.png",
m_rotateToolIcon,
errorStream);
LoadEmbeddedIconTexture(
renderer,
resourceService,
Host::EditorHostPngResourceKind::RotateToolActiveIcon,
"rotate_tool_on.png",
m_rotateToolActiveIcon,
errorStream);
LoadEmbeddedIconTexture(
renderer,
resourceService,
Host::EditorHostPngResourceKind::ScaleToolIcon,
"scale_tool.png",
m_scaleToolIcon,
errorStream);
LoadEmbeddedIconTexture(
renderer,
resourceService,
Host::EditorHostPngResourceKind::ScaleToolActiveIcon,
"scale_tool_on.png",
m_scaleToolActiveIcon,
errorStream);
LoadEmbeddedIconTexture(
renderer,
resourceService,
Host::EditorHostPngResourceKind::TransformToolIcon,
"transform_tool.png",
m_transformToolIcon,
errorStream);
LoadEmbeddedIconTexture(
renderer,
resourceService,
Host::EditorHostPngResourceKind::TransformToolActiveIcon,
"transform_tool_on.png",
m_transformToolActiveIcon,
errorStream);
m_frameIndex = 0;
m_previewLoadsThisFrame = 0;
@@ -605,6 +675,16 @@ void BuiltInIcons::Shutdown() {
m_renderer->ReleaseTexture(m_playButtonIcon);
m_renderer->ReleaseTexture(m_pauseButtonIcon);
m_renderer->ReleaseTexture(m_stepButtonIcon);
m_renderer->ReleaseTexture(m_viewMoveToolIcon);
m_renderer->ReleaseTexture(m_viewMoveToolActiveIcon);
m_renderer->ReleaseTexture(m_moveToolIcon);
m_renderer->ReleaseTexture(m_moveToolActiveIcon);
m_renderer->ReleaseTexture(m_rotateToolIcon);
m_renderer->ReleaseTexture(m_rotateToolActiveIcon);
m_renderer->ReleaseTexture(m_scaleToolIcon);
m_renderer->ReleaseTexture(m_scaleToolActiveIcon);
m_renderer->ReleaseTexture(m_transformToolIcon);
m_renderer->ReleaseTexture(m_transformToolActiveIcon);
}
m_renderer = nullptr;
@@ -944,6 +1024,26 @@ const ::XCEngine::UI::UITextureHandle& BuiltInIcons::Resolve(
return m_pauseButtonIcon;
case BuiltInIconKind::StepButton:
return m_stepButtonIcon;
case BuiltInIconKind::ViewMoveTool:
return m_viewMoveToolIcon;
case BuiltInIconKind::ViewMoveToolActive:
return m_viewMoveToolActiveIcon;
case BuiltInIconKind::MoveTool:
return m_moveToolIcon;
case BuiltInIconKind::MoveToolActive:
return m_moveToolActiveIcon;
case BuiltInIconKind::RotateTool:
return m_rotateToolIcon;
case BuiltInIconKind::RotateToolActive:
return m_rotateToolActiveIcon;
case BuiltInIconKind::ScaleTool:
return m_scaleToolIcon;
case BuiltInIconKind::ScaleToolActive:
return m_scaleToolActiveIcon;
case BuiltInIconKind::TransformTool:
return m_transformToolIcon;
case BuiltInIconKind::TransformToolActive:
return m_transformToolActiveIcon;
default:
return m_folderIcon;
}