This commit is contained in:
2026-05-14 22:12:40 +08:00
parent 334845d732
commit 3ba8ba80b3
6 changed files with 252 additions and 69 deletions
+7 -1
View File
@@ -209,7 +209,13 @@ private:
void beginPresentationZoomRestore();
void presentationComputeZoomTarget(int entityIndex, QPointF* outPan, qreal* outScale) const;
private:
void syncFullBackgroundImageFromDiskIfDirty();
void rebuildFullBackgroundCutoutIfDirty();
QVector<QVector<QPointF>> visibleBlackholeCutoutPolysWorld() const;
void applyBlackHolesWorldToCrop(QImage& cropPremul, const QRect& cropWorld) const;
/// 与画布黑洞一致:优先整图 cutout 缓存,否则区域解码后再填黑。
bool loadRgbCropForEntitySegmentStroke(const QRectF& polyBrWorld, QRect& outCropWorld, QImage& outCropRgb);
struct Entity {
QString id;
QRectF rect; // world 坐标(用于拖拽与约束)