增加摄像机
This commit is contained in:
@@ -71,6 +71,13 @@ public:
|
||||
// 预览呈现:完整背景 + 全部实体(忽略显隐开关),隐藏编辑辅助元素,仅可平移/缩放查看
|
||||
void setPresentationPreviewMode(bool on);
|
||||
bool presentationPreviewMode() const { return m_presentationPreviewMode; }
|
||||
/// 预览展示由活动摄像机驱动时禁止画布平移/滚轮缩放,避免与镜头关键帧冲突
|
||||
void setPreviewCameraViewLocked(bool on);
|
||||
bool previewCameraViewLocked() const { return m_previewCameraViewLocked; }
|
||||
/// 将视口对齐到摄像机;viewScale 为相对参考分辨率 1600×900 的像素/世界比(见 Project::Camera)
|
||||
void applyCameraViewport(const QPointF& centerWorld, double viewScale);
|
||||
QPointF viewCenterWorld() const;
|
||||
double viewWorldScale() const { return m_scale; }
|
||||
/// 退出「点击实体放大」状态并平滑回到进入前的视图(预览模式)
|
||||
void clearPresentationEntityFocus();
|
||||
|
||||
@@ -78,7 +85,13 @@ public:
|
||||
const QVector<double>& opacities01,
|
||||
const QString& projectDirAbs);
|
||||
void setTools(const QVector<core::Project::Tool>& tools, const QVector<double>& opacities01);
|
||||
void setCameraOverlays(const QVector<core::Project::Camera>& cameras,
|
||||
const QString& selectedId,
|
||||
const QSet<QString>& tempHiddenCameraIds);
|
||||
void selectCameraById(const QString& id);
|
||||
void clearCameraSelection();
|
||||
void setTempHiddenIds(const QSet<QString>& entityIds, const QSet<QString>& toolIds);
|
||||
void setTempHiddenCameraIds(const QSet<QString>& cameraIds);
|
||||
void setCurrentFrame(int frame);
|
||||
int currentFrame() const { return m_currentFrame; }
|
||||
|
||||
@@ -122,6 +135,9 @@ signals:
|
||||
void requestFinalizePendingEntity(const QVector<QPointF>& polyWorld);
|
||||
void requestMoveEntity(const QString& id, const QPointF& delta);
|
||||
void requestMoveTool(const QString& id, const QPointF& delta);
|
||||
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 entityDragActiveChanged(bool on);
|
||||
void selectedEntityPreviewChanged(const QString& id, int depth, const QPointF& originWorld);
|
||||
@@ -255,6 +271,14 @@ private:
|
||||
|
||||
QVector<Entity> m_entities;
|
||||
QVector<ToolView> m_tools;
|
||||
QVector<core::Project::Camera> m_cameraOverlays;
|
||||
QSet<QString> m_tempHiddenCameraIds;
|
||||
QString m_selectedCameraId;
|
||||
int m_selectedCameraIndex = -1;
|
||||
bool m_draggingCamera = false;
|
||||
QPointF m_cameraDragOffsetWorld;
|
||||
QPointF m_cameraDragStartCenterWorld;
|
||||
bool m_previewCameraViewLocked = false;
|
||||
QSet<QString> m_tempHiddenEntityIds;
|
||||
QSet<QString> m_tempHiddenToolIds;
|
||||
QVector<QPointF> m_strokeWorld;
|
||||
|
||||
Reference in New Issue
Block a user