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

Side by Side Diff: gm/pictureshader.cpp

Issue 437393003: Explicit tile bounds for SkPictureShader (Closed) Base URL: https://skia.googlesource.com/skia.git@master
Patch Set: Rebased. Created 6 years, 4 months 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 unified diff | Download patch
« no previous file with comments | « no previous file | gm/pictureshadertile.cpp » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 /* 1 /*
2 * Copyright 2014 Google Inc. 2 * Copyright 2014 Google Inc.
3 * 3 *
4 * Use of this source code is governed by a BSD-style license that can be 4 * Use of this source code is governed by a BSD-style license that can be
5 * found in the LICENSE file. 5 * found in the LICENSE file.
6 */ 6 */
7 7
8 #include "gm.h" 8 #include "gm.h"
9 9
10 #include "SkBitmap.h" 10 #include "SkBitmap.h"
(...skipping 117 matching lines...) Expand 10 before | Expand all | Expand 10 after
128 128
129 canvas->save(); 129 canvas->save();
130 canvas->concat(matrix); 130 canvas->concat(matrix);
131 canvas->drawRect(SkRect::MakeWH(fSceneSize, fSceneSize), paint); 131 canvas->drawRect(SkRect::MakeWH(fSceneSize, fSceneSize), paint);
132 canvas->drawRect(SkRect::MakeXYWH(fSceneSize * 1.1f, 0, fSceneSize, fSce neSize), paint); 132 canvas->drawRect(SkRect::MakeXYWH(fSceneSize * 1.1f, 0, fSceneSize, fSce neSize), paint);
133 133
134 SkAutoTUnref<SkShader> pictureShader(SkShader::CreatePictureShader( 134 SkAutoTUnref<SkShader> pictureShader(SkShader::CreatePictureShader(
135 fPicture, 135 fPicture,
136 kTileConfigs[tileMode].tmx, 136 kTileConfigs[tileMode].tmx,
137 kTileConfigs[tileMode].tmy, 137 kTileConfigs[tileMode].tmy,
138 &localMatrix)); 138 &localMatrix,
139 NULL));
139 paint.setShader(pictureShader.get()); 140 paint.setShader(pictureShader.get());
140 canvas->drawRect(SkRect::MakeWH(fSceneSize, fSceneSize), paint); 141 canvas->drawRect(SkRect::MakeWH(fSceneSize, fSceneSize), paint);
141 142
142 canvas->translate(fSceneSize * 1.1f, 0); 143 canvas->translate(fSceneSize * 1.1f, 0);
143 144
144 SkAutoTUnref<SkShader> bitmapShader(SkShader::CreateBitmapShader( 145 SkAutoTUnref<SkShader> bitmapShader(SkShader::CreateBitmapShader(
145 fBitmap, 146 fBitmap,
146 kTileConfigs[tileMode].tmx, 147 kTileConfigs[tileMode].tmx,
147 kTileConfigs[tileMode].tmy, 148 kTileConfigs[tileMode].tmy,
148 &localMatrix)); 149 &localMatrix));
149 paint.setShader(bitmapShader.get()); 150 paint.setShader(bitmapShader.get());
150 canvas->drawRect(SkRect::MakeWH(fSceneSize, fSceneSize), paint); 151 canvas->drawRect(SkRect::MakeWH(fSceneSize, fSceneSize), paint);
151 152
152 canvas->restore(); 153 canvas->restore();
153 } 154 }
154 155
155 SkScalar fTileSize; 156 SkScalar fTileSize;
156 SkScalar fSceneSize; 157 SkScalar fSceneSize;
157 158
158 SkAutoTUnref<SkPicture> fPicture; 159 SkAutoTUnref<SkPicture> fPicture;
159 SkBitmap fBitmap; 160 SkBitmap fBitmap;
160 161
161 typedef GM INHERITED; 162 typedef GM INHERITED;
162 }; 163 };
163 164
164 DEF_GM( return SkNEW_ARGS(PictureShaderGM, (50, 100)); ) 165 DEF_GM( return SkNEW_ARGS(PictureShaderGM, (50, 100)); )
OLDNEW
« no previous file with comments | « no previous file | gm/pictureshadertile.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698