void setOriginalLayer(const LayerConstRef &layer) { original = layer; auto originalRectLayer = dynamicSPCast<const AbstractRectLayer>(layer); if (originalRectLayer) { rectLayer = staticSPCast<AbstractRectLayer>(layer->clone()); originalRectPos = rectLayer->rect().topLeft(); } auto rasterLayer = dynamicSPCast<const RasterLayer>(layer); if (rasterLayer) { rasterBoundingRect = rasterLayer->surface().boundingRect(); rasterOffset = QPoint(); } }