Lines Matching defs:canvas

117 static skiagm::DrawResult do_rescale_grid(SkCanvas* canvas,
129 if (canvas->imageInfo().colorType() == kUnknown_SkColorType) {
133 const auto ii = canvas->imageInfo().makeDimensions(newSize);
136 canvas->save();
138 canvas->save();
161 canvas->drawImage(result, 0, 0);
162 canvas->translate(newSize.width() + pad, 0);
164 canvas->restore();
165 canvas->translate(0, newSize.height() + pad);
167 canvas->restore();
171 static skiagm::DrawResult do_rescale_image_grid(SkCanvas* canvas,
183 if (canvas->imageInfo().colorType() == kUnknown_SkColorType) {
188 auto dContext = GrAsDirectContext(canvas->recordingContext());
189 if (!dContext && canvas->recordingContext()) {
197 auto surface = canvas->makeSurface(surfInfo);
200 surface = canvas->makeSurface(surfInfo);
205 if (canvas->recordingContext() && canvas->recordingContext()->abandoned()) {
213 return do_rescale_grid(canvas, surface.get(), dContext, srcRect, newSize,
220 if (canvas->recordingContext() && canvas->recordingContext()->abandoned()) {
226 return do_rescale_grid(canvas, image.get(), dContext, srcRect, newSize, doYUV420,
231 DEF_SIMPLE_GM_CAN_FAIL(async_rescale_and_read_##TAG, canvas, errorMsg, 3 * W, 2 * H) { \
232 ToolUtils::draw_checkerboard(canvas, SK_ColorDKGRAY, SK_ColorLTGRAY, 25); \
233 return do_rescale_image_grid(canvas, #IMAGE_FILE, SRC_RECT, {W, H}, true, false, \
238 DEF_SIMPLE_GM_CAN_FAIL(async_rescale_and_read_yuv420_##TAG, canvas, errorMsg, 3 * W, 2 * H) { \
239 ToolUtils::draw_checkerboard(canvas, SK_ColorDKGRAY, SK_ColorLTGRAY, 25); \
240 return do_rescale_image_grid(canvas, #IMAGE_FILE, SRC_RECT, {W, H}, true, true, errorMsg); \
244 DEF_SIMPLE_GM_CAN_FAIL(async_rescale_and_read_##TAG, canvas, errorMsg, 3 * W, 2 * H) { \
245 ToolUtils::draw_checkerboard(canvas, SK_ColorDKGRAY, SK_ColorLTGRAY, 25); \
246 return do_rescale_image_grid(canvas, #IMAGE_FILE, SRC_RECT, {W, H}, false, false, \
251 DEF_SIMPLE_GM_CAN_FAIL(async_rescale_and_read_yuv420_##TAG, canvas, errorMsg, 3 * W, 2 * H) { \
252 ToolUtils::draw_checkerboard(canvas, SK_ColorDKGRAY, SK_ColorLTGRAY, 25); \
253 return do_rescale_image_grid(canvas, #IMAGE_FILE, SRC_RECT, {W, H}, true, true, errorMsg); \
278 // Exercises non-scaling YUV420. Reads from the original canvas's surface in order to
280 DEF_SIMPLE_GM_CAN_FAIL(async_yuv_no_scale, canvas, errorMsg, 400, 300) {
281 auto surface = canvas->getSurface();
298 canvas->drawImage(image.get(), 0, 0);
305 canvas->clear(SK_ColorWHITE);
306 canvas->drawImage(yuvImage.get(), 0, 0);
311 DEF_SIMPLE_GM_CAN_FAIL(async_rescale_and_read_no_bleed, canvas, errorMsg, 60, 60) {
312 if (canvas->imageInfo().colorType() == kUnknown_SkColorType) {
317 auto dContext = GrAsDirectContext(canvas->recordingContext());
318 if (!dContext && canvas->recordingContext()) {
329 auto surface = canvas->makeSurface(surfaceII);
333 if (canvas->recordingContext() && canvas->recordingContext()->abandoned()) {
344 canvas->translate(kPad, kPad);
347 result = do_rescale_grid(canvas, surface.get(), dContext, srcRect, downSize, false, errorMsg,
353 canvas->translate(0, 4 * downSize.height());
355 result = do_rescale_grid(canvas, surface.get(), dContext, srcRect, upSize, false, errorMsg,
363 DEF_SIMPLE_GM_CAN_FAIL(async_rescale_and_read_alpha_type, canvas, errorMsg, 512, 512) {
364 auto dContext = GrAsDirectContext(canvas->recordingContext());
365 if (!dContext && canvas->recordingContext()) {
412 ToolUtils::draw_checkerboard(canvas, SK_ColorWHITE, SK_ColorBLACK, 32);
415 canvas->save();
443 canvas->drawImage(result, 0, 0);
449 canvas->translate(size, 0);
451 canvas->restore();
452 canvas->translate(0, size);