Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(872)

Unified Diff: samplecode/SampleFilterQuality.cpp

Issue 1410243009: tweaks for nov demo (Closed) Base URL: https://skia.googlesource.com/skia.git@master
Patch Set: Created 5 years, 1 month ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « resources/nov-talk-sequence.txt ('k') | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: samplecode/SampleFilterQuality.cpp
diff --git a/samplecode/SampleFilterQuality.cpp b/samplecode/SampleFilterQuality.cpp
index f5558d84f904f84a067beecf0b9f8521956e09ac..1213b75b082d6e80f938b8d9cb0b8def5ea60d70 100644
--- a/samplecode/SampleFilterQuality.cpp
+++ b/samplecode/SampleFilterQuality.cpp
@@ -12,6 +12,8 @@
#include "SkAnimTimer.h"
#include "SkCanvas.h"
#include "SkInterpolator.h"
+#include "SkGradientShader.h"
+#include "SkData.h"
#include "SkPath.h"
#include "SkSurface.h"
#include "SkRandom.h"
@@ -25,6 +27,27 @@ static SkSurface* make_surface(SkCanvas* canvas, const SkImageInfo& info) {
return surface;
}
+static SkShader* make_shader(const SkRect& bounds) {
+#if 0
+ const SkPoint pts[] = {
+ { bounds.left(), bounds.top() },
+ { bounds.right(), bounds.bottom() },
+ };
+ const SkColor colors[] = {
+ SK_ColorRED, SK_ColorGREEN, SK_ColorBLUE, SK_ColorBLACK,
+ SK_ColorCYAN, SK_ColorMAGENTA, SK_ColorYELLOW,
+ };
+ return SkGradientShader::CreateLinear(pts,
+ colors, nullptr, SK_ARRAY_COUNT(colors),
+ SkShader::kClamp_TileMode);
+#else
+ SkString resourcePath = GetResourcePath("mandrill_128.png");
+ SkAutoTUnref<SkData> data(SkData::NewFromFileName(resourcePath.c_str()));
+ SkAutoTUnref<SkImage> image(SkImage::NewFromEncoded(data));
+ return image->newShader(SkShader::kClamp_TileMode, SkShader::kClamp_TileMode);
+#endif
+}
+
#define N 128
#define ANGLE_DELTA 3
#define SCALE_DELTA (SK_Scalar1 / 32)
@@ -42,12 +65,15 @@ static SkImage* make_image() {
path.addRect(SkRect::MakeWH(N, N/2));
path.moveTo(0, 0); path.lineTo(N, 0); path.lineTo(0, N); path.close();
- canvas->drawPath(path, SkPaint());
+ SkPaint paint;
+ paint.setShader(make_shader(SkRect::MakeWH(N, N)))->unref();
+
+ canvas->drawPath(path, paint);
return surface->newImageSnapshot();
}
static SkImage* zoom_up(SkSurface* origSurf, SkImage* orig) {
- const SkScalar S = 8; // amount to scale up
+ const SkScalar S = 16; // amount to scale up
const int D = 2; // dimension scaling for the offscreen
// since we only view the center, don't need to produce the entire thing
« no previous file with comments | « resources/nov-talk-sequence.txt ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698