33 lines
		
	
	
		
			1.3 KiB
		
	
	
	
		
			C++
		
	
	
	
			
		
		
	
	
			33 lines
		
	
	
		
			1.3 KiB
		
	
	
	
		
			C++
		
	
	
	
// 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=635d54b4716e226e93dfbc21ad40e77d
 | 
						|
REG_FIDDLE(Canvas_drawPoints, 256, 200, false, 0) {
 | 
						|
void draw(SkCanvas* canvas) {
 | 
						|
    SkPaint paint;
 | 
						|
    paint.setAntiAlias(true);
 | 
						|
    paint.setStyle(SkPaint::kStroke_Style);
 | 
						|
    paint.setStrokeWidth(10);
 | 
						|
    paint.setColor(0x80349a45);
 | 
						|
    const SkPoint points[] = {{32, 16}, {48, 48}, {16, 32}};
 | 
						|
    const SkPaint::Join join[] = { SkPaint::kRound_Join,
 | 
						|
                                   SkPaint::kMiter_Join,
 | 
						|
                                   SkPaint::kBevel_Join };
 | 
						|
    int joinIndex = 0;
 | 
						|
    SkPath path;
 | 
						|
    path.addPoly(points, 3, false);
 | 
						|
    for (const auto cap : { SkPaint::kRound_Cap, SkPaint::kSquare_Cap, SkPaint::kButt_Cap } ) {
 | 
						|
        paint.setStrokeCap(cap);
 | 
						|
        paint.setStrokeJoin(join[joinIndex++]);
 | 
						|
        for (const auto mode : { SkCanvas::kPoints_PointMode,
 | 
						|
                                 SkCanvas::kLines_PointMode,
 | 
						|
                                 SkCanvas::kPolygon_PointMode } ) {
 | 
						|
            canvas->drawPoints(mode, 3, points, paint);
 | 
						|
            canvas->translate(64, 0);
 | 
						|
        }
 | 
						|
        canvas->drawPath(path, paint);
 | 
						|
        canvas->translate(-192, 64);
 | 
						|
    }
 | 
						|
}
 | 
						|
}  // END FIDDLE
 |