60 lines
1.2 KiB
C++
60 lines
1.2 KiB
C++
|
/*
|
||
|
* Copyright 2014 Google Inc.
|
||
|
*
|
||
|
* Use of this source code is governed by a BSD-style license that can be
|
||
|
* found in the LICENSE file.
|
||
|
*/
|
||
|
|
||
|
#include "gm.h"
|
||
|
#include "SkPath.h"
|
||
|
#include "SkScan.h"
|
||
|
|
||
|
#define W 800
|
||
|
#define H 800
|
||
|
|
||
|
class AnalyticAntiAliasConvexGM : public skiagm::GM {
|
||
|
public:
|
||
|
AnalyticAntiAliasConvexGM() {}
|
||
|
|
||
|
protected:
|
||
|
|
||
|
SkString onShortName() override {
|
||
|
return SkString("analytic_antialias_convex");
|
||
|
}
|
||
|
|
||
|
SkISize onISize() override {
|
||
|
return SkISize::Make(W, H);
|
||
|
}
|
||
|
|
||
|
void onDraw(SkCanvas* canvas) override {
|
||
|
SkPaint p;
|
||
|
p.setColor(SK_ColorRED);
|
||
|
p.setAntiAlias(true);
|
||
|
|
||
|
canvas->clear(0xFFFFFFFF);
|
||
|
|
||
|
canvas->save();
|
||
|
|
||
|
SkScalar y = 0;
|
||
|
|
||
|
canvas->translate(0, y);
|
||
|
canvas->rotate(1);
|
||
|
canvas->drawRectCoords(20, 20, 200, 200, p);
|
||
|
canvas->restore();
|
||
|
|
||
|
y += 200;
|
||
|
|
||
|
canvas->translate(0, y);
|
||
|
canvas->rotate(1);
|
||
|
canvas->drawRectCoords(20, 20, 20.2f, 200, p);
|
||
|
canvas->drawRectCoords(20, 200, 200, 200.1f, p);
|
||
|
canvas->drawCircle(100, 100, 30, p);
|
||
|
canvas->restore();
|
||
|
}
|
||
|
|
||
|
private:
|
||
|
typedef skiagm::GM INHERITED;
|
||
|
};
|
||
|
|
||
|
DEF_GM( return new AnalyticAntiAliasConvexGM; )
|