SkSurface::SkSurface(const SkImageInfo& info, const SkSurfaceProps* props) : fProps(SkSurfacePropsCopyOrDefault(props)), fWidth(info.width()), fHeight(info.height()) { SkASSERT(fWidth > 0); SkASSERT(fHeight > 0); fGenerationID = 0; }
SkSpecialImage::SkSpecialImage(const SkIRect& subset, uint32_t uniqueID, const SkSurfaceProps* props) : fProps(SkSurfacePropsCopyOrDefault(props)) , fSubset(subset) , fUniqueID(kNeedNewImageUniqueID_SpecialImage == uniqueID ? SkNextID::ImageID() : uniqueID) { }
SkSurface::SkSurface(int width, int height, const SkSurfaceProps* props) : fProps(SkSurfacePropsCopyOrDefault(props)), fWidth(width), fHeight(height) { SkASSERT(fWidth > 0); SkASSERT(fHeight > 0); fGenerationID = 0; }
SkSpecialSurface::SkSpecialSurface(const SkIRect& subset, const SkSurfaceProps* props) : fProps(SkSurfacePropsCopyOrDefault(props).flags(), kUnknown_SkPixelGeometry) , fSubset(subset) { SkASSERT(fSubset.width() > 0); SkASSERT(fSubset.height() > 0); }
// In MDB mode the reffing of the 'getLastDrawTarget' call's result allows in-progress // drawTargets to be picked up and added to by drawContexts lower in the call // stack. When this occurs with a closed drawTarget, a new one will be allocated // when the drawContext attempts to use it (via getDrawTarget). GrDrawContext::GrDrawContext(GrDrawingManager* drawingMgr, GrRenderTarget* rt, const SkSurfaceProps* surfaceProps) : fDrawingManager(drawingMgr) , fRenderTarget(rt) , fDrawTarget(SkSafeRef(rt->getLastDrawTarget())) , fTextContext(nullptr) , fSurfaceProps(SkSurfacePropsCopyOrDefault(surfaceProps)) { SkDEBUGCODE(this->validate();) }
// In MDB mode the reffing of the 'getLastDrawTarget' call's result allows in-progress // drawTargets to be picked up and added to by drawContexts lower in the call // stack. When this occurs with a closed drawTarget, a new one will be allocated // when the drawContext attempts to use it (via getDrawTarget). GrDrawContext::GrDrawContext(GrContext* context, GrDrawingManager* drawingMgr, sk_sp<GrRenderTarget> rt, const SkSurfaceProps* surfaceProps, GrAuditTrail* auditTrail, GrSingleOwner* singleOwner) : fDrawingManager(drawingMgr) , fRenderTarget(std::move(rt)) , fDrawTarget(SkSafeRef(fRenderTarget->getLastDrawTarget())) , fContext(context) , fSurfaceProps(SkSurfacePropsCopyOrDefault(surfaceProps)) , fAuditTrail(auditTrail) #ifdef SK_DEBUG , fSingleOwner(singleOwner) #endif { SkDEBUGCODE(this->validate();) }
SkSpecialSurface::SkSpecialSurface(const SkIRect& subset, const SkSurfaceProps* props) : fProps(SkSurfacePropsCopyOrDefault(props)) , fSubset(subset) { SkASSERT(fSubset.width() > 0); SkASSERT(fSubset.height() > 0); }