aboutsummaryrefslogtreecommitdiffhomepage
path: root/gm/imagemagnifier.cpp
diff options
context:
space:
mode:
authorGravatar Brian Osman <brianosman@google.com>2016-12-20 15:54:11 -0500
committerGravatar Skia Commit-Bot <skia-commit-bot@chromium.org>2016-12-20 21:34:12 +0000
commitb44bb31137787b9dcc530d9061e3a08cf261da23 (patch)
tree1a17b6a27cc65f208334bd22dfd2fcffdc907272 /gm/imagemagnifier.cpp
parent5ec9def2dd7bba572398ff2aa9361fbbb3b478ed (diff)
Add color space xform to GrMagnifierEffect
Tag helper image as sRGB in magnifier image filter GM, so we can see this working. BUG=skia: Change-Id: I8057dc332d09e1d508ad8462aaf0749b307f480f Reviewed-on: https://skia-review.googlesource.com/6347 Reviewed-by: Brian Salomon <bsalomon@google.com> Commit-Queue: Brian Osman <brianosman@google.com>
Diffstat (limited to 'gm/imagemagnifier.cpp')
-rw-r--r--gm/imagemagnifier.cpp21
1 files changed, 12 insertions, 9 deletions
diff --git a/gm/imagemagnifier.cpp b/gm/imagemagnifier.cpp
index 88a6d10d96..888bb5d9ab 100644
--- a/gm/imagemagnifier.cpp
+++ b/gm/imagemagnifier.cpp
@@ -8,6 +8,7 @@
#include "gm.h"
#include "SkImageSource.h"
#include "SkMagnifierImageFilter.h"
+#include "SkPixelRef.h"
#include "SkRandom.h"
#include "SkSurface.h"
@@ -43,23 +44,25 @@ DEF_SIMPLE_GM_BG(imagemagnifier, canvas, WIDTH, HEIGHT, SK_ColorBLACK) {
#define WIDTH_HEIGHT 256
static sk_sp<SkImage> make_img() {
- const SkImageInfo info = SkImageInfo::MakeN32Premul(WIDTH_HEIGHT, WIDTH_HEIGHT);
+ SkBitmap bitmap;
+ bitmap.allocN32Pixels(WIDTH_HEIGHT, WIDTH_HEIGHT);
+ SkCanvas canvas(bitmap);
- sk_sp<SkSurface> surf(SkSurface::MakeRaster(info));
-
- SkCanvas* canvas = surf->getCanvas();
-
- canvas->clear(0x0);
+ canvas.clear(0x0);
SkPaint paint;
paint.setColor(SK_ColorBLUE);
for (float pos = 0; pos < WIDTH_HEIGHT; pos += 16) {
- canvas->drawLine(0, pos, SkIntToScalar(WIDTH_HEIGHT), pos, paint);
- canvas->drawLine(pos, 0, pos, SkIntToScalar(WIDTH_HEIGHT), paint);
+ canvas.drawLine(0, pos, SkIntToScalar(WIDTH_HEIGHT), pos, paint);
+ canvas.drawLine(pos, 0, pos, SkIntToScalar(WIDTH_HEIGHT), paint);
}
- return surf->makeImageSnapshot();
+ SkBitmap result;
+ result.setInfo(SkImageInfo::MakeS32(WIDTH_HEIGHT, WIDTH_HEIGHT, kPremul_SkAlphaType));
+ result.setPixelRef(sk_ref_sp(bitmap.pixelRef()), 0, 0);
+
+ return SkImage::MakeFromBitmap(result);
}
DEF_SIMPLE_GM_BG(imagemagnifier_cropped, canvas, WIDTH_HEIGHT, WIDTH_HEIGHT, SK_ColorBLACK) {