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

Side by Side Diff: gm/shadertext2.cpp

Issue 245963010: Move SkShader::fLocalMatrix into SkShader constructor. (Closed) Base URL: https://skia.googlesource.com/skia.git@master
Patch Set: nit Created 6 years, 7 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 | « gm/shaderbounds.cpp ('k') | gm/shadertext3.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 2011 Google Inc. 2 * Copyright 2011 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 #include "gm.h" 7 #include "gm.h"
8 #include "SkCanvas.h" 8 #include "SkCanvas.h"
9 #include "SkGradientShader.h" 9 #include "SkGradientShader.h"
10 #include "SkUnitMappers.h" 10 #include "SkUnitMappers.h"
(...skipping 77 matching lines...) Expand 10 before | Expand all | Expand 10 after
88 localMatrices.append()->fMatrix.reset(); 88 localMatrices.append()->fMatrix.reset();
89 localMatrices.top().fMatrix.setPerspX(-0.007f); 89 localMatrices.top().fMatrix.setPerspX(-0.007f);
90 localMatrices.top().fMatrix.setPerspY(+0.008f); 90 localMatrices.top().fMatrix.setPerspY(+0.008f);
91 localMatrices.top().fLabel = "Persp"; 91 localMatrices.top().fLabel = "Persp";
92 92
93 static SkBitmap bmp; 93 static SkBitmap bmp;
94 if (bmp.isNull()) { 94 if (bmp.isNull()) {
95 makebm(&bmp, kPointSize / 2, kPointSize / 2); 95 makebm(&bmp, kPointSize / 2, kPointSize / 2);
96 } 96 }
97 97
98 SkAutoTUnref<SkShader> shader(SkShader::CreateBitmapShader(bmp,
99 SkShader::kMi rror_TileMode,
100 SkShader::kRe peat_TileMode));
101 SkPaint fillPaint; 98 SkPaint fillPaint;
102 fillPaint.setAntiAlias(true); 99 fillPaint.setAntiAlias(true);
103 fillPaint.setTextSize(SkIntToScalar(kPointSize)); 100 fillPaint.setTextSize(SkIntToScalar(kPointSize));
104 fillPaint.setFilterLevel(SkPaint::kLow_FilterLevel); 101 fillPaint.setFilterLevel(SkPaint::kLow_FilterLevel);
105 fillPaint.setShader(shader);
106 102
107 SkPaint outlinePaint; 103 SkPaint outlinePaint;
108 outlinePaint.setAntiAlias(true); 104 outlinePaint.setAntiAlias(true);
109 outlinePaint.setTextSize(SkIntToScalar(kPointSize)); 105 outlinePaint.setTextSize(SkIntToScalar(kPointSize));
110 outlinePaint.setStyle(SkPaint::kStroke_Style); 106 outlinePaint.setStyle(SkPaint::kStroke_Style);
111 outlinePaint.setStrokeWidth(0.f); 107 outlinePaint.setStrokeWidth(0.f);
112 108
113 SkScalar w = fillPaint.measureText(kText, kTextLen); 109 SkScalar w = fillPaint.measureText(kText, kTextLen);
114 static SkScalar kPadY = 0.5f * kPointSize; 110 static SkScalar kPadY = 0.5f * kPointSize;
115 static SkScalar kPadX = 1.5f * kPointSize; 111 static SkScalar kPadX = 1.5f * kPointSize;
(...skipping 35 matching lines...) Expand 10 before | Expand all | Expand 10 after
151 147
152 SkScalar columnH = 0; 148 SkScalar columnH = 0;
153 for (int m = 0; m < matrices.count(); ++m) { 149 for (int m = 0; m < matrices.count(); ++m) {
154 columnH = 0; 150 columnH = 0;
155 canvas->save(); 151 canvas->save();
156 canvas->drawText(matrices[m].fLabel, strlen(matrices[m].fLabel), 152 canvas->drawText(matrices[m].fLabel, strlen(matrices[m].fLabel),
157 0, labelPaint.getTextSize() - 1, labelPaint); 153 0, labelPaint.getTextSize() - 1, labelPaint);
158 canvas->translate(0, kPadY / 2 + kPointSize); 154 canvas->translate(0, kPadY / 2 + kPointSize);
159 columnH += kPadY / 2 + kPointSize; 155 columnH += kPadY / 2 + kPointSize;
160 for (int lm = 0; lm < localMatrices.count(); ++lm) { 156 for (int lm = 0; lm < localMatrices.count(); ++lm) {
161 shader->setLocalMatrix(localMatrices[lm].fMatrix); 157 paint.setShader(SkShader::CreateBitmapShader(bmp,
158 SkShader::kMirr or_TileMode,
159 SkShader::kRepe at_TileMode,
160 &localMatrices[ lm].fMatrix));
162 161
163 canvas->save(); 162 canvas->save();
164 canvas->concat(matrices[m].fMatrix); 163 canvas->concat(matrices[m].fMatrix);
165 canvas->drawText(kText, kTextLen, 0, 0, paint); 164 canvas->drawText(kText, kTextLen, 0, 0, paint);
166 canvas->drawText(kText, kTextLen, 0, 0, outlinePaint); 165 canvas->drawText(kText, kTextLen, 0, 0, outlinePaint);
167 canvas->restore(); 166 canvas->restore();
168 167
169 SkPath path; 168 SkPath path;
170 path.arcTo(SkRect::MakeXYWH(-0.1f * w, 0.f, 169 path.arcTo(SkRect::MakeXYWH(-0.1f * w, 0.f,
171 1.2f * w, 2.f * kPointSize), 170 1.2f * w, 2.f * kPointSize),
(...skipping 38 matching lines...) Expand 10 before | Expand all | Expand 10 after
210 209
211 private: 210 private:
212 typedef GM INHERITED; 211 typedef GM INHERITED;
213 }; 212 };
214 213
215 /////////////////////////////////////////////////////////////////////////////// 214 ///////////////////////////////////////////////////////////////////////////////
216 215
217 static GM* MyFactory(void*) { return new ShaderText2GM; } 216 static GM* MyFactory(void*) { return new ShaderText2GM; }
218 static GMRegistry reg(MyFactory); 217 static GMRegistry reg(MyFactory);
219 } 218 }
OLDNEW
« no previous file with comments | « gm/shaderbounds.cpp ('k') | gm/shadertext3.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698