80 {
81 const LayerCmds& layer = layerMap.at(
fLayerId);
82 LayerState* layerState = &(*layerStateMap)[
fLayerId];
83 if (!layerState->fSurface) {
84 layerState->fCurrCmd = 0;
85 layerState->fSurface = MSKPPlayer::MakeSurfaceForLayer(layer, canvas);
86 if (!layerState->fSurface) {
87 SkDebugf(
"Couldn't create surface for layer");
88 return;
89 }
90 }
91 size_t cmd = layerState->fCurrCmd;
93
95 }
96 SkCanvas* layerCanvas = layerState->fSurface->getCanvas();
97
98
100 if (layer.fCmds[checkCmd]->isFullRedraw(layerCanvas)) {
102 break;
103 }
104 }
106 if (
cmd == 0 || layer.fCmds[
cmd]->isFullRedraw(layerCanvas)) {
108 }
109 layer.fCmds[
cmd]->draw(layerCanvas, layerMap, layerStateMap);
110 }
113 canvas->
drawImageRect(layerState->fSurface->makeImageSnapshot(),
119}
constexpr SkColor SK_ColorTRANSPARENT
void SK_SPI SkDebugf(const char format[],...) SK_PRINTF_LIKE(1
void drawImageRect(const SkImage *, const SkRect &src, const SkRect &dst, const SkSamplingOptions &, const SkPaint *, SrcRectConstraint)
SkCanvas::SrcRectConstraint fConstraint
SkTLazy< SkPaint > fPaint
SkSamplingOptions fSampling