This commit is contained in:
2026-05-15 00:46:37 +08:00
parent b4c7697e8a
commit f64e624a39
8 changed files with 190 additions and 100 deletions
+7 -1
View File
@@ -153,7 +153,8 @@ signals:
void requestMoveCamera(const QString& id, const QPointF& delta);
void requestCameraViewScaleAdjust(const QString& id, double factor);
void selectedCameraChanged(bool hasSelection, const QString& id, const QPointF& centerWorld, double viewScale);
void requestResolveBlackholeCopy(const QString& entityId, const QPoint& sourceOffsetPx);
void requestResolveBlackholeCopy(const QString& entityId, const QRect& targetWorldInBackground,
const QRect& srcWorldInBackground);
void entityDragActiveChanged(bool on);
void selectedEntityPreviewChanged(const QString& id, int depth, const QPointF& originWorld);
/// 预览模式下点击实体:anchorView 为实体质心在视图中的位置,用于摆放介绍浮层
@@ -269,6 +270,8 @@ private:
bool m_initialBgLoadFinishedEmitted = false;
QImage m_bhCopyPatch; // 黑洞「复制背景」预览:原图子区域
QPoint m_bhCopyPatchOrigin;
/// 与 m_bhCopyPatch 对应的逻辑像素范围(vips 路径可能将 patch 缩小到 maxOutput,与逻辑尺寸不同)
QSize m_bhCopyPatchLogicalSize;
bool m_bhCopyPatchValid = false;
mutable QPixmap m_bgPixmap;
mutable bool m_pixmapDirty = true;
@@ -337,6 +340,9 @@ private:
DragMode m_dragMode = DragMode::None;
QPointF m_dragStartMouseWorld;
/// 视口 LOD 下:黑洞「复制背景」预览纹理须覆盖 hole∪source;拖动时按需从磁盘重载。
void reloadBlackholeCopyVipsPatchUnionIfNeeded();
QVector<Entity> m_entities;
QVector<ToolView> m_tools;
QVector<core::Project::Camera> m_cameraOverlays;