1cb93a386Sopenharmony_ci// Copyright 2019 Google LLC. 2cb93a386Sopenharmony_ci// Use of this source code is governed by a BSD-style license that can be found in the LICENSE file. 3cb93a386Sopenharmony_ci#include "tools/fiddle/examples.h" 4cb93a386Sopenharmony_ci// HASH=d84fce292d86c7d9ef37ae2d179c03c7 5cb93a386Sopenharmony_ciREG_FIDDLE(Point_normalize_2, 256, 256, false, 0) { 6cb93a386Sopenharmony_civoid draw(SkCanvas* canvas) { 7cb93a386Sopenharmony_ci SkPaint paint; 8cb93a386Sopenharmony_ci paint.setAntiAlias(true); 9cb93a386Sopenharmony_ci const SkPoint lines[][2] = { {{ 30, 110 }, { 190, 30 }}, 10cb93a386Sopenharmony_ci {{ 120, 140 }, { 30, 220 }}}; 11cb93a386Sopenharmony_ci for (auto line : lines) { 12cb93a386Sopenharmony_ci canvas->drawLine(line[0], line[1], paint); 13cb93a386Sopenharmony_ci SkVector vector = line[1] - line[0]; 14cb93a386Sopenharmony_ci if (vector.normalize()) { 15cb93a386Sopenharmony_ci SkVector rotate90 = { -vector.fY, vector.fX }; 16cb93a386Sopenharmony_ci rotate90 *= 10.f; 17cb93a386Sopenharmony_ci canvas->drawLine(line[0] - rotate90, line[0] + rotate90, paint); 18cb93a386Sopenharmony_ci canvas->drawLine(line[1] - rotate90, line[1] + rotate90, paint); 19cb93a386Sopenharmony_ci } 20cb93a386Sopenharmony_ci } 21cb93a386Sopenharmony_ci} 22cb93a386Sopenharmony_ci} // END FIDDLE 23