35 lines
		
	
	
		
			1.4 KiB
		
	
	
	
		
			C++
		
	
	
	
			
		
		
	
	
			35 lines
		
	
	
		
			1.4 KiB
		
	
	
	
		
			C++
		
	
	
	
| #if 0  // Disabled until updated to use current API.
 | |
| // Copyright 2019 Google LLC.
 | |
| // Use of this source code is governed by a BSD-style license that can be found in the LICENSE file.
 | |
| #include "tools/fiddle/examples.h"
 | |
| // HASH=c851d1313e8909aaea4f0591699fdb7b
 | |
| REG_FIDDLE(Matrix_setPolyToPoly, 256, 256, false, 0) {
 | |
| void draw(SkCanvas* canvas) {
 | |
|     const SkPoint src[] = { { 0, 0}, {30,   0}, {30, -30}, { 0, -30} };
 | |
|     const SkPoint dst[] = { {50, 0}, {80, -10}, {90, -30}, {60, -40} };
 | |
|     SkPaint blackPaint;
 | |
|     blackPaint.setAntiAlias(true);
 | |
|     blackPaint.setTextSize(42);
 | |
|     SkPaint redPaint = blackPaint;
 | |
|     redPaint.setColor(SK_ColorRED);
 | |
|     for (int count : { 1, 2, 3, 4 } ) {
 | |
|         canvas->translate(35, 55);
 | |
|         for (int index = 0; index < count; ++index) {
 | |
|             canvas->drawCircle(src[index], 3, blackPaint);
 | |
|             canvas->drawCircle(dst[index], 3, blackPaint);
 | |
|             if (index > 0) {
 | |
|                 canvas->drawLine(src[index], src[index - 1], blackPaint);
 | |
|                 canvas->drawLine(dst[index], dst[index - 1], blackPaint);
 | |
|             }
 | |
|         }
 | |
|         SkMatrix matrix;
 | |
|         matrix.setPolyToPoly(src, dst, count);
 | |
|         canvas->drawString("A", src[0].fX, src[0].fY, redPaint);
 | |
|         SkAutoCanvasRestore acr(canvas, true);
 | |
|         canvas->concat(matrix);
 | |
|         canvas->drawString("A", src[0].fX, src[0].fY, redPaint);
 | |
|     }
 | |
| }
 | |
| }  // END FIDDLE
 | |
| #endif  // Disabled until updated to use current API.
 |