1cb93a386Sopenharmony_ci#if 0 // Disabled until updated to use current API. 2cb93a386Sopenharmony_ci// Copyright 2019 Google LLC. 3cb93a386Sopenharmony_ci// Use of this source code is governed by a BSD-style license that can be found in the LICENSE file. 4cb93a386Sopenharmony_ci#include "tools/fiddle/examples.h" 5cb93a386Sopenharmony_ci// HASH=6d6f2082fcf59d9f02bfb1758b87db69 6cb93a386Sopenharmony_ciREG_FIDDLE(Matrix_mapRadius, 256, 256, false, 0) { 7cb93a386Sopenharmony_civoid draw(SkCanvas* canvas) { 8cb93a386Sopenharmony_ci SkPaint paint; 9cb93a386Sopenharmony_ci paint.setAntiAlias(true); 10cb93a386Sopenharmony_ci SkMatrix matrix; 11cb93a386Sopenharmony_ci const SkPoint center = {108, 93}; 12cb93a386Sopenharmony_ci matrix.setScale(2, .5f, center.fX, center.fY); 13cb93a386Sopenharmony_ci matrix.postRotate(45, center.fX, center.fY); 14cb93a386Sopenharmony_ci const SkScalar circleRadius = 50; 15cb93a386Sopenharmony_ci SkScalar mappedRadius = matrix.mapRadius(circleRadius); 16cb93a386Sopenharmony_ci SkVector minorAxis, majorAxis; 17cb93a386Sopenharmony_ci matrix.mapVector(0, circleRadius, &minorAxis); 18cb93a386Sopenharmony_ci matrix.mapVector(circleRadius, 0, &majorAxis); 19cb93a386Sopenharmony_ci SkString mappedArea; 20cb93a386Sopenharmony_ci mappedArea.printf("area = %g", mappedRadius * mappedRadius); 21cb93a386Sopenharmony_ci canvas->drawString(mappedArea, 145, 250, paint); 22cb93a386Sopenharmony_ci canvas->drawString("mappedRadius", center.fX + mappedRadius + 3, center.fY, paint); 23cb93a386Sopenharmony_ci paint.setColor(SK_ColorRED); 24cb93a386Sopenharmony_ci SkString axArea; 25cb93a386Sopenharmony_ci axArea.printf("area = %g", majorAxis.length() * minorAxis.length()); 26cb93a386Sopenharmony_ci paint.setStyle(SkPaint::kFill_Style); 27cb93a386Sopenharmony_ci canvas->drawString(axArea, 15, 250, paint); 28cb93a386Sopenharmony_ci paint.setStyle(SkPaint::kStroke_Style); 29cb93a386Sopenharmony_ci canvas->drawRect({10, 200, 10 + majorAxis.length(), 200 + minorAxis.length()}, paint); 30cb93a386Sopenharmony_ci paint.setColor(SK_ColorBLACK); 31cb93a386Sopenharmony_ci canvas->drawLine(center.fX, center.fY, center.fX + mappedRadius, center.fY, paint); 32cb93a386Sopenharmony_ci canvas->drawLine(center.fX, center.fY, center.fX, center.fY + mappedRadius, paint); 33cb93a386Sopenharmony_ci canvas->drawRect({140, 180, 140 + mappedRadius, 180 + mappedRadius}, paint); 34cb93a386Sopenharmony_ci canvas->concat(matrix); 35cb93a386Sopenharmony_ci canvas->drawCircle(center.fX, center.fY, circleRadius, paint); 36cb93a386Sopenharmony_ci paint.setColor(SK_ColorRED); 37cb93a386Sopenharmony_ci canvas->drawLine(center.fX, center.fY, center.fX + circleRadius, center.fY, paint); 38cb93a386Sopenharmony_ci canvas->drawLine(center.fX, center.fY, center.fX, center.fY + circleRadius, paint); 39cb93a386Sopenharmony_ci} 40cb93a386Sopenharmony_ci} // END FIDDLE 41cb93a386Sopenharmony_ci#endif // Disabled until updated to use current API. 42