skia2/gm/subsetshader.cpp
Florin Malita 38aad81a54 Revert "Remove SkLights include from SkCanvas.h"
This reverts commit 9ff301bf91.

Reason for revert: need to update G3, Flutter.

Original change's description:
> Remove SkLights include from SkCanvas.h
> 
> SkLights.h pulls in a bunch of other headers and is not needed (fwdecl
> works fine).
> 
> Change-Id: Id2d7176eb3bf4609f72f46d513eebf59318f542f
> Reviewed-on: https://skia-review.googlesource.com/14904
> Reviewed-by: Mike Reed <reed@google.com>
> Commit-Queue: Florin Malita <fmalita@chromium.org>
> 

TBR=mtklein@google.com,fmalita@chromium.org,reed@google.com
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true

Change-Id: I4799ad5b31aaeaf529c8b912bbe09aa8869a5e6c
Reviewed-on: https://skia-review.googlesource.com/15107
Reviewed-by: Florin Malita <fmalita@chromium.org>
Commit-Queue: Florin Malita <fmalita@chromium.org>
2017-05-02 15:42:07 +00:00

36 lines
1.2 KiB
C++

/*
* Copyright 2016 Google Inc.
*
* Use of this source code is governed by a BSD-style license that can be
* found in the LICENSE file.
*/
#include "Resources.h"
#include "SkBitmap.h"
#include "gm.h"
DEF_SIMPLE_GM(bitmap_subset_shader, canvas, 256, 256) {
canvas->clear(SK_ColorWHITE);
SkBitmap source;
if (!GetResourceAsBitmap("color_wheel.png", &source)) {
return;
}
SkIRect left = SkIRect::MakeWH(source.width()/2, source.height());
SkIRect right = SkIRect::MakeXYWH(source.width()/2, 0,
source.width()/2, source.height());
SkBitmap leftBitmap, rightBitmap;
source.extractSubset(&leftBitmap, left);
source.extractSubset(&rightBitmap, right);
SkMatrix matrix;
matrix.setScale(0.75f, 0.75f);
matrix.preRotate(30.0f);
SkShader::TileMode tm = SkShader::kRepeat_TileMode;
SkPaint paint;
paint.setShader(SkShader::MakeBitmapShader(leftBitmap, tm, tm, &matrix));
canvas->drawRect(SkRect::MakeWH(256.0f, 128.0f), paint);
paint.setShader(SkShader::MakeBitmapShader(rightBitmap, tm, tm, &matrix));
canvas->drawRect(SkRect::MakeXYWH(0, 128.0f, 256.0f, 128.0f), paint);
}