Lines Matching defs:canvas
80 SkCanvasState(int32_t version, SkCanvas* canvas) {
81 SkASSERT(canvas);
83 width = canvas->getBaseLayerSize().width();
84 height = canvas->getBaseLayerSize().height();
104 SkCanvasState_v1(SkCanvas* canvas) : INHERITED(kVersion, canvas) {
109 originalCanvas = canvas;
166 SkCanvasState* SkCanvasStateUtils::CaptureCanvasState(SkCanvas* canvas) {
167 SkASSERT(canvas);
170 if (canvas->androidFramework_isClipAA()) {
174 std::unique_ptr<SkCanvasState_v1> canvasState(new SkCanvasState_v1(canvas));
176 setup_MC_state(&canvasState->mcState, canvas->getTotalMatrix(), canvas->getDeviceClipBounds());
178 // Historically, the canvas state could report multiple top-level layers because SkCanvas
180 // by the canvas' top-most device.
181 SkBaseDevice* device = canvas->topDevice();
231 static void setup_canvas_from_MC_state(const SkMCState& state, SkCanvas* canvas) {
254 canvas->clipRect(SkRect::Make(bounds));
255 canvas->concat(matrix);
279 std::unique_ptr<SkCanvas> canvas(new SkCanvas(bitmap));
282 setup_canvas_from_MC_state(layerState.mcState, canvas.get());
284 return canvas;
298 std::unique_ptr<SkCanvasStack> canvas(new SkCanvasStack(state->width, state->height));
300 // setup the matrix and clip on the n-way canvas
301 setup_canvas_from_MC_state(state_v1->mcState, canvas.get());
303 // Iterate over the layers and add them to the n-way canvas. New clients will only send one
304 // layer since unclipped layers are no longer supported, but old canvas clients may still
311 canvas->pushCanvas(std::move(canvasLayer), SkIPoint::Make(state_v1->layers[i].x,
315 return std::move(canvas);