aboutsummaryrefslogtreecommitdiffhomepage
path: root/gm
diff options
context:
space:
mode:
authorGravatar mtklein <mtklein@chromium.org>2016-09-01 11:24:54 -0700
committerGravatar Commit bot <commit-bot@chromium.org>2016-09-01 11:24:54 -0700
commitdbfd7ab10883f173f5c1b653a233e18dc6142002 (patch)
treea69ab168400f1d270d6047e1d8edf956cb6e5442 /gm
parent0b629ec73210161a6ba869a44a3c4ffd5a27dab9 (diff)
Replace a lot of 'static const' with 'constexpr' or 'const'.
'static const' means, there must be at most one of these, and initialize it at compile time if possible or runtime if necessary. This leads to unexpected code execution, and TSAN* will complain about races on the guard variables. Generally 'constexpr' or 'const' are better choices. Neither can cause races: they're either intialized at compile time (constexpr) or intialized each time independently (const). This CL prefers constexpr where possible, and uses const where not. It even prefers constexpr over const where they don't make a difference... I want to have lots of examples of constexpr for people to see and mimic. The scoped-to-class static has nothing to do with any of this, and is not changed. * Not yet on the bots, which use an older TSAN. BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2300623005 Review-Url: https://codereview.chromium.org/2300623005
Diffstat (limited to 'gm')
-rw-r--r--gm/aarectmodes.cpp4
-rw-r--r--gm/aaxfermodes.cpp10
-rw-r--r--gm/alphagradients.cpp2
-rw-r--r--gm/anisotropic.cpp12
-rw-r--r--gm/arithmode.cpp4
-rw-r--r--gm/beziereffects.cpp20
-rwxr-xr-xgm/beziers.cpp2
-rw-r--r--gm/bigblurs.cpp14
-rw-r--r--gm/bigrrectaaeffect.cpp8
-rw-r--r--gm/bigtileimagefilter.cpp6
-rw-r--r--gm/bitmapcopy.cpp2
-rw-r--r--gm/bitmappremul.cpp6
-rw-r--r--gm/bitmaprect.cpp6
-rw-r--r--gm/bleed.cpp60
-rw-r--r--gm/blurcircles.cpp2
-rw-r--r--gm/blurcircles2.cpp12
-rw-r--r--gm/blurquickreject.cpp8
-rw-r--r--gm/blurrect.cpp2
-rw-r--r--gm/blurredclippedcircle.cpp6
-rw-r--r--gm/blurs.cpp2
-rw-r--r--gm/bmpfilterqualityrepeat.cpp4
-rw-r--r--gm/circulararcs.cpp26
-rw-r--r--gm/clippedbitmapshaders.cpp4
-rw-r--r--gm/colorcube.cpp4
-rw-r--r--gm/coloremoji.cpp10
-rw-r--r--gm/complexclip.cpp8
-rw-r--r--gm/complexclip2.cpp8
-rw-r--r--gm/complexclip3.cpp4
-rw-r--r--gm/composeshader.cpp2
-rw-r--r--gm/constcolorprocessor.cpp17
-rw-r--r--gm/convex_all_line_paths.cpp12
-rw-r--r--gm/convexpolyclip.cpp8
-rw-r--r--gm/convexpolyeffect.cpp4
-rw-r--r--gm/cubicpaths.cpp12
-rw-r--r--gm/dashcircle.cpp2
-rw-r--r--gm/dashing.cpp14
-rw-r--r--gm/dcshader.cpp6
-rw-r--r--gm/degeneratesegments.cpp10
-rw-r--r--gm/distantclip.cpp4
-rw-r--r--gm/drawatlascolor.cpp10
-rw-r--r--gm/drawbitmaprect.cpp10
-rw-r--r--gm/drawlooper.cpp2
-rw-r--r--gm/drawminibitmaprect.cpp14
-rw-r--r--gm/dstreadshuffle.cpp8
-rw-r--r--gm/emptypath.cpp4
-rw-r--r--gm/filterfastbounds.cpp12
-rw-r--r--gm/fontmgr.cpp2
-rw-r--r--gm/gammacolorfilter.cpp6
-rw-r--r--gm/glyph_pos.cpp4
-rw-r--r--gm/glyph_pos_align.cpp8
-rw-r--r--gm/gm.cpp2
-rw-r--r--gm/gradientDirtyLaundry.cpp8
-rw-r--r--gm/gradient_matrix.cpp18
-rw-r--r--gm/gradients.cpp16
-rw-r--r--gm/gradients_2pt_conical.cpp22
-rw-r--r--gm/gradients_no_texture.cpp12
-rw-r--r--gm/hairlines.cpp10
-rw-r--r--gm/hairmodes.cpp4
-rw-r--r--gm/image.cpp26
-rw-r--r--gm/imageblur2.cpp2
-rw-r--r--gm/imagefromyuvtextures.cpp6
-rw-r--r--gm/imagemagnifier.cpp2
-rw-r--r--gm/imagescalealigned.cpp4
-rw-r--r--gm/imagesource2.cpp4
-rw-r--r--gm/imagetoyuvplanes.cpp10
-rw-r--r--gm/inversepaths.cpp2
-rw-r--r--gm/largeglyphblur.cpp2
-rw-r--r--gm/lcdblendmodes.cpp8
-rw-r--r--gm/lcdoverlap.cpp4
-rw-r--r--gm/lighting.cpp4
-rw-r--r--gm/lightingshader.cpp6
-rw-r--r--gm/lightingshader2.cpp2
-rw-r--r--gm/linepaths.cpp6
-rw-r--r--gm/megalooper.cpp12
-rw-r--r--gm/mixedtextblobs.cpp4
-rw-r--r--gm/modecolorfilters.cpp10
-rw-r--r--gm/multipicturedraw.cpp46
-rw-r--r--gm/nested.cpp4
-rw-r--r--gm/nonclosedpaths.cpp10
-rw-r--r--gm/occludedrrectblur.cpp32
-rw-r--r--gm/patchgrid.cpp4
-rw-r--r--gm/pathcontourstart.cpp4
-rw-r--r--gm/patheffects.cpp6
-rw-r--r--gm/pathfill.cpp4
-rw-r--r--gm/perspshaders.cpp10
-rw-r--r--gm/pictureimagegenerator.cpp8
-rw-r--r--gm/pictureshadertile.cpp8
-rw-r--r--gm/pixelsnap.cpp12
-rw-r--r--gm/polygons.cpp16
-rw-r--r--gm/quadpaths.cpp12
-rw-r--r--gm/recordopts.cpp4
-rw-r--r--gm/rectangletexture.cpp12
-rw-r--r--gm/rrect.cpp2
-rw-r--r--gm/rrectclipdrawpaint.cpp6
-rw-r--r--gm/rrects.cpp22
-rw-r--r--gm/samplerstress.cpp4
-rw-r--r--gm/shadertext.cpp16
-rw-r--r--gm/shadertext2.cpp22
-rw-r--r--gm/shadertext3.cpp18
-rw-r--r--gm/shadowmaps.cpp4
-rw-r--r--gm/shadows.cpp2
-rw-r--r--gm/simpleaaclip.cpp2
-rw-r--r--gm/smallpaths.cpp8
-rw-r--r--gm/stringart.cpp10
-rw-r--r--gm/stroke_rect_shader.cpp10
-rw-r--r--gm/strokedlines.cpp12
-rw-r--r--gm/strokerect.cpp8
-rw-r--r--gm/strokerects.cpp4
-rw-r--r--gm/strokes.cpp4
-rw-r--r--gm/tallstretchedbitmaps.cpp12
-rw-r--r--gm/texdata.cpp16
-rw-r--r--gm/textblobblockreordering.cpp4
-rw-r--r--gm/textblobcolortrans.cpp4
-rw-r--r--gm/textblobgeometrychange.cpp4
-rw-r--r--gm/textbloblooper.cpp4
-rw-r--r--gm/textblobmixedsizes.cpp12
-rw-r--r--gm/textblobrandomfont.cpp4
-rw-r--r--gm/textblobshader.cpp4
-rw-r--r--gm/textblobtransforms.cpp4
-rw-r--r--gm/textblobuseaftergpufree.cpp4
-rw-r--r--gm/texteffects.cpp2
-rw-r--r--gm/texturedomaineffect.cpp12
-rw-r--r--gm/thinrects.cpp6
-rw-r--r--gm/thinstrokedrects.cpp6
-rw-r--r--gm/tilemodes.cpp21
-rw-r--r--gm/tilemodes_scaled.cpp21
-rw-r--r--gm/typeface.cpp4
-rw-r--r--gm/variedtext.cpp10
-rw-r--r--gm/vertices.cpp2
-rw-r--r--gm/verttext.cpp12
-rw-r--r--gm/xfermodeimagefilter.cpp2
-rw-r--r--gm/xfermodes2.cpp2
-rw-r--r--gm/xfermodes3.cpp8
-rw-r--r--gm/yuvtorgbeffect.cpp12
134 files changed, 583 insertions, 588 deletions
diff --git a/gm/aarectmodes.cpp b/gm/aarectmodes.cpp
index 10fa15a5ef..6e9f4bf600 100644
--- a/gm/aarectmodes.cpp
+++ b/gm/aarectmodes.cpp
@@ -58,7 +58,7 @@ static void test4(SkCanvas* canvas) {
canvas->drawPath(path, paint);
}
-static const struct {
+constexpr struct {
SkXfermode::Mode fMode;
const char* fLabel;
} gModes[] = {
@@ -140,7 +140,7 @@ namespace skiagm {
test4(canvas);
}
const SkRect bounds = SkRect::MakeWH(W, H);
- static const SkAlpha gAlphaValue[] = { 0xFF, 0x88, 0x88 };
+ constexpr SkAlpha gAlphaValue[] = { 0xFF, 0x88, 0x88 };
canvas->translate(SkIntToScalar(4), SkIntToScalar(4));
diff --git a/gm/aaxfermodes.cpp b/gm/aaxfermodes.cpp
index 2ea1844e27..78f7d3e324 100644
--- a/gm/aaxfermodes.cpp
+++ b/gm/aaxfermodes.cpp
@@ -23,11 +23,11 @@ enum {
kSubtitleSpacing = 5 * kShapeSpacing / 8
};
-static const SkColor kBGColor = SkColorSetARGB(200, 210, 184, 135);
+constexpr SkColor kBGColor = 0xc8d2b887;
-static const SkColor kShapeColors[2] = {
- SkColorSetARGB(130, 255, 0, 128), // input color unknown
- SkColorSetARGB(255, 0, 255, 255) // input color opaque
+constexpr SkColor kShapeColors[2] = {
+ 0x82ff0080, // input color unknown
+ 0xff00ffff, // input color opaque
};
enum Shape {
@@ -73,7 +73,7 @@ protected:
fLabelPaint.setTextSize(5 * kShapeSize/8);
fLabelPaint.setSubpixelText(true);
- static const SkScalar radius = -1.4f * kShapeSize/2;
+ constexpr SkScalar radius = -1.4f * kShapeSize/2;
SkPoint pts[4] = {
{-radius, 0},
{0, -1.33f * radius},
diff --git a/gm/alphagradients.cpp b/gm/alphagradients.cpp
index 65fa0c4082..fa9d3e2d67 100644
--- a/gm/alphagradients.cpp
+++ b/gm/alphagradients.cpp
@@ -38,7 +38,7 @@ protected:
}
void onDraw(SkCanvas* canvas) override {
- static const struct {
+ constexpr struct {
SkColor fColor0;
SkColor fColor1;
} gRec[] = {
diff --git a/gm/anisotropic.cpp b/gm/anisotropic.cpp
index 3e573c4d36..d8f9181286 100644
--- a/gm/anisotropic.cpp
+++ b/gm/anisotropic.cpp
@@ -27,9 +27,9 @@ protected:
// Create an image consisting of lines radiating from its center
void onOnceBeforeDraw() override {
- static const int kNumLines = 100;
- static const SkScalar kAngleStep = 360.0f / kNumLines;
- static const int kInnerOffset = 10;
+ constexpr int kNumLines = 100;
+ constexpr SkScalar kAngleStep = 360.0f / kNumLines;
+ constexpr int kInnerOffset = 10;
fBM.allocN32Pixels(kImageSize, kImageSize, true);
@@ -97,9 +97,9 @@ protected:
}
private:
- static const int kImageSize = 256;
- static const int kSpacer = 10;
- static const int kNumVertImages = 5;
+ static constexpr int kImageSize = 256;
+ static constexpr int kSpacer = 10;
+ static constexpr int kNumVertImages = 5;
SkBitmap fBM;
SkFilterQuality fFilterQuality;
diff --git a/gm/arithmode.cpp b/gm/arithmode.cpp
index cd074d4b12..70661a0fba 100644
--- a/gm/arithmode.cpp
+++ b/gm/arithmode.cpp
@@ -82,8 +82,8 @@ protected:
SkBitmap src = make_src();
SkBitmap dst = make_dst();
- const SkScalar one = SK_Scalar1;
- static const SkScalar K[] = {
+ constexpr SkScalar one = SK_Scalar1;
+ constexpr SkScalar K[] = {
0, 0, 0, 0,
0, 0, 0, one,
0, one, 0, 0,
diff --git a/gm/beziereffects.cpp b/gm/beziereffects.cpp
index 0c568d09f5..42be080ae3 100644
--- a/gm/beziereffects.cpp
+++ b/gm/beziereffects.cpp
@@ -74,8 +74,8 @@ private:
SkScalar fSign;
sk_sp<GrGeometryProcessor> fGeometryProcessor;
- static const int kVertsPerCubic = 4;
- static const int kIndicesPerCubic = 6;
+ static constexpr int kVertsPerCubic = 4;
+ static constexpr int kIndicesPerCubic = 6;
typedef GrTestBatch INHERITED;
};
@@ -115,7 +115,7 @@ protected:
float fKLM[4]; // The last value is ignored. The effect expects a vec4f.
};
- static const int kNumCubics = 15;
+ constexpr int kNumCubics = 15;
SkRandom rand;
// Mult by 3 for each edge effect type
@@ -125,7 +125,7 @@ protected:
SkScalar h = SkIntToScalar(drawContext->height()) / numRows;
int row = 0;
int col = 0;
- static const GrColor color = 0xff000000;
+ constexpr GrColor color = 0xff000000;
for (int i = 0; i < kNumCubics; ++i) {
SkPoint baseControlPts[] = {
@@ -247,7 +247,7 @@ protected:
float fKLM[4]; // The last value is ignored. The effect expects a vec4f.
};
- static const int kNumConics = 10;
+ constexpr int kNumConics = 10;
SkRandom rand;
// Mult by 3 for each edge effect type
@@ -257,7 +257,7 @@ protected:
SkScalar h = SkIntToScalar(drawContext->height()) / numRows;
int row = 0;
int col = 0;
- static const GrColor color = 0xff000000;
+ constexpr GrColor color = 0xff000000;
for (int i = 0; i < kNumConics; ++i) {
SkPoint baseControlPts[] = {
@@ -416,8 +416,8 @@ private:
GrPathUtils::QuadUVMatrix fDevToUV;
sk_sp<GrGeometryProcessor> fGeometryProcessor;
- static const int kVertsPerCubic = 4;
- static const int kIndicesPerCubic = 6;
+ static constexpr int kVertsPerCubic = 4;
+ static constexpr int kIndicesPerCubic = 6;
typedef GrTestBatch INHERITED;
};
@@ -458,7 +458,7 @@ protected:
float fUV[4]; // The last two values are ignored. The effect expects a vec4f.
};
- static const int kNumQuads = 5;
+ constexpr int kNumQuads = 5;
SkRandom rand;
int numCols = SkScalarCeilToInt(SkScalarSqrt(SkIntToScalar(kNumQuads*3)));
@@ -467,7 +467,7 @@ protected:
SkScalar h = SkIntToScalar(drawContext->height()) / numRows;
int row = 0;
int col = 0;
- static const GrColor color = 0xff000000;
+ constexpr GrColor color = 0xff000000;
for (int i = 0; i < kNumQuads; ++i) {
SkPoint baseControlPts[] = {
diff --git a/gm/beziers.cpp b/gm/beziers.cpp
index 20abb0307c..cf65c0b22c 100755
--- a/gm/beziers.cpp
+++ b/gm/beziers.cpp
@@ -13,7 +13,7 @@
#define H 400
#define N 10
-static const SkScalar SH = SkIntToScalar(H);
+constexpr SkScalar SH = SkIntToScalar(H);
static void rnd_quad(SkPath* p, SkPaint* paint, SkRandom& rand) {
p->moveTo(rand.nextRangeScalar(0, W), rand.nextRangeScalar(0, H));
diff --git a/gm/bigblurs.cpp b/gm/bigblurs.cpp
index 5c09ab94ef..8cad70d942 100644
--- a/gm/bigblurs.cpp
+++ b/gm/bigblurs.cpp
@@ -32,8 +32,8 @@ protected:
}
void onDraw(SkCanvas* canvas) override {
- static const int kBig = 65536;
- static const SkScalar kSigma = SkBlurMask::ConvertRadiusToSigma(SkIntToScalar(4));
+ constexpr int kBig = 65536;
+ const SkScalar kSigma = SkBlurMask::ConvertRadiusToSigma(SkIntToScalar(4));
const SkRect bigRect = SkRect::MakeWH(SkIntToScalar(kBig), SkIntToScalar(kBig));
SkRect insetRect = bigRect;
@@ -46,8 +46,8 @@ protected:
// The blur extends 3*kSigma out from the big rect.
// Offset the close-up windows so we get the entire blur
- static const SkScalar kLeftTopPad = 3*kSigma; // use on left & up of big rect
- static const SkScalar kRightBotPad = kCloseUpSize-3*kSigma; // use on right and bot sides
+ const SkScalar kLeftTopPad = 3*kSigma; // use on left & up of big rect
+ const SkScalar kRightBotPad = kCloseUpSize-3*kSigma; // use on right and bot sides
// UL hand corners of the rendered closeups
const SkPoint origins[] = {
@@ -103,9 +103,9 @@ protected:
}
private:
- static const int kCloseUpSize = 64;
- static const int kWidth = 5 * kCloseUpSize;
- static const int kHeight = 2 * (kLastEnum_SkBlurStyle + 1) * kCloseUpSize;
+ static constexpr int kCloseUpSize = 64;
+ static constexpr int kWidth = 5 * kCloseUpSize;
+ static constexpr int kHeight = 2 * (kLastEnum_SkBlurStyle + 1) * kCloseUpSize;
typedef GM INHERITED;
};
diff --git a/gm/bigrrectaaeffect.cpp b/gm/bigrrectaaeffect.cpp
index 7f79a34c6b..8387d5ed16 100644
--- a/gm/bigrrectaaeffect.cpp
+++ b/gm/bigrrectaaeffect.cpp
@@ -58,7 +58,7 @@ protected:
int y = kPad;
int x = kPad;
- static const GrPrimitiveEdgeType kEdgeTypes[] = {
+ constexpr GrPrimitiveEdgeType kEdgeTypes[] = {
kFillAA_GrProcessorEdgeType,
kInverseFillAA_GrProcessorEdgeType,
};
@@ -98,9 +98,9 @@ protected:
private:
// pad between test cases
- static const int kPad = 7;
+ static constexpr int kPad = 7;
// gap between rect for each case that is rendered and exterior of rrect
- static const int kGap = 3;
+ static constexpr int kGap = 3;
SkRRect fRRect;
int fWidth;
@@ -116,7 +116,7 @@ private:
///////////////////////////////////////////////////////////////////////////////
// This value is motivated by bug chromium:477684. It has to be large to cause overflow in
// the shader
-static const int kSize = 700;
+constexpr int kSize = 700;
DEF_GM( return new BigRRectAAEffectGM (SkRRect::MakeRect(SkRect::MakeIWH(kSize, kSize)), "rect"); )
DEF_GM( return new BigRRectAAEffectGM (SkRRect::MakeOval(SkRect::MakeIWH(kSize, kSize)), "circle"); )
diff --git a/gm/bigtileimagefilter.cpp b/gm/bigtileimagefilter.cpp
index b74f62ce61..429ef1e877 100644
--- a/gm/bigtileimagefilter.cpp
+++ b/gm/bigtileimagefilter.cpp
@@ -94,9 +94,9 @@ protected:
}
private:
- static const int kWidth = 512;
- static const int kHeight = 512;
- static const int kBitmapSize = 64;
+ static constexpr int kWidth = 512;
+ static constexpr int kHeight = 512;
+ static constexpr int kBitmapSize = 64;
sk_sp<SkImage> fRedImage;
sk_sp<SkImage> fGreenImage;
diff --git a/gm/bitmapcopy.cpp b/gm/bitmapcopy.cpp
index b52337b4bf..59505877ef 100644
--- a/gm/bitmapcopy.cpp
+++ b/gm/bitmapcopy.cpp
@@ -18,7 +18,7 @@ static const char* gColorTypeNames[] = {
"Index8",
};
-static const SkColorType gColorTypes[] = {
+constexpr SkColorType gColorTypes[] = {
kRGB_565_SkColorType,
kARGB_4444_SkColorType,
kN32_SkColorType,
diff --git a/gm/bitmappremul.cpp b/gm/bitmappremul.cpp
index 172612ddb0..31a565018d 100644
--- a/gm/bitmappremul.cpp
+++ b/gm/bitmappremul.cpp
@@ -18,9 +18,9 @@
* This tests both the ARGB4444 and ARGB8888 bitmap configurations.
*/
-static const int SLIDE_SIZE = 256;
-static const int PIXEL_SIZE_8888 = SLIDE_SIZE / 256;
-static const int PIXEL_SIZE_4444 = SLIDE_SIZE / 16;
+constexpr int SLIDE_SIZE = 256;
+constexpr int PIXEL_SIZE_8888 = SLIDE_SIZE / 256;
+constexpr int PIXEL_SIZE_4444 = SLIDE_SIZE / 16;
static void init_bitmap(SkColorType ct, SkBitmap* bitmap) {
bitmap->allocPixels(SkImageInfo::Make(SLIDE_SIZE, SLIDE_SIZE, ct,
diff --git a/gm/bitmaprect.cpp b/gm/bitmaprect.cpp
index 4db6e2fe95..2a813004df 100644
--- a/gm/bitmaprect.cpp
+++ b/gm/bitmaprect.cpp
@@ -153,9 +153,9 @@ private:
//////////////////////////////////////////////////////////////////////////////
static void make_big_bitmap(SkBitmap* bitmap) {
- static const int gXSize = 4096;
- static const int gYSize = 4096;
- static const int gBorderWidth = 10;
+ constexpr int gXSize = 4096;
+ constexpr int gYSize = 4096;
+ constexpr int gBorderWidth = 10;
bitmap->allocN32Pixels(gXSize, gYSize);
for (int y = 0; y < gYSize; ++y) {
diff --git a/gm/bleed.cpp b/gm/bleed.cpp
index da261efd32..8ffefc9788 100644
--- a/gm/bleed.cpp
+++ b/gm/bleed.cpp
@@ -107,10 +107,10 @@ bool make_ringed_bitmap(TestPixels* result, int width, int height,
/** Create a black and white checked bitmap with 2 1-pixel rings around the outside edge.
The inner ring is red and the outer ring is blue. */
static bool make_ringed_color_bitmap(TestPixels* result, int width, int height) {
- static const SkPMColor kBlue = SkPreMultiplyColor(SK_ColorBLUE);
- static const SkPMColor kRed = SkPreMultiplyColor(SK_ColorRED);
- static const SkPMColor kBlack = SkPreMultiplyColor(SK_ColorBLACK);
- static const SkPMColor kWhite = SkPreMultiplyColor(SK_ColorWHITE);
+ const SkPMColor kBlue = SkPreMultiplyColor(SK_ColorBLUE);
+ const SkPMColor kRed = SkPreMultiplyColor(SK_ColorRED);
+ const SkPMColor kBlack = SkPreMultiplyColor(SK_ColorBLACK);
+ const SkPMColor kWhite = SkPreMultiplyColor(SK_ColorWHITE);
return make_ringed_bitmap<SkPMColor>(result, width, height, kN32_SkColorType,
kPremul_SkAlphaType, kBlue, kRed, kBlack, kWhite);
}
@@ -119,10 +119,10 @@ static bool make_ringed_color_bitmap(TestPixels* result, int width, int height)
checker board of 3/4 and 1/2. The inner checkers are large enough to fill the interior with
the 2x2 checker grid. */
static bool make_ringed_alpha_bitmap(TestPixels* result, int width, int height) {
- static const uint8_t kZero = 0x00;
- static const uint8_t kHalf = 0x80;
- static const uint8_t k3Q = 0xC0;
- static const uint8_t kOne = 0xFF;
+ constexpr uint8_t kZero = 0x00;
+ constexpr uint8_t kHalf = 0x80;
+ constexpr uint8_t k3Q = 0xC0;
+ constexpr uint8_t kOne = 0xFF;
return make_ringed_bitmap<uint8_t>(result, width, height, kAlpha_8_SkColorType,
kPremul_SkAlphaType, kZero, kOne, k3Q, kHalf);
}
@@ -155,8 +155,8 @@ bool make_ringed_alpha_image(TestPixels* result, int width, int height) {
}
static sk_sp<SkShader> make_shader() {
- static const SkPoint pts[] = { {0, 0}, {20, 20} };
- static const SkColor colors[] = { SK_ColorGREEN, SK_ColorYELLOW };
+ constexpr SkPoint pts[] = { {0, 0}, {20, 20} };
+ constexpr SkColor colors[] = { SK_ColorGREEN, SK_ColorYELLOW };
return SkGradientShader::MakeLinear(pts, colors, nullptr, 2, SkShader::kMirror_TileMode);
}
@@ -322,7 +322,7 @@ protected:
// Draw with rotation and scale down in x, up in y.
SkMatrix m;
- static const SkScalar kBottom = SkIntToScalar(kRow4Y + kBlockSize + kBlockSpacing);
+ constexpr SkScalar kBottom = SkIntToScalar(kRow4Y + kBlockSize + kBlockSpacing);
m.setTranslate(0, kBottom);
m.preRotate(15.f, 0, kBottom + kBlockSpacing);
m.preScale(0.71f, 1.22f);
@@ -407,25 +407,25 @@ protected:
#endif
private:
- static const int kBlockSize = 70;
- static const int kBlockSpacing = 12;
-
- static const int kCol0X = kBlockSpacing;
- static const int kCol1X = 2*kBlockSpacing + kBlockSize;
- static const int kCol2X = 3*kBlockSpacing + 2*kBlockSize;
- static const int kCol3X = 4*kBlockSpacing + 3*kBlockSize;
- static const int kCol4X = 5*kBlockSpacing + 4*kBlockSize;
- static const int kCol5X = 6*kBlockSpacing + 5*kBlockSize;
- static const int kWidth = 7*kBlockSpacing + 6*kBlockSize;
-
- static const int kRow0Y = kBlockSpacing;
- static const int kRow1Y = 2*kBlockSpacing + kBlockSize;
- static const int kRow2Y = 3*kBlockSpacing + 2*kBlockSize;
- static const int kRow3Y = 4*kBlockSpacing + 3*kBlockSize;
- static const int kRow4Y = 5*kBlockSpacing + 4*kBlockSize;
-
- static const int kSmallSize = 6;
- static const int kMaxTileSize = 32;
+ static constexpr int kBlockSize = 70;
+ static constexpr int kBlockSpacing = 12;
+
+ static constexpr int kCol0X = kBlockSpacing;
+ static constexpr int kCol1X = 2*kBlockSpacing + kBlockSize;
+ static constexpr int kCol2X = 3*kBlockSpacing + 2*kBlockSize;
+ static constexpr int kCol3X = 4*kBlockSpacing + 3*kBlockSize;
+ static constexpr int kCol4X = 5*kBlockSpacing + 4*kBlockSize;
+ static constexpr int kCol5X = 6*kBlockSpacing + 5*kBlockSize;
+ static constexpr int kWidth = 7*kBlockSpacing + 6*kBlockSize;
+
+ static constexpr int kRow0Y = kBlockSpacing;
+ static constexpr int kRow1Y = 2*kBlockSpacing + kBlockSize;
+ static constexpr int kRow2Y = 3*kBlockSpacing + 2*kBlockSize;
+ static constexpr int kRow3Y = 4*kBlockSpacing + 3*kBlockSize;
+ static constexpr int kRow4Y = 5*kBlockSpacing + 4*kBlockSize;
+
+ static constexpr int kSmallSize = 6;
+ static constexpr int kMaxTileSize = 32;
TestPixels fBigTestPixels;
TestPixels fSmallTestPixels;
diff --git a/gm/blurcircles.cpp b/gm/blurcircles.cpp
index b15901b6a0..13cbeb864d 100644
--- a/gm/blurcircles.cpp
+++ b/gm/blurcircles.cpp
@@ -58,7 +58,7 @@ protected:
}
}
private:
- static const int kNumBlurs = 4;
+ static constexpr int kNumBlurs = 4;
sk_sp<SkMaskFilter> fBlurFilters[kNumBlurs];
diff --git a/gm/blurcircles2.cpp b/gm/blurcircles2.cpp
index ad0c37dc4b..93fcddb0f5 100644
--- a/gm/blurcircles2.cpp
+++ b/gm/blurcircles2.cpp
@@ -44,7 +44,7 @@ protected:
}
void onDraw(SkCanvas* canvas) override {
- static constexpr SkScalar kMaxR = kMaxRadius + kMaxBlurRadius;
+ constexpr SkScalar kMaxR = kMaxRadius + kMaxBlurRadius;
auto almostCircleMaker = [] (SkScalar radius, SkPath* dst) {
dst->reset();
@@ -76,13 +76,13 @@ protected:
} else {
bool benchMode = this->getMode() == kBench_Mode;
canvas->save();
- static constexpr SkScalar kPad = 5;
- static constexpr SkScalar kRadiusSteps = 5;
- static constexpr SkScalar kBlurRadiusSteps = 5;
+ constexpr SkScalar kPad = 5;
+ constexpr SkScalar kRadiusSteps = 5;
+ constexpr SkScalar kBlurRadiusSteps = 5;
canvas->translate(kPad + kMinRadius + kMaxBlurRadius,
kPad + kMinRadius + kMaxBlurRadius);
- static constexpr SkScalar kDeltaRadius = (kMaxRadius - kMinRadius) / kRadiusSteps;
- static constexpr SkScalar kDeltaBlurRadius = (kMaxBlurRadius - kMinBlurRadius) /
+ constexpr SkScalar kDeltaRadius = (kMaxRadius - kMinRadius) / kRadiusSteps;
+ constexpr SkScalar kDeltaBlurRadius = (kMaxBlurRadius - kMinBlurRadius) /
kBlurRadiusSteps;
SkScalar lineWidth = 0;
if (!benchMode) {
diff --git a/gm/blurquickreject.cpp b/gm/blurquickreject.cpp
index c970458a88..452cdf7e91 100644
--- a/gm/blurquickreject.cpp
+++ b/gm/blurquickreject.cpp
@@ -31,8 +31,8 @@ protected:
}
void onDraw(SkCanvas* canvas) override {
- static const SkScalar kBlurRadius = SkIntToScalar(20);
- static const SkScalar kBoxSize = SkIntToScalar(100);
+ constexpr SkScalar kBlurRadius = SkIntToScalar(20);
+ constexpr SkScalar kBoxSize = SkIntToScalar(100);
SkRect clipRect = SkRect::MakeXYWH(0, 0, kBoxSize, kBoxSize);
SkRect blurRects[] = {
@@ -73,8 +73,8 @@ protected:
}
private:
- static const int kWidth = 300;
- static const int kHeight = 300;
+ static constexpr int kWidth = 300;
+ static constexpr int kHeight = 300;
typedef GM INHERITED;
};
diff --git a/gm/blurrect.cpp b/gm/blurrect.cpp
index 8aae04a6de..1e245712fe 100644
--- a/gm/blurrect.cpp
+++ b/gm/blurrect.cpp
@@ -125,7 +125,7 @@ protected:
SkPaint paintWithRadial = paint;
paintWithRadial.setShader(MakeRadial());
- static const Proc procs[] = {
+ constexpr Proc procs[] = {
fill_rect, draw_donut, draw_donut_skewed
};
diff --git a/gm/blurredclippedcircle.cpp b/gm/blurredclippedcircle.cpp
index 495d16a3c2..bf49cd61e5 100644
--- a/gm/blurredclippedcircle.cpp
+++ b/gm/blurredclippedcircle.cpp
@@ -38,7 +38,7 @@ protected:
whitePaint.setAntiAlias(true);
// This scale exercises precision limits in the circle blur effect (crbug.com/560651)
- static const float kScale = 2.0f;
+ constexpr float kScale = 2.0f;
canvas->scale(kScale, kScale);
canvas->save();
@@ -80,8 +80,8 @@ protected:
}
private:
- static const int kWidth = 1164;
- static const int kHeight = 802;
+ static constexpr int kWidth = 1164;
+ static constexpr int kHeight = 802;
typedef GM INHERITED;
};
diff --git a/gm/blurs.cpp b/gm/blurs.cpp
index 8fa97b886b..16e6249d34 100644
--- a/gm/blurs.cpp
+++ b/gm/blurs.cpp
@@ -12,7 +12,7 @@
DEF_SIMPLE_GM_BG(blurs, canvas, 700, 500, sk_tool_utils::color_to_565(0xFFDDDDDD)) {
SkBlurStyle NONE = SkBlurStyle(-999);
- static const struct {
+ const struct {
SkBlurStyle fStyle;
int fCx, fCy;
} gRecs[] = {
diff --git a/gm/bmpfilterqualityrepeat.cpp b/gm/bmpfilterqualityrepeat.cpp
index 6264d74df2..c55626f6b2 100644
--- a/gm/bmpfilterqualityrepeat.cpp
+++ b/gm/bmpfilterqualityrepeat.cpp
@@ -39,7 +39,7 @@ protected:
void onDraw(SkCanvas* canvas) override {
- static const struct {
+ constexpr struct {
SkFilterQuality fQuality;
const char* fName;
} kQualities[] = {
@@ -59,7 +59,7 @@ protected:
lm.setTranslateX(423);
lm.setTranslateY(330);
- static const SkShader::TileMode kTM = SkShader::kRepeat_TileMode;
+ constexpr SkShader::TileMode kTM = SkShader::kRepeat_TileMode;
bmpPaint.setShader(SkShader::MakeBitmapShader(fBmp, kTM, kTM, &lm));
SkRect rect = SkRect::MakeLTRB(20, 60, 220, 210);
canvas->drawRect(rect, bmpPaint);
diff --git a/gm/circulararcs.cpp b/gm/circulararcs.cpp
index 5888f0588c..3d6a56d94a 100644
--- a/gm/circulararcs.cpp
+++ b/gm/circulararcs.cpp
@@ -10,13 +10,13 @@
#include "SkDashPathEffect.h"
#include "gm.h"
-static constexpr SkScalar kStarts[] = {0.f, 10.f, 30.f, 45.f, 90.f, 165.f, 180.f, 270.f};
-static constexpr SkScalar kSweeps[] = {1.f, 45.f, 90.f, 130.f, 180.f, 184.f, 300.f, 355.f};
-static constexpr SkScalar kDiameter = 40.f;
-static constexpr SkRect kRect = {0.f, 0.f, kDiameter, kDiameter};
-static constexpr int kW = 1000;
-static constexpr int kH = 1000;
-static constexpr SkScalar kPad = 20.f;
+constexpr SkScalar kStarts[] = {0.f, 10.f, 30.f, 45.f, 90.f, 165.f, 180.f, 270.f};
+constexpr SkScalar kSweeps[] = {1.f, 45.f, 90.f, 130.f, 180.f, 184.f, 300.f, 355.f};
+constexpr SkScalar kDiameter = 40.f;
+constexpr SkRect kRect = {0.f, 0.f, kDiameter, kDiameter};
+constexpr int kW = 1000;
+constexpr int kH = 1000;
+constexpr SkScalar kPad = 20.f;
void draw_arcs(SkCanvas* canvas, std::function<void(SkPaint*)> configureStyle) {
// Draws grid of arcs with different start/sweep angles in red and their complement arcs in
@@ -50,8 +50,8 @@ void draw_arcs(SkCanvas* canvas, std::function<void(SkPaint*)> configureStyle) {
canvas->restore();
};
// Draw a grids for combo of enabling/disabling aa and using center.
- static constexpr SkScalar kGridW = kW / 2.f;
- static constexpr SkScalar kGridH = kH / 2.f;
+ constexpr SkScalar kGridW = kW / 2.f;
+ constexpr SkScalar kGridH = kH / 2.f;
drawGrid(0.f , 0.f , false, false);
drawGrid(kGridW, 0.f , true , false);
drawGrid(0.f , kGridH, false, true );
@@ -128,13 +128,13 @@ DEF_ARC_GM(stroke_and_fill_round) {
}
DEF_SIMPLE_GM(circular_arcs_weird, canvas, 1000, 400) {
- static constexpr SkScalar kS = 50;
+ constexpr SkScalar kS = 50;
struct Arc {
SkRect fOval;
SkScalar fStart;
SkScalar fSweep;
};
- static const Arc noDrawArcs[] = {
+ const Arc noDrawArcs[] = {
// no sweep
{SkRect::MakeWH(kS, kS), 0, 0},
// empty rect in x
@@ -144,7 +144,7 @@ DEF_SIMPLE_GM(circular_arcs_weird, canvas, 1000, 400) {
// empty rect in x and y
{SkRect::MakeWH( 0, 0), 0, 90},
};
- static const Arc arcs[] = {
+ const Arc arcs[] = {
// large start
{SkRect::MakeWH(kS, kS), 810.f, 90.f},
// large negative start
@@ -175,7 +175,7 @@ DEF_SIMPLE_GM(circular_arcs_weird, canvas, 1000, 400) {
// dash effect
paints.push_back().setStyle(SkPaint::kStroke_Style);
paints.back().setStrokeWidth(kS / 6.f);
- static constexpr SkScalar kDashIntervals[] = {kS / 15, 2 * kS / 15};
+ constexpr SkScalar kDashIntervals[] = {kS / 15, 2 * kS / 15};
paints.back().setPathEffect(SkDashPathEffect::Make(kDashIntervals, 2, 0.f));
canvas->translate(kPad, kPad);
diff --git a/gm/clippedbitmapshaders.cpp b/gm/clippedbitmapshaders.cpp
index 4b77aba9d0..b421800105 100644
--- a/gm/clippedbitmapshaders.cpp
+++ b/gm/clippedbitmapshaders.cpp
@@ -37,8 +37,8 @@ static SkBitmap create_bitmap() {
return bmp;
}
-static const SkScalar RECT_SIZE = 64;
-static const SkScalar SLIDE_SIZE = 300;
+constexpr SkScalar RECT_SIZE = 64;
+constexpr SkScalar SLIDE_SIZE = 300;
class ClippedBitmapShadersGM : public GM {
public:
diff --git a/gm/colorcube.cpp b/gm/colorcube.cpp
index 54e0688c6a..dc183bc3ae 100644
--- a/gm/colorcube.cpp
+++ b/gm/colorcube.cpp
@@ -14,11 +14,11 @@
namespace skiagm {
static sk_sp<SkShader> MakeLinear() {
- static const SkPoint pts[2] = {
+ constexpr SkPoint pts[2] = {
{ 0, 0 },
{ SkIntToScalar(80), SkIntToScalar(80) }
};
- static const SkColor colors[] = { SK_ColorYELLOW, SK_ColorBLUE };
+ constexpr SkColor colors[] = { SK_ColorYELLOW, SK_ColorBLUE };
return SkGradientShader::MakeLinear(pts, colors, nullptr, 2, SkShader::kRepeat_TileMode, 0,
&SkMatrix::I());
}
diff --git a/gm/coloremoji.cpp b/gm/coloremoji.cpp
index f4de3e5dce..371768c95b 100644
--- a/gm/coloremoji.cpp
+++ b/gm/coloremoji.cpp
@@ -20,9 +20,9 @@
* Spits out a dummy gradient to test blur with shader on paint
*/
static sk_sp<SkShader> MakeLinear() {
- static const SkPoint kPts[] = { { 0, 0 }, { 32, 32 } };
- static const SkScalar kPos[] = { 0, SK_Scalar1/2, SK_Scalar1 };
- static const SkColor kColors[] = {0x80F00080, 0xF0F08000, 0x800080F0 };
+ constexpr SkPoint kPts[] = { { 0, 0 }, { 32, 32 } };
+ constexpr SkScalar kPos[] = { 0, SK_Scalar1/2, SK_Scalar1 };
+ constexpr SkColor kColors[] = {0x80F00080, 0xF0F08000, 0x800080F0 };
return SkGradientShader::MakeLinear(kPts, kColors, kPos, SK_ARRAY_COUNT(kColors),
SkShader::kClamp_TileMode);
}
@@ -77,7 +77,7 @@ protected:
const char* text = emojiFont.text;
// draw text at different point sizes
- static constexpr SkScalar textSizes[] = { 10, 30, 50, };
+ constexpr SkScalar textSizes[] = { 10, 30, 50, };
SkPaint::FontMetrics metrics;
SkScalar y = 0;
for (const SkScalar& textSize : textSizes) {
@@ -137,7 +137,7 @@ protected:
SkRect interiorClip = bounds;
interiorClip.inset(boundsQuarterWidth, boundsQuarterHeight);
- static const SkRect clipRects[] = { bounds, upperLeftClip, lowerRightClip, interiorClip };
+ const SkRect clipRects[] = { bounds, upperLeftClip, lowerRightClip, interiorClip };
SkPaint clipHairline;
clipHairline.setColor(SK_ColorWHITE);
diff --git a/gm/complexclip.cpp b/gm/complexclip.cpp
index 7708efe554..ec22204453 100644
--- a/gm/complexclip.cpp
+++ b/gm/complexclip.cpp
@@ -12,9 +12,9 @@
namespace skiagm {
-static const SkColor gPathColor = SK_ColorBLACK;
-static const SkColor gClipAColor = SK_ColorBLUE;
-static const SkColor gClipBColor = SK_ColorRED;
+constexpr SkColor gPathColor = SK_ColorBLACK;
+constexpr SkColor gClipAColor = SK_ColorBLUE;
+constexpr SkColor gClipBColor = SK_ColorRED;
class ComplexClipGM : public GM {
public:
@@ -85,7 +85,7 @@ protected:
sk_tool_utils::set_portable_typeface(&paint);
paint.setTextSize(SkIntToScalar(20));
- static const struct {
+ constexpr struct {
SkRegion::Op fOp;
const char* fName;
} gOps[] = { //extra spaces in names for measureText
diff --git a/gm/complexclip2.cpp b/gm/complexclip2.cpp
index 4314619cfd..2994e689eb 100644
--- a/gm/complexclip2.cpp
+++ b/gm/complexclip2.cpp
@@ -102,10 +102,10 @@ protected:
}
}
- static const int kRows = 5;
- static const int kCols = 5;
- static const int kPadX = 20;
- static const int kPadY = 20;
+ static constexpr int kRows = 5;
+ static constexpr int kCols = 5;
+ static constexpr int kPadX = 20;
+ static constexpr int kPadY = 20;
static const char* ClipStr(Clip clip) {
switch (clip) {
diff --git a/gm/complexclip3.cpp b/gm/complexclip3.cpp
index 67916caf76..1deb446145 100644
--- a/gm/complexclip3.cpp
+++ b/gm/complexclip3.cpp
@@ -10,7 +10,7 @@
namespace skiagm {
-static const SkColor gPathColor = SK_ColorYELLOW;
+constexpr SkColor gPathColor = SK_ColorYELLOW;
class ComplexClip3GM : public GM {
public:
@@ -51,7 +51,7 @@ protected:
sk_tool_utils::set_portable_typeface(&paint);
paint.setTextSize(SkIntToScalar(20));
- static const struct {
+ constexpr struct {
SkRegion::Op fOp;
const char* fName;
} gOps[] = {
diff --git a/gm/composeshader.cpp b/gm/composeshader.cpp
index c029c98559..b58f91f4c0 100644
--- a/gm/composeshader.cpp
+++ b/gm/composeshader.cpp
@@ -210,7 +210,7 @@ private:
* work in a release build. You can change this parameter and then compile a release build
* to have this GM draw larger bitmaps for easier visual inspection.
*/
- static const int squareLength = 20;
+ static constexpr int squareLength = 20;
SkBitmap fColorBitmap;
SkBitmap fAlpha8Bitmap;
diff --git a/gm/constcolorprocessor.cpp b/gm/constcolorprocessor.cpp
index d9b5f6c17e..166014d4c9 100644
--- a/gm/constcolorprocessor.cpp
+++ b/gm/constcolorprocessor.cpp
@@ -57,21 +57,21 @@ protected:
return;
}
- static const GrColor kColors[] = {
+ constexpr GrColor kColors[] = {
0xFFFFFFFF,
0xFFFF00FF,
0x80000000,
0x00000000,
};
- static const SkColor kPaintColors[] = {
+ constexpr SkColor kPaintColors[] = {
0xFFFFFFFF,
0xFFFF0000,
0x80FF0000,
0x00000000,
};
- static const char* kModeStrs[] {
+ const char* kModeStrs[] {
"kIgnore",
"kModulateRGBA",
"kModulateA",
@@ -175,17 +175,14 @@ private:
// Use this as a way of generating and input FP
sk_sp<SkShader> fShader;
- static const SkScalar kPad;
- static const SkScalar kRectSize;
- static const int kWidth = 820;
- static const int kHeight = 500;
+ static constexpr SkScalar kPad = 10.f;
+ static constexpr SkScalar kRectSize = 20.f;
+ static constexpr int kWidth = 820;
+ static constexpr int kHeight = 500;
typedef GM INHERITED;
};
-const SkScalar ConstColorProcessor::kPad = 10.f;
-const SkScalar ConstColorProcessor::kRectSize = 20.f;
-
DEF_GM(return new ConstColorProcessor;)
}
diff --git a/gm/convex_all_line_paths.cpp b/gm/convex_all_line_paths.cpp
index a54c0e4a01..aba1ef27ce 100644
--- a/gm/convex_all_line_paths.cpp
+++ b/gm/convex_all_line_paths.cpp
@@ -278,7 +278,7 @@ protected:
const SkColor colors[2] = { SK_ColorBLACK, SK_ColorWHITE };
const SkPath::Direction dirs[2] = { SkPath::kCW_Direction, SkPath::kCCW_Direction };
const float scales[] = { 1.0f, 0.75f, 0.5f, 0.25f, 0.1f, 0.01f, 0.001f };
- const SkPaint::Join joins[3] = { SkPaint::kRound_Join,
+ const SkPaint::Join joins[3] = { SkPaint::kRound_Join,
SkPaint::kBevel_Join,
SkPaint::kMiter_Join };
@@ -336,11 +336,11 @@ protected:
}
private:
- static const int kStrokeWidth = 10;
- static const int kNumPaths = 20;
- static const int kMaxPathHeight = 100;
- static const int kGMWidth = 512;
- static const int kGMHeight = 512;
+ static constexpr int kStrokeWidth = 10;
+ static constexpr int kNumPaths = 20;
+ static constexpr int kMaxPathHeight = 100;
+ static constexpr int kGMWidth = 512;
+ static constexpr int kGMHeight = 512;
bool fDoStrokeAndFill;
diff --git a/gm/convexpolyclip.cpp b/gm/convexpolyclip.cpp
index 0c8e291c31..9681faadf3 100644
--- a/gm/convexpolyclip.cpp
+++ b/gm/convexpolyclip.cpp
@@ -60,7 +60,7 @@ static SkBitmap make_bmp(int w, int h) {
paint.setTextSize(wScalar / 2.2f);
paint.setShader(0);
paint.setColor(sk_tool_utils::color_to_565(SK_ColorLTGRAY));
- static const char kTxt[] = "Skia";
+ constexpr char kTxt[] = "Skia";
SkPoint texPos = { wScalar / 17, hScalar / 2 + paint.getTextSize() / 2.5f };
canvas.drawText(kTxt, SK_ARRAY_COUNT(kTxt)-1, texPos.fX, texPos.fY, paint);
paint.setColor(SK_ColorBLACK);
@@ -103,7 +103,7 @@ protected:
fClips.addToTail()->setPath(tri);
SkPath hexagon;
- static const SkScalar kRadius = 45.f;
+ constexpr SkScalar kRadius = 45.f;
const SkPoint center = { kRadius, kRadius };
for (int i = 0; i < 6; ++i) {
SkScalar angle = 2 * SK_ScalarPI * i / 6;
@@ -139,14 +139,14 @@ protected:
void onDraw(SkCanvas* canvas) override {
SkScalar y = 0;
- static const SkScalar kMargin = 10.f;
+ constexpr SkScalar kMargin = 10.f;
SkPaint bgPaint;
bgPaint.setAlpha(0x15);
SkISize size = canvas->getDeviceSize();
canvas->drawBitmapRect(fBmp, SkRect::MakeIWH(size.fWidth, size.fHeight), &bgPaint);
- static const char kTxt[] = "Clip Me!";
+ constexpr char kTxt[] = "Clip Me!";
SkPaint txtPaint;
txtPaint.setTextSize(23.f);
txtPaint.setAntiAlias(true);
diff --git a/gm/convexpolyeffect.cpp b/gm/convexpolyeffect.cpp
index a5c2904566..44471e5f13 100644
--- a/gm/convexpolyeffect.cpp
+++ b/gm/convexpolyeffect.cpp
@@ -110,7 +110,7 @@ protected:
fPaths.addToTail(tri);
SkPath ngon;
- static const SkScalar kRadius = 50.f;
+ constexpr SkScalar kRadius = 50.f;
const SkPoint center = { kRadius, kRadius };
for (int i = 0; i < GrConvexPolyEffect::kMaxEdges; ++i) {
SkScalar angle = 2 * SK_ScalarPI * i / GrConvexPolyEffect::kMaxEdges;
@@ -160,7 +160,7 @@ protected:
}
SkScalar y = 0;
- static const SkScalar kDX = 12.f;
+ constexpr SkScalar kDX = 12.f;
for (PathList::Iter iter(fPaths, PathList::Iter::kHead_IterStart);
iter.get();
iter.next()) {
diff --git a/gm/cubicpaths.cpp b/gm/cubicpaths.cpp
index 819dac25dc..abac5b2177 100644
--- a/gm/cubicpaths.cpp
+++ b/gm/cubicpaths.cpp
@@ -158,7 +158,7 @@ protected:
SkPath::FillType fFill;
const char* fName;
};
- static const FillAndName gFills[] = {
+ constexpr FillAndName gFills[] = {
{SkPath::kWinding_FillType, "Winding"},
{SkPath::kEvenOdd_FillType, "Even / Odd"},
{SkPath::kInverseWinding_FillType, "Inverse Winding"},
@@ -168,7 +168,7 @@ protected:
SkPaint::Style fStyle;
const char* fName;
};
- static const StyleAndName gStyles[] = {
+ constexpr StyleAndName gStyles[] = {
{SkPaint::kFill_Style, "Fill"},
{SkPaint::kStroke_Style, "Stroke"},
{SkPaint::kStrokeAndFill_Style, "Stroke And Fill"},
@@ -178,7 +178,7 @@ protected:
SkPaint::Join fJoin;
const char* fName;
};
- static const CapAndName gCaps[] = {
+ constexpr CapAndName gCaps[] = {
{SkPaint::kButt_Cap, SkPaint::kBevel_Join, "Butt"},
{SkPaint::kRound_Cap, SkPaint::kRound_Join, "Round"},
{SkPaint::kSquare_Cap, SkPaint::kBevel_Join, "Square"}
@@ -302,7 +302,7 @@ protected:
SkPath::FillType fFill;
const char* fName;
};
- static const FillAndName gFills[] = {
+ constexpr FillAndName gFills[] = {
{SkPath::kWinding_FillType, "Winding"},
{SkPath::kEvenOdd_FillType, "Even / Odd"},
{SkPath::kInverseWinding_FillType, "Inverse Winding"},
@@ -312,7 +312,7 @@ protected:
SkPaint::Style fStyle;
const char* fName;
};
- static const StyleAndName gStyles[] = {
+ constexpr StyleAndName gStyles[] = {
{SkPaint::kFill_Style, "Fill"},
{SkPaint::kStroke_Style, "Stroke"},
{SkPaint::kStrokeAndFill_Style, "Stroke And Fill"},
@@ -322,7 +322,7 @@ protected:
SkPaint::Join fJoin;
const char* fName;
};
- static const CapAndName gCaps[] = {
+ constexpr CapAndName gCaps[] = {
{SkPaint::kButt_Cap, SkPaint::kBevel_Join, "Butt"},
{SkPaint::kRound_Cap, SkPaint::kRound_Join, "Round"},
{SkPaint::kSquare_Cap, SkPaint::kBevel_Join, "Square"}
diff --git a/gm/dashcircle.cpp b/gm/dashcircle.cpp
index f631c40476..fbe08b7bbe 100644
--- a/gm/dashcircle.cpp
+++ b/gm/dashcircle.cpp
@@ -95,7 +95,7 @@ protected:
}
bool onAnimate(const SkAnimTimer& timer) override {
- static const SkScalar kDesiredDurationSecs = 100.0f;
+ constexpr SkScalar kDesiredDurationSecs = 100.0f;
fRotation = timer.scaled(360.0f/kDesiredDurationSecs, 360.0f);
return true;
diff --git a/gm/dashing.cpp b/gm/dashing.cpp
index 82e6eb35bf..e23c24ed3b 100644
--- a/gm/dashing.cpp
+++ b/gm/dashing.cpp
@@ -57,7 +57,7 @@ protected:
SkISize onISize() { return SkISize::Make(640, 340); }
virtual void onDraw(SkCanvas* canvas) {
- static const struct {
+ constexpr struct {
int fOnInterval;
int fOffInterval;
} gData[] = {
@@ -145,7 +145,7 @@ protected:
SkISize onISize() { return SkISize::Make(640, 480); }
virtual void onDraw(SkCanvas* canvas) {
- static const int gIntervals[] = {
+ constexpr int gIntervals[] = {
3, // 3 dashes: each count [0] followed by intervals [1..count]
2, 10, 10,
4, 20, 5, 5, 5,
@@ -334,7 +334,7 @@ protected:
SkISize onISize() { return SkISize::Make(640, 950); }
virtual void onDraw(SkCanvas* canvas) {
- static const struct {
+ constexpr struct {
int fOnInterval;
int fOffInterval;
} gData[] = {
@@ -420,11 +420,11 @@ protected:
SkISize onISize() override { return SkISize::Make(400, 200); }
void onDraw(SkCanvas* canvas) override {
- static const int kOn = 4;
- static const int kOff = 4;
- static const int kIntervalLength = kOn + kOff;
+ constexpr int kOn = 4;
+ constexpr int kOff = 4;
+ constexpr int kIntervalLength = kOn + kOff;
- static const SkColor gColors[kIntervalLength] = {
+ constexpr SkColor gColors[kIntervalLength] = {
SK_ColorRED,
SK_ColorGREEN,
SK_ColorBLUE,
diff --git a/gm/dcshader.cpp b/gm/dcshader.cpp
index e97ab47a5e..25d114fd14 100644
--- a/gm/dcshader.cpp
+++ b/gm/dcshader.cpp
@@ -132,7 +132,7 @@ protected:
struct Circle : public Prim {
SkRect draw(SkCanvas* canvas, const SkPaint& paint) override {
- static const SkScalar radius = 25;
+ constexpr SkScalar radius = 25;
canvas->drawCircle(radius, radius, radius, paint);
return SkRect::MakeXYWH(0, 0, 2 * radius, 2 * radius);
}
@@ -195,7 +195,7 @@ protected:
paint.setTextSize(30.f);
this->setFont(&paint);
const char* text = this->text();
- static const SkVector offset = SkVector::Make(10, 10);
+ const SkVector offset = SkVector::Make(10, 10);
canvas->drawText(text, strlen(text), offset.fX, offset.fY, paint);
SkRect bounds;
paint.measureText(text, strlen(text), &bounds);
@@ -245,7 +245,7 @@ protected:
canvas->translate(10, 20);
canvas->save();
SkScalar tx = 0, maxTy = 0;
- static const SkScalar kW = 900;
+ constexpr SkScalar kW = 900;
for (int aa = 0; aa < 2; ++aa) {
for (int i = 0; i < fPrims.count(); ++i) {
diff --git a/gm/degeneratesegments.cpp b/gm/degeneratesegments.cpp
index d5164908b6..c7254f2e93 100644
--- a/gm/degeneratesegments.cpp
+++ b/gm/degeneratesegments.cpp
@@ -208,7 +208,7 @@ protected:
}
virtual void onDraw(SkCanvas* canvas) {
- static const AddSegmentFunc gSegmentFunctions[] = {
+ constexpr AddSegmentFunc gSegmentFunctions[] = {
AddMove,
AddMoveClose,
AddDegenLine,
@@ -231,7 +231,7 @@ protected:
AddMoveCubic,
AddMoveCubicClose
};
- static const char* gSegmentNames[] = {
+ const char* gSegmentNames[] = {
"Move",
"MoveClose",
"DegenLine",
@@ -259,7 +259,7 @@ protected:
SkPath::FillType fFill;
const char* fName;
};
- static const FillAndName gFills[] = {
+ constexpr FillAndName gFills[] = {
{SkPath::kWinding_FillType, "Winding"},
{SkPath::kEvenOdd_FillType, "Even / Odd"},
{SkPath::kInverseWinding_FillType, "Inverse Winding"},
@@ -269,7 +269,7 @@ protected:
SkPaint::Style fStyle;
const char* fName;
};
- static const StyleAndName gStyles[] = {
+ constexpr StyleAndName gStyles[] = {
{SkPaint::kFill_Style, "Fill"},
{SkPaint::kStroke_Style, "Stroke 10"},
{SkPaint::kStrokeAndFill_Style, "Stroke 10 And Fill"}
@@ -279,7 +279,7 @@ protected:
SkPaint::Join fJoin;
const char* fName;
};
- static const CapAndName gCaps[] = {
+ constexpr CapAndName gCaps[] = {
{SkPaint::kButt_Cap, SkPaint::kBevel_Join, "Butt"},
{SkPaint::kRound_Cap, SkPaint::kRound_Join, "Round"},
{SkPaint::kSquare_Cap, SkPaint::kBevel_Join, "Square"}
diff --git a/gm/distantclip.cpp b/gm/distantclip.cpp
index 9276dadc53..07594e788a 100644
--- a/gm/distantclip.cpp
+++ b/gm/distantclip.cpp
@@ -26,8 +26,8 @@ protected:
SkISize onISize() { return SkISize::Make(100, 100); }
virtual void onDraw(SkCanvas* canvas) {
- static const SkScalar kOffset = 35000.0f;
- static const SkScalar kExtents = 1000.0f;
+ constexpr SkScalar kOffset = 35000.0f;
+ constexpr SkScalar kExtents = 1000.0f;
SkPictureRecorder recorder;
// We record a picture of huge vertical extents in which we clear the canvas to red, create
diff --git a/gm/drawatlascolor.cpp b/gm/drawatlascolor.cpp
index 3331482538..b5dba99640 100644
--- a/gm/drawatlascolor.cpp
+++ b/gm/drawatlascolor.cpp
@@ -162,11 +162,11 @@ protected:
}
private:
- static const int kNumXferModes = 29;
- static const int kNumColors = 4;
- static const int kAtlasSize = 30;
- static const int kPad = 2;
- static const int kTextPad = 8;
+ static constexpr int kNumXferModes = 29;
+ static constexpr int kNumColors = 4;
+ static constexpr int kAtlasSize = 30;
+ static constexpr int kPad = 2;
+ static constexpr int kTextPad = 8;
sk_sp<SkImage> fAtlas;
diff --git a/gm/drawbitmaprect.cpp b/gm/drawbitmaprect.cpp
index ea9a09fe0a..3c873e290d 100644
--- a/gm/drawbitmaprect.cpp
+++ b/gm/drawbitmaprect.cpp
@@ -131,8 +131,8 @@ static void imagesubsetproc(SkCanvas* canvas, SkImage* image, const SkBitmap& bm
typedef void DrawRectRectProc(SkCanvas*, SkImage*, const SkBitmap&, const SkIRect&, const SkRect&,
const SkPaint*);
-static const int gSize = 1024;
-static const int gBmpSize = 2048;
+constexpr int gSize = 1024;
+constexpr int gBmpSize = 2048;
class DrawBitmapRectGM : public skiagm::GM {
public:
@@ -163,10 +163,10 @@ protected:
}
SkRect dstRect = { 0, 0, SkIntToScalar(64), SkIntToScalar(64)};
- static const int kMaxSrcRectSize = 1 << (SkNextLog2(gBmpSize) + 2);
+ const int kMaxSrcRectSize = 1 << (SkNextLog2(gBmpSize) + 2);
- static const int kPadX = 30;
- static const int kPadY = 40;
+ const int kPadX = 30;
+ const int kPadY = 40;
SkPaint paint;
paint.setAlpha(0x20);
canvas->drawImageRect(fImage, SkRect::MakeIWH(gSize, gSize), &paint);
diff --git a/gm/drawlooper.cpp b/gm/drawlooper.cpp
index 019566e30f..df8256ff11 100644
--- a/gm/drawlooper.cpp
+++ b/gm/drawlooper.cpp
@@ -56,7 +56,7 @@ private:
void init() {
if (fLooper) return;
- static const struct {
+ constexpr struct {
SkColor fColor;
SkPaint::Style fStyle;
SkScalar fWidth;
diff --git a/gm/drawminibitmaprect.cpp b/gm/drawminibitmaprect.cpp
index d539f26048..eccf04c352 100644
--- a/gm/drawminibitmaprect.cpp
+++ b/gm/drawminibitmaprect.cpp
@@ -29,12 +29,12 @@ static sk_sp<SkImage> makebm(SkCanvas* caller, int w, int h) {
const SkScalar radius = 4 * SkMaxScalar(wScalar, hScalar);
- static const SkColor colors[] = { SK_ColorRED, SK_ColorYELLOW,
+ constexpr SkColor colors[] = { SK_ColorRED, SK_ColorYELLOW,
SK_ColorGREEN, SK_ColorMAGENTA,
SK_ColorBLUE, SK_ColorCYAN,
SK_ColorRED};
- static const SkScalar pos[] = {0,
+ constexpr SkScalar pos[] = {0,
SK_Scalar1 / 6,
2 * SK_Scalar1 / 6,
3 * SK_Scalar1 / 6,
@@ -60,8 +60,8 @@ static sk_sp<SkImage> makebm(SkCanvas* caller, int w, int h) {
return surface->makeImageSnapshot();
}
-static const int gSize = 1024;
-static const int gSurfaceSize = 2048;
+constexpr int gSize = 1024;
+constexpr int gSurfaceSize = 2048;
// This GM calls drawImageRect several times using the same texture. This is
// intended to exercise batching of these calls.
@@ -85,10 +85,10 @@ protected:
}
const SkRect dstRect = { 0, 0, SkIntToScalar(64), SkIntToScalar(64)};
- static const int kMaxSrcRectSize = 1 << (SkNextLog2(gSurfaceSize) + 2);
+ const int kMaxSrcRectSize = 1 << (SkNextLog2(gSurfaceSize) + 2);
- static const int kPadX = 30;
- static const int kPadY = 40;
+ constexpr int kPadX = 30;
+ constexpr int kPadY = 40;
int rowCount = 0;
canvas->translate(SkIntToScalar(kPadX), SkIntToScalar(kPadY));
diff --git a/gm/dstreadshuffle.cpp b/gm/dstreadshuffle.cpp
index 4f0f071b0a..47c70563b5 100644
--- a/gm/dstreadshuffle.cpp
+++ b/gm/dstreadshuffle.cpp
@@ -44,8 +44,8 @@ protected:
void drawShape(SkCanvas* canvas,
SkPaint* paint,
ShapeType type) {
- static const SkRect kRect = SkRect::MakeXYWH(SkIntToScalar(-50), SkIntToScalar(-50),
- SkIntToScalar(75), SkIntToScalar(105));
+ const SkRect kRect = SkRect::MakeXYWH(SkIntToScalar(-50), SkIntToScalar(-50),
+ SkIntToScalar(75), SkIntToScalar(105));
switch (type) {
case kCircle_ShapeType:
canvas->drawCircle(0, 0, 50, *paint);
@@ -183,8 +183,8 @@ private:
SkAutoTUnref<SkShader> fBG;
SkPath fConcavePath;
SkPath fConvexPath;
- static const int kWidth = 900;
- static const int kHeight = 400;
+ static constexpr int kWidth = 900;
+ static constexpr int kHeight = 400;
typedef GM INHERITED;
};
diff --git a/gm/emptypath.cpp b/gm/emptypath.cpp
index aadb94dfce..260f0a01ac 100644
--- a/gm/emptypath.cpp
+++ b/gm/emptypath.cpp
@@ -44,7 +44,7 @@ protected:
SkPath::FillType fFill;
const char* fName;
};
- static const FillAndName gFills[] = {
+ constexpr FillAndName gFills[] = {
{SkPath::kWinding_FillType, "Winding"},
{SkPath::kEvenOdd_FillType, "Even / Odd"},
{SkPath::kInverseWinding_FillType, "Inverse Winding"},
@@ -54,7 +54,7 @@ protected:
SkPaint::Style fStyle;
const char* fName;
};
- static const StyleAndName gStyles[] = {
+ constexpr StyleAndName gStyles[] = {
{SkPaint::kFill_Style, "Fill"},
{SkPaint::kStroke_Style, "Stroke"},
{SkPaint::kStrokeAndFill_Style, "Stroke And Fill"},
diff --git a/gm/filterfastbounds.cpp b/gm/filterfastbounds.cpp
index 408a4e8709..812c6668ea 100644
--- a/gm/filterfastbounds.cpp
+++ b/gm/filterfastbounds.cpp
@@ -78,7 +78,7 @@ static void draw_bitmap(SkCanvas* canvas, const SkRect& r, const SkPaint& p) {
canvas->drawBitmapRect(bm, r, &p);
}
-static const drawMth gDrawMthds[] = {
+constexpr drawMth gDrawMthds[] = {
draw_rect, draw_oval, draw_rrect, draw_drrect, draw_path, draw_points, draw_bitmap
};
@@ -119,7 +119,7 @@ static void create_paints(SkTArray<SkPaint>* paints, sk_sp<SkImageFilter> source
}
{
- static const SkDropShadowImageFilter::ShadowMode kBoth =
+ constexpr SkDropShadowImageFilter::ShadowMode kBoth =
SkDropShadowImageFilter::kDrawShadowAndForeground_ShadowMode;
sk_sp<SkImageFilter> dsif(SkDropShadowImageFilter::Make(10.0f, 10.0f,
@@ -154,10 +154,10 @@ public:
}
protected:
- static const int kTileWidth = 100;
- static const int kTileHeight = 100;
- static const int kNumVertTiles = 7;
- static const int kNumXtraCols = 2;
+ static constexpr int kTileWidth = 100;
+ static constexpr int kTileHeight = 100;
+ static constexpr int kNumVertTiles = 7;
+ static constexpr int kNumXtraCols = 2;
SkString onShortName() override{ return SkString("filterfastbounds"); }
diff --git a/gm/fontmgr.cpp b/gm/fontmgr.cpp
index a4dc2631ec..50b83836f2 100644
--- a/gm/fontmgr.cpp
+++ b/gm/fontmgr.cpp
@@ -188,7 +188,7 @@ protected:
paint.setSubpixelText(true);
paint.setTextSize(17);
- static const char* gNames[] = {
+ const char* gNames[] = {
"Helvetica Neue", "Arial"
};
diff --git a/gm/gammacolorfilter.cpp b/gm/gammacolorfilter.cpp
index ecb2daa214..f5e6542062 100644
--- a/gm/gammacolorfilter.cpp
+++ b/gm/gammacolorfilter.cpp
@@ -88,9 +88,9 @@ protected:
}
private:
- static const int kCellWidth = 64;
- static const int kCellHeight = 64;
- static const int kNumGreySteps = 16;
+ static constexpr int kCellWidth = 64;
+ static constexpr int kCellHeight = 64;
+ static constexpr int kNumGreySteps = 16;
typedef GM INHERITED;
};
diff --git a/gm/glyph_pos.cpp b/gm/glyph_pos.cpp
index ed61c7634b..7628fbe298 100644
--- a/gm/glyph_pos.cpp
+++ b/gm/glyph_pos.cpp
@@ -14,8 +14,8 @@
* glyph_pos_(h/n)_(s/f/b)
* -> test hairline/non-hairline stroke/fill/stroke+fill.
*/
-static const SkScalar kTextHeight = 14.0f;
-static const char kText[] = "Proportional Hamburgefons #% fi";
+constexpr SkScalar kTextHeight = 14.0f;
+constexpr char kText[] = "Proportional Hamburgefons #% fi";
static void drawTestCase(SkCanvas* canvas,
SkScalar textScale,
diff --git a/gm/glyph_pos_align.cpp b/gm/glyph_pos_align.cpp
index 0ac877d0d0..e0bf83e4f2 100644
--- a/gm/glyph_pos_align.cpp
+++ b/gm/glyph_pos_align.cpp
@@ -12,10 +12,10 @@
/**
* This test exercises drawPosTextH and drawPosText with every text align.
*/
-static const int kWidth = 480;
-static const int kHeight = 600;
-static const SkScalar kTextHeight = 64.0f;
-static const int kMaxStringLength = 12;
+constexpr int kWidth = 480;
+constexpr int kHeight = 600;
+constexpr SkScalar kTextHeight = 64.0f;
+constexpr int kMaxStringLength = 12;
static void drawTestCase(SkCanvas*, const char*, SkScalar, const SkPaint&);
diff --git a/gm/gm.cpp b/gm/gm.cpp
index e0cb8b8772..b6cac0ce1f 100644
--- a/gm/gm.cpp
+++ b/gm/gm.cpp
@@ -80,7 +80,7 @@ void GM::DrawGpuOnlyMessage(SkCanvas* canvas) {
paint.setTextSize(20);
paint.setColor(SK_ColorRED);
sk_tool_utils::set_portable_typeface(&paint);
- static const char kTxt[] = "GPU Only";
+ constexpr char kTxt[] = "GPU Only";
bmpCanvas.drawText(kTxt, strlen(kTxt), 20, 40, paint);
SkMatrix localM;
localM.setRotate(35.f);
diff --git a/gm/gradientDirtyLaundry.cpp b/gm/gradientDirtyLaundry.cpp
index 6b16be9f01..dc52d9e655 100644
--- a/gm/gradientDirtyLaundry.cpp
+++ b/gm/gradientDirtyLaundry.cpp
@@ -15,7 +15,7 @@ struct GradData {
const SkScalar* fPos;
};
-static const SkColor gColors[] = {
+constexpr SkColor gColors[] = {
SK_ColorRED, SK_ColorGREEN, SK_ColorBLUE, SK_ColorWHITE, SK_ColorBLACK,
SK_ColorRED, SK_ColorGREEN, SK_ColorBLUE, SK_ColorWHITE, SK_ColorBLACK,
SK_ColorRED, SK_ColorGREEN, SK_ColorBLUE, SK_ColorWHITE, SK_ColorBLACK,
@@ -26,9 +26,9 @@ static const SkColor gColors[] = {
SK_ColorRED, SK_ColorGREEN, SK_ColorBLUE, SK_ColorWHITE, SK_ColorBLACK,
};
-//static const SkScalar gPos[] = { SK_Scalar1*999/2000, SK_Scalar1*1001/2000 };
+//constexpr SkScalar gPos[] = { SK_Scalar1*999/2000, SK_Scalar1*1001/2000 };
-static const GradData gGradData[] = {
+constexpr GradData gGradData[] = {
{ 40, gColors, nullptr },
// { 2, gColors, gPos },
// { 2, gCol2, nullptr },
@@ -51,7 +51,7 @@ static sk_sp<SkShader> MakeSweep(const SkPoint pts[2], const GradData& data, SkS
typedef sk_sp<SkShader> (*GradMaker)(const SkPoint pts[2], const GradData&, SkShader::TileMode);
-static const GradMaker gGradMakers[] = {
+constexpr GradMaker gGradMakers[] = {
MakeLinear, MakeRadial, MakeSweep,
};
diff --git a/gm/gradient_matrix.cpp b/gm/gradient_matrix.cpp
index 816891847d..3992a49d44 100644
--- a/gm/gradient_matrix.cpp
+++ b/gm/gradient_matrix.cpp
@@ -19,19 +19,19 @@
#include "gm.h"
-static const SkColor gColors[] = {
+constexpr SkColor gColors[] = {
SK_ColorRED, SK_ColorYELLOW
};
// These annoying defines are necessary, because the only other alternative
// is to use SkIntToScalar(...) everywhere.
-static const SkScalar sZero = 0;
-static const SkScalar sHalf = SK_ScalarHalf;
-static const SkScalar sOne = SK_Scalar1;
+constexpr SkScalar sZero = 0;
+constexpr SkScalar sHalf = SK_ScalarHalf;
+constexpr SkScalar sOne = SK_Scalar1;
// These arrays define the gradient stop points
// as x1, y1, x2, y2 per gradient to draw.
-static const SkPoint linearPts[][2] = {
+constexpr SkPoint linearPts[][2] = {
{{sZero, sZero}, {sOne, sZero}},
{{sZero, sZero}, {sZero, sOne}},
{{sOne, sZero}, {sZero, sZero}},
@@ -43,7 +43,7 @@ static const SkPoint linearPts[][2] = {
{{sZero, sOne}, {sOne, sZero}}
};
-static const SkPoint radialPts[][2] = {
+constexpr SkPoint radialPts[][2] = {
{{sZero, sHalf}, {sOne, sHalf}},
{{sHalf, sZero}, {sHalf, sOne}},
{{sOne, sHalf}, {sZero, sHalf}},
@@ -56,10 +56,10 @@ static const SkPoint radialPts[][2] = {
};
// These define the pixels allocated to each gradient image.
-static const SkScalar TESTGRID_X = SkIntToScalar(200);
-static const SkScalar TESTGRID_Y = SkIntToScalar(200);
+constexpr SkScalar TESTGRID_X = SkIntToScalar(200);
+constexpr SkScalar TESTGRID_Y = SkIntToScalar(200);
-static const int IMAGES_X = 4; // number of images per row
+constexpr int IMAGES_X = 4; // number of images per row
static sk_sp<SkShader> make_linear_gradient(const SkPoint pts[2], const SkMatrix& localMatrix) {
return SkGradientShader::MakeLinear(pts, gColors, nullptr, SK_ARRAY_COUNT(gColors),
diff --git a/gm/gradients.cpp b/gm/gradients.cpp
index 11c27baeca..4a68702559 100644
--- a/gm/gradients.cpp
+++ b/gm/gradients.cpp
@@ -17,21 +17,21 @@ struct GradData {
const SkScalar* fPos;
};
-static const SkColor gColors[] = {
+constexpr SkColor gColors[] = {
SK_ColorRED, SK_ColorGREEN, SK_ColorBLUE, SK_ColorWHITE, SK_ColorBLACK
};
-static const SkScalar gPos0[] = { 0, SK_Scalar1 };
-static const SkScalar gPos1[] = { SK_Scalar1/4, SK_Scalar1*3/4 };
-static const SkScalar gPos2[] = {
+constexpr SkScalar gPos0[] = { 0, SK_Scalar1 };
+constexpr SkScalar gPos1[] = { SK_Scalar1/4, SK_Scalar1*3/4 };
+constexpr SkScalar gPos2[] = {
0, SK_Scalar1/8, SK_Scalar1/2, SK_Scalar1*7/8, SK_Scalar1
};
-static const SkScalar gPosClamp[] = {0.0f, 0.0f, 1.0f, 1.0f};
-static const SkColor gColorClamp[] = {
+constexpr SkScalar gPosClamp[] = {0.0f, 0.0f, 1.0f, 1.0f};
+constexpr SkColor gColorClamp[] = {
SK_ColorRED, SK_ColorGREEN, SK_ColorGREEN, SK_ColorBLUE
};
-static const GradData gGradData[] = {
+constexpr GradData gGradData[] = {
{ 2, gColors, nullptr },
{ 2, gColors, gPos0 },
{ 2, gColors, gPos1 },
@@ -91,7 +91,7 @@ static sk_sp<SkShader> Make2Conical(const SkPoint pts[2], const GradData& data,
typedef sk_sp<SkShader> (*GradMaker)(const SkPoint pts[2], const GradData& data,
SkShader::TileMode tm, const SkMatrix& localMatrix);
-static const GradMaker gGradMakers[] = {
+constexpr GradMaker gGradMakers[] = {
MakeLinear, MakeRadial, MakeSweep, Make2Radial, Make2Conical
};
diff --git a/gm/gradients_2pt_conical.cpp b/gm/gradients_2pt_conical.cpp
index 28ed8bb965..ee1aee9e2d 100644
--- a/gm/gradients_2pt_conical.cpp
+++ b/gm/gradients_2pt_conical.cpp
@@ -16,21 +16,21 @@ struct GradData {
const SkScalar* fPos;
};
-static const SkColor gColors[] = {
+constexpr SkColor gColors[] = {
SK_ColorRED, SK_ColorGREEN, SK_ColorBLUE, SK_ColorWHITE, SK_ColorBLACK
};
-static const SkScalar gPos0[] = { 0, SK_Scalar1 };
-static const SkScalar gPos1[] = { SK_Scalar1/4, SK_Scalar1*3/4 };
-static const SkScalar gPos2[] = {
+constexpr SkScalar gPos0[] = { 0, SK_Scalar1 };
+constexpr SkScalar gPos1[] = { SK_Scalar1/4, SK_Scalar1*3/4 };
+constexpr SkScalar gPos2[] = {
0, SK_Scalar1/8, SK_Scalar1/2, SK_Scalar1*7/8, SK_Scalar1
};
-static const SkScalar gPosClamp[] = {0.0f, 0.0f, 1.0f, 1.0f};
-static const SkColor gColorClamp[] = {
+constexpr SkScalar gPosClamp[] = {0.0f, 0.0f, 1.0f, 1.0f};
+constexpr SkColor gColorClamp[] = {
SK_ColorRED, SK_ColorGREEN, SK_ColorGREEN, SK_ColorBLUE
};
-static const GradData gGradData[] = {
+constexpr GradData gGradData[] = {
{ 2, gColors, gPos0 },
{ 2, gColors, gPos1 },
{ 5, gColors, gPos2 },
@@ -250,17 +250,17 @@ static sk_sp<SkShader> Make2ConicalInsideSmallRad(const SkPoint pts[2], const Gr
typedef sk_sp<SkShader> (*GradMaker)(const SkPoint pts[2], const GradData& data,
SkShader::TileMode tm, const SkMatrix& localMatrix);
-static const GradMaker gGradMakersOutside[] = {
+constexpr GradMaker gGradMakersOutside[] = {
Make2ConicalOutside, Make2ConicalOutsideFlip,
Make2ConicalZeroRadOutside, Make2ConicalZeroRadFlipOutside
};
-static const GradMaker gGradMakersInside[] = {
+constexpr GradMaker gGradMakersInside[] = {
Make2ConicalInside, Make2ConicalInsideFlip, Make2ConicalInsideCenter,
Make2ConicalZeroRad, Make2ConicalZeroRadFlip, Make2ConicalZeroRadCenter,
};
-static const GradMaker gGradMakersEdgeCases[] = {
+constexpr GradMaker gGradMakersEdgeCases[] = {
Make2ConicalEdgeX, Make2ConicalEdgeY,
Make2ConicalZeroRadEdgeX, Make2ConicalZeroRadEdgeY,
Make2ConicalTouchX, Make2ConicalTouchY,
@@ -268,7 +268,7 @@ static const GradMaker gGradMakersEdgeCases[] = {
};
-static const struct {
+constexpr struct {
const GradMaker* fMaker;
const int fCount;
const char* fName;
diff --git a/gm/gradients_no_texture.cpp b/gm/gradients_no_texture.cpp
index b688aab4cb..5d0d4c9202 100644
--- a/gm/gradients_no_texture.cpp
+++ b/gm/gradients_no_texture.cpp
@@ -15,11 +15,11 @@ struct GradData {
const SkScalar* fPos;
};
-static const SkColor gColors[] = {
+constexpr SkColor gColors[] = {
SK_ColorRED, SK_ColorGREEN, SK_ColorBLUE, SK_ColorWHITE,
};
-static const GradData gGradData[] = {
+constexpr GradData gGradData[] = {
{ 1, gColors, nullptr },
{ 2, gColors, nullptr },
{ 3, gColors, nullptr },
@@ -71,7 +71,7 @@ static sk_sp<SkShader> Make2Conical(const SkPoint pts[2], const GradData& data,
typedef sk_sp<SkShader> (*GradMaker)(const SkPoint pts[2], const GradData& data, SkShader::TileMode tm);
-static const GradMaker gGradMakers[] = {
+constexpr GradMaker gGradMakers[] = {
MakeLinear, MakeRadial, MakeSweep, Make2Radial, Make2Conical,
};
@@ -92,16 +92,16 @@ protected:
SkISize onISize() override { return SkISize::Make(640, 615); }
void onDraw(SkCanvas* canvas) override {
- static const SkPoint kPts[2] = { { 0, 0 },
+ constexpr SkPoint kPts[2] = { { 0, 0 },
{ SkIntToScalar(50), SkIntToScalar(50) } };
- static const SkShader::TileMode kTM = SkShader::kClamp_TileMode;
+ constexpr SkShader::TileMode kTM = SkShader::kClamp_TileMode;
SkRect kRect = { 0, 0, SkIntToScalar(50), SkIntToScalar(50) };
SkPaint paint;
paint.setAntiAlias(true);
paint.setDither(fDither);
canvas->translate(SkIntToScalar(20), SkIntToScalar(20));
- static const uint8_t kAlphas[] = { 0xff, 0x40 };
+ constexpr uint8_t kAlphas[] = { 0xff, 0x40 };
for (size_t a = 0; a < SK_ARRAY_COUNT(kAlphas); ++a) {
for (size_t i = 0; i < SK_ARRAY_COUNT(gGradData); ++i) {
canvas->save();
diff --git a/gm/hairlines.cpp b/gm/hairlines.cpp
index 89c5cd3d4f..6ec5bdeb77 100644
--- a/gm/hairlines.cpp
+++ b/gm/hairlines.cpp
@@ -138,9 +138,9 @@ protected:
{
// Arc example to test imperfect truncation bug (crbug.com/295626)
- static const SkScalar kRad = SkIntToScalar(2000);
- static const SkScalar kStartAngle = 262.59717f;
- static const SkScalar kSweepAngle = SkScalarHalf(17.188717f);
+ constexpr SkScalar kRad = SkIntToScalar(2000);
+ constexpr SkScalar kStartAngle = 262.59717f;
+ constexpr SkScalar kSweepAngle = SkScalarHalf(17.188717f);
SkPath* bug = &fPaths.push_back();
@@ -163,8 +163,8 @@ protected:
}
void onDraw(SkCanvas* canvas) override {
- static const SkAlpha kAlphaValue[] = { 0xFF, 0x40 };
- static const SkScalar kWidths[] = { 0, 0.5f, 1.5f };
+ constexpr SkAlpha kAlphaValue[] = { 0xFF, 0x40 };
+ constexpr SkScalar kWidths[] = { 0, 0.5f, 1.5f };
enum {
kMargin = 5,
diff --git a/gm/hairmodes.cpp b/gm/hairmodes.cpp
index 2651d04104..de937c439b 100644
--- a/gm/hairmodes.cpp
+++ b/gm/hairmodes.cpp
@@ -10,7 +10,7 @@
#include "SkColorPriv.h"
#include "SkShader.h"
-static const struct {
+constexpr struct {
SkXfermode::Mode fMode;
const char* fLabel;
} gModes[] = {
@@ -88,7 +88,7 @@ namespace skiagm {
void onDraw(SkCanvas* canvas) override {
const SkRect bounds = SkRect::MakeWH(W, H);
- static const SkAlpha gAlphaValue[] = { 0xFF, 0x88, 0x88 };
+ constexpr SkAlpha gAlphaValue[] = { 0xFF, 0x88, 0x88 };
canvas->translate(SkIntToScalar(4), SkIntToScalar(4));
diff --git a/gm/image.cpp b/gm/image.cpp
index 400d421a40..f1bb5a4d62 100644
--- a/gm/image.cpp
+++ b/gm/image.cpp
@@ -132,17 +132,17 @@ protected:
canvas->scale(2, 2);
- static const char* kLabel1 = "Original Img";
- static const char* kLabel2 = "Modified Img";
- static const char* kLabel3 = "Cur Surface";
- static const char* kLabel4 = "Full Crop";
- static const char* kLabel5 = "Over-crop";
- static const char* kLabel6 = "Upper-left";
- static const char* kLabel7 = "No Crop";
-
- static const char* kLabel8 = "Pre-Alloc Img";
- static const char* kLabel9 = "New Alloc Img";
- static const char* kLabel10 = "GPU";
+ const char* kLabel1 = "Original Img";
+ const char* kLabel2 = "Modified Img";
+ const char* kLabel3 = "Cur Surface";
+ const char* kLabel4 = "Full Crop";
+ const char* kLabel5 = "Over-crop";
+ const char* kLabel6 = "Upper-left";
+ const char* kLabel7 = "No Crop";
+
+ const char* kLabel8 = "Pre-Alloc Img";
+ const char* kLabel9 = "New Alloc Img";
+ const char* kLabel10 = "GPU";
SkPaint textPaint;
textPaint.setAntiAlias(true);
@@ -453,7 +453,7 @@ DEF_SIMPLE_GM(new_texture_image, canvas, 225, 60) {
canvas->drawRect(SkRect::MakeXYWH(30.f,30.f,10.f,10.f), paint);
};
- static const int kSize = 50;
+ static constexpr int kSize = 50;
SkBitmap bmp;
bmp.allocN32Pixels(kSize, kSize);
SkCanvas bmpCanvas(bmp);
@@ -491,7 +491,7 @@ DEF_SIMPLE_GM(new_texture_image, canvas, 225, 60) {
}
};
- static const SkScalar kPad = 5.f;
+ constexpr SkScalar kPad = 5.f;
canvas->translate(kPad, kPad);
for (auto factory : imageFactories) {
auto image(factory());
diff --git a/gm/imageblur2.cpp b/gm/imageblur2.cpp
index c6835d8407..7431ded03f 100644
--- a/gm/imageblur2.cpp
+++ b/gm/imageblur2.cpp
@@ -14,7 +14,7 @@
#define WIDTH 500
#define HEIGHT 500
-static const float kBlurSigmas[] = {
+constexpr float kBlurSigmas[] = {
0.0, 0.3f, 0.5f, 2.0f, 32.0f, 80.0f };
const char* kTestStrings[] = {
diff --git a/gm/imagefromyuvtextures.cpp b/gm/imagefromyuvtextures.cpp
index e523d22988..13e0300bbc 100644
--- a/gm/imagefromyuvtextures.cpp
+++ b/gm/imagefromyuvtextures.cpp
@@ -38,7 +38,7 @@ protected:
// We create an RGB bitmap and then extract YUV bmps where the U and V bitmaps are
// subsampled by 2 in both dimensions.
SkPaint paint;
- static const SkColor kColors[] =
+ constexpr SkColor kColors[] =
{ SK_ColorBLUE, SK_ColorYELLOW, SK_ColorGREEN, SK_ColorWHITE };
paint.setShader(SkGradientShader::MakeRadial(SkPoint::Make(0,0), kBmpSize / 2.f, kColors,
nullptr, SK_ARRAY_COUNT(kColors),
@@ -131,7 +131,7 @@ protected:
}
- static const SkScalar kPad = 10.f;
+ constexpr SkScalar kPad = 10.f;
SkISize sizes[] = {
{ fYUVBmps[0].width(), fYUVBmps[0].height()},
@@ -161,7 +161,7 @@ private:
sk_sp<SkImage> fRGBImage;
SkBitmap fYUVBmps[3];
- static const int kBmpSize = 32;
+ static constexpr int kBmpSize = 32;
typedef GM INHERITED;
};
diff --git a/gm/imagemagnifier.cpp b/gm/imagemagnifier.cpp
index a012a9e396..88a6d10d96 100644
--- a/gm/imagemagnifier.cpp
+++ b/gm/imagemagnifier.cpp
@@ -72,7 +72,7 @@ DEF_SIMPLE_GM_BG(imagemagnifier_cropped, canvas, WIDTH_HEIGHT, WIDTH_HEIGHT, SK_
SkIntToScalar(WIDTH_HEIGHT-32));
srcRect.inset(64.0f, 64.0f);
- static const SkScalar kInset = 64.0f;
+ constexpr SkScalar kInset = 64.0f;
// Crop out a 16 pixel ring around the result
const SkRect rect = SkRect::MakeXYWH(16, 16, WIDTH_HEIGHT-32, WIDTH_HEIGHT-32);
diff --git a/gm/imagescalealigned.cpp b/gm/imagescalealigned.cpp
index 474490fd24..9498d32071 100644
--- a/gm/imagescalealigned.cpp
+++ b/gm/imagescalealigned.cpp
@@ -138,8 +138,8 @@ private:
return pt;
}
- static const unsigned kSegLen = 15;
- static const unsigned kStretchFactor = 4;
+ static constexpr unsigned kSegLen = 15;
+ static constexpr unsigned kStretchFactor = 4;
SkSTArray<2, ImageSet> fSets;
typedef GM INHERITED;
diff --git a/gm/imagesource2.cpp b/gm/imagesource2.cpp
index ba6af46cfb..70a91daabc 100644
--- a/gm/imagesource2.cpp
+++ b/gm/imagesource2.cpp
@@ -31,7 +31,7 @@ protected:
// Create an image with high frequency vertical stripes
void onOnceBeforeDraw() override {
- static const SkPMColor gColors[] = {
+ constexpr SkPMColor gColors[] = {
SK_ColorRED, SK_ColorGRAY,
SK_ColorGREEN, SK_ColorGRAY,
SK_ColorBLUE, SK_ColorGRAY,
@@ -73,7 +73,7 @@ protected:
}
private:
- static const int kImageSize = 503;
+ static constexpr int kImageSize = 503;
SkString fSuffix;
SkFilterQuality fFilter;
diff --git a/gm/imagetoyuvplanes.cpp b/gm/imagetoyuvplanes.cpp
index 63d3fa92da..d08257295a 100644
--- a/gm/imagetoyuvplanes.cpp
+++ b/gm/imagetoyuvplanes.cpp
@@ -25,7 +25,7 @@ static sk_sp<SkImage> create_image(GrContext* context, int width, int height) {
}
// Create an RGB image from which we will extract planes
SkPaint paint;
- static const SkColor kColors[] =
+ constexpr SkColor kColors[] =
{ SK_ColorBLUE, SK_ColorYELLOW, SK_ColorGREEN, SK_ColorWHITE };
SkScalar r = (width + height) / 4.f;
paint.setShader(SkGradientShader::MakeRadial(SkPoint::Make(0,0), r, kColors,
@@ -37,8 +37,8 @@ static sk_sp<SkImage> create_image(GrContext* context, int width, int height) {
}
DEF_SIMPLE_GM(image_to_yuv_planes, canvas, 120, 525) {
- static const SkScalar kPad = 5.f;
- static const int kImageSize = 32;
+ constexpr SkScalar kPad = 5.f;
+ constexpr int kImageSize = 32;
GrContext *context = canvas->getGrContext();
sk_sp<SkImage> rgbImage(create_image(context, kImageSize, kImageSize));
@@ -49,14 +49,14 @@ DEF_SIMPLE_GM(image_to_yuv_planes, canvas, 120, 525) {
canvas->drawImage(rgbImage.get(), kPad, kPad);
// Test cases where all three planes are the same size, where just u and v are the same size,
// and where all differ.
- static const SkISize kSizes[][3] = {
+ constexpr SkISize kSizes[][3] = {
{{kImageSize, kImageSize}, {kImageSize , kImageSize }, {kImageSize, kImageSize }},
{{kImageSize, kImageSize}, {kImageSize/2, kImageSize/2}, {kImageSize/2, kImageSize/2}},
{{kImageSize, kImageSize}, {kImageSize/2, kImageSize/2}, {kImageSize/3, kImageSize/3}}
};
// A mix of rowbytes triples to go with the above sizes.
- static const size_t kRowBytes[][3] {
+ constexpr size_t kRowBytes[][3] {
{0, 0, 0},
{kImageSize, kImageSize/2 + 1, kImageSize},
{kImageSize + 13, kImageSize, kImageSize/3 + 8}
diff --git a/gm/inversepaths.cpp b/gm/inversepaths.cpp
index 6eb054e22a..9a247e8192 100644
--- a/gm/inversepaths.cpp
+++ b/gm/inversepaths.cpp
@@ -47,7 +47,7 @@ struct Style {
};
sk_sp<SkPathEffect> make_dash() {
- static constexpr SkScalar kIntervals[] = { 4.f, 3.f };
+ constexpr SkScalar kIntervals[] = { 4.f, 3.f };
return SkDashPathEffect::Make(kIntervals, SK_ARRAY_COUNT(kIntervals), 0);
}
diff --git a/gm/largeglyphblur.cpp b/gm/largeglyphblur.cpp
index 6ffe953431..235c7cc5ad 100644
--- a/gm/largeglyphblur.cpp
+++ b/gm/largeglyphblur.cpp
@@ -23,7 +23,7 @@ DEF_SIMPLE_GM(largeglyphblur, canvas, 1920, 600) {
paint.setAntiAlias(true);
// setup up maskfilter
- static const SkScalar kSigma = SkBlurMask::ConvertRadiusToSigma(SkIntToScalar(40));
+ const SkScalar kSigma = SkBlurMask::ConvertRadiusToSigma(SkIntToScalar(40));
SkPaint blurPaint(paint);
blurPaint.setMaskFilter(SkBlurMaskFilter::Make(kNormal_SkBlurStyle, kSigma));
diff --git a/gm/lcdblendmodes.cpp b/gm/lcdblendmodes.cpp
index 42359e3aef..537c4cbda3 100644
--- a/gm/lcdblendmodes.cpp
+++ b/gm/lcdblendmodes.cpp
@@ -17,10 +17,10 @@
namespace skiagm {
-static const int kColWidth = 180;
-static const int kNumCols = 4;
-static const int kWidth = kColWidth * kNumCols;
-static const int kHeight = 750;
+constexpr int kColWidth = 180;
+constexpr int kNumCols = 4;
+constexpr int kWidth = kColWidth * kNumCols;
+constexpr int kHeight = 750;
static sk_sp<SkShader> make_shader(const SkRect& bounds) {
const SkPoint pts[] = {
diff --git a/gm/lcdoverlap.cpp b/gm/lcdoverlap.cpp
index aae27d8c1a..de159e19ac 100644
--- a/gm/lcdoverlap.cpp
+++ b/gm/lcdoverlap.cpp
@@ -17,8 +17,8 @@
namespace skiagm {
-static const int kWidth = 750;
-static const int kHeight = 750;
+constexpr int kWidth = 750;
+constexpr int kHeight = 750;
class LcdOverlapGM : public skiagm::GM {
public:
diff --git a/gm/lighting.cpp b/gm/lighting.cpp
index 7915c331d0..cd4132e1b5 100644
--- a/gm/lighting.cpp
+++ b/gm/lighting.cpp
@@ -158,14 +158,14 @@ protected:
}
bool onAnimate(const SkAnimTimer& timer) override {
- static const SkScalar kDesiredDurationSecs = 15.0f;
+ constexpr SkScalar kDesiredDurationSecs = 15.0f;
fAzimuth = kStartAzimuth + timer.scaled(360.0f/kDesiredDurationSecs, 360.0f);
return true;
}
private:
- static const int kStartAzimuth = 225;
+ static constexpr int kStartAzimuth = 225;
SkBitmap fBitmap;
SkScalar fAzimuth;
diff --git a/gm/lightingshader.cpp b/gm/lightingshader.cpp
index 137fd64a26..8576dd72d5 100644
--- a/gm/lightingshader.cpp
+++ b/gm/lightingshader.cpp
@@ -66,7 +66,7 @@ protected:
kLast_NormalMap = kTetra_NormalMap
};
- static const int kNormalMapCount = kLast_NormalMap+1;
+ static constexpr int kNormalMapCount = kLast_NormalMap+1;
SkString onShortName() override {
return SkString("lightingshader");
@@ -164,8 +164,8 @@ protected:
}
private:
- static const int kTexSize = 128;
- static const int kGMSize = 512;
+ static constexpr int kTexSize = 128;
+ static constexpr int kGMSize = 512;
SkBitmap fDiffuse;
SkBitmap fNormalMaps[kNormalMapCount];
diff --git a/gm/lightingshader2.cpp b/gm/lightingshader2.cpp
index 886c647ff7..2efcebb02d 100644
--- a/gm/lightingshader2.cpp
+++ b/gm/lightingshader2.cpp
@@ -254,7 +254,7 @@ protected:
}
private:
- static const int kTexSize = 96;
+ static constexpr int kTexSize = 96;
sk_sp<SkShader> fOpaqueDiffuse;
sk_sp<SkShader> fTranslucentDiffuse;
diff --git a/gm/linepaths.cpp b/gm/linepaths.cpp
index 51df788dd4..e7a0c9396c 100644
--- a/gm/linepaths.cpp
+++ b/gm/linepaths.cpp
@@ -33,7 +33,7 @@ static void draw(SkCanvas* canvas, bool doClose) {
SkPath::FillType fFill;
const char* fName;
};
- static const FillAndName gFills[] = {
+ constexpr FillAndName gFills[] = {
{SkPath::kWinding_FillType, "Winding"},
{SkPath::kEvenOdd_FillType, "Even / Odd"},
{SkPath::kInverseWinding_FillType, "Inverse Winding"},
@@ -43,7 +43,7 @@ static void draw(SkCanvas* canvas, bool doClose) {
SkPaint::Style fStyle;
const char* fName;
};
- static const StyleAndName gStyles[] = {
+ constexpr StyleAndName gStyles[] = {
{SkPaint::kFill_Style, "Fill"},
{SkPaint::kStroke_Style, "Stroke"},
{SkPaint::kStrokeAndFill_Style, "Stroke And Fill"},
@@ -53,7 +53,7 @@ static void draw(SkCanvas* canvas, bool doClose) {
SkPaint::Join fJoin;
const char* fName;
};
- static const CapAndName gCaps[] = {
+ constexpr CapAndName gCaps[] = {
{SkPaint::kButt_Cap, SkPaint::kBevel_Join, "Butt"},
{SkPaint::kRound_Cap, SkPaint::kRound_Join, "Round"},
{SkPaint::kSquare_Cap, SkPaint::kBevel_Join, "Square"}
diff --git a/gm/megalooper.cpp b/gm/megalooper.cpp
index 385c60efb1..6f071cb72c 100644
--- a/gm/megalooper.cpp
+++ b/gm/megalooper.cpp
@@ -68,11 +68,11 @@ protected:
}
private:
- static const int kWidth = 800;
- static const int kHeight = 800;
- static const int kHalfOuterClipSize = 100;
- static const int kHalfSquareSize = 50;
- static const int kOffsetToOutsideClip = kHalfSquareSize + kHalfOuterClipSize + 1;
+ static constexpr int kWidth = 800;
+ static constexpr int kHeight = 800;
+ static constexpr int kHalfOuterClipSize = 100;
+ static constexpr int kHalfSquareSize = 50;
+ static constexpr int kOffsetToOutsideClip = kHalfSquareSize + kHalfOuterClipSize + 1;
static const SkPoint gBlurOffsets[4];
static const SkColor gColors[4];
@@ -111,7 +111,7 @@ private:
}
static sk_sp<SkMaskFilter> MakeBlur() {
- static const SkScalar kBlurSigma = SkBlurMask::ConvertRadiusToSigma(SkIntToScalar(25));
+ const SkScalar kBlurSigma = SkBlurMask::ConvertRadiusToSigma(SkIntToScalar(25));
return SkBlurMaskFilter::Make(kNormal_SkBlurStyle, kBlurSigma,
SkBlurMaskFilter::kHighQuality_BlurFlag);
diff --git a/gm/mixedtextblobs.cpp b/gm/mixedtextblobs.cpp
index 9a9bded1db..66e2379ee6 100644
--- a/gm/mixedtextblobs.cpp
+++ b/gm/mixedtextblobs.cpp
@@ -155,8 +155,8 @@ private:
const char* fEmojiText;
SkAutoTUnref<const SkTextBlob> fBlob;
- static const int kWidth = 1250;
- static const int kHeight = 700;
+ static constexpr int kWidth = 1250;
+ static constexpr int kHeight = 700;
typedef GM INHERITED;
};
diff --git a/gm/modecolorfilters.cpp b/gm/modecolorfilters.cpp
index 4e5d45cf96..50bb27f9d8 100644
--- a/gm/modecolorfilters.cpp
+++ b/gm/modecolorfilters.cpp
@@ -16,7 +16,7 @@ namespace skiagm {
// Using gradients because GPU doesn't currently have an implementation of SkColorShader (duh!)
static sk_sp<SkShader> make_color_shader(SkColor color) {
- static const SkPoint kPts[] = {{0, 0}, {1, 1}};
+ constexpr SkPoint kPts[] = {{0, 0}, {1, 1}};
SkColor colors[] = {color, color};
return SkGradientShader::MakeLinear(kPts, colors, nullptr, 2, SkShader::kClamp_TileMode);
@@ -68,10 +68,10 @@ protected:
void onDraw(SkCanvas* canvas) override {
// size of rect for each test case
- static const int kRectWidth = 20;
- static const int kRectHeight = 20;
+ constexpr int kRectWidth = 20;
+ constexpr int kRectHeight = 20;
- static const int kCheckSize = 10;
+ constexpr int kCheckSize = 10;
if (!fBmpShader) {
fBmpShader = make_bg_shader(kCheckSize);
@@ -118,7 +118,7 @@ protected:
SkPaint paint;
int idx = 0;
- static const int kRectsPerRow = SkMax32(this->getISize().fWidth / kRectWidth, 1);
+ const int kRectsPerRow = SkMax32(this->getISize().fWidth / kRectWidth, 1);
for (size_t cfm = 0; cfm < SK_ARRAY_COUNT(modes); ++cfm) {
for (size_t cfc = 0; cfc < SK_ARRAY_COUNT(colors); ++cfc) {
paint.setColorFilter(SkColorFilter::MakeModeFilter(colors[cfc], modes[cfm]));
diff --git a/gm/multipicturedraw.cpp b/gm/multipicturedraw.cpp
index 83b0d5b86a..d7d81f283f 100644
--- a/gm/multipicturedraw.cpp
+++ b/gm/multipicturedraw.cpp
@@ -12,18 +12,18 @@
#include "SkPictureRecorder.h"
#include "SkSurface.h"
-static const SkScalar kRoot3Over2 = 0.86602545f; // sin(60)
-static const SkScalar kRoot3 = 1.73205081f;
+constexpr SkScalar kRoot3Over2 = 0.86602545f; // sin(60)
+constexpr SkScalar kRoot3 = 1.73205081f;
-static const int kHexSide = 30;
-static const int kNumHexX = 6;
-static const int kNumHexY = 6;
-static const int kPicWidth = kNumHexX * kHexSide;
-static const int kPicHeight = SkScalarCeilToInt((kNumHexY - 0.5f) * 2 * kHexSide * kRoot3Over2);
-static const SkScalar kInset = 20.0f;
-static const int kNumPictures = 4;
+constexpr int kHexSide = 30;
+constexpr int kNumHexX = 6;
+constexpr int kNumHexY = 6;
+constexpr int kPicWidth = kNumHexX * kHexSide;
+constexpr int kPicHeight = (int)((kNumHexY - 0.5f) * 2 * kHexSide * kRoot3Over2 + 0.5f);
+constexpr SkScalar kInset = 20.0f;
+constexpr int kNumPictures = 4;
-static const int kTriSide = 40;
+constexpr int kTriSide = 40;
// Create a hexagon centered at (originX, originY)
static SkPath make_hex_path(SkScalar originX, SkScalar originY) {
@@ -106,7 +106,7 @@ static sk_sp<SkPicture> make_single_layer_hex_plane_picture() {
SkPictureRecorder recorder;
SkRTreeFactory bbhFactory;
- static const SkScalar kBig = 10000.0f;
+ constexpr SkScalar kBig = 10000.0f;
SkCanvas* canvas = recorder.beginRecording(kBig, kBig, &bbhFactory);
canvas->saveLayer(nullptr, nullptr);
@@ -218,7 +218,7 @@ static sk_sp<SkPicture> make_sierpinski_picture() {
SkIntToScalar(kPicHeight),
&bbhFactory);
- static const int kNumLevels = 4;
+ constexpr int kNumLevels = 4;
for (int i = 0; i < kNumLevels; ++i) {
canvas->save();
canvas->translate(kPicWidth/2 - (i+1) * (kTriSide/2.0f), 0.0f);
@@ -336,7 +336,7 @@ static void big_layer(SkCanvas* canvas, const SkPicture* pictures[kNumPictures])
canvas->drawPicture(pictures[3]);
}
-static const PFContentMtd gContentMthds[] = {
+constexpr PFContentMtd gContentMthds[] = {
no_clip,
rect_clip,
rrect_clip,
@@ -391,15 +391,15 @@ static void tiled(SkCanvas* finalCanvas, SkMultiPictureDraw* mpd,
PFContentMtd pfGen,
const SkPicture* pictures[kNumPictures],
SkTArray<ComposeStep> *composeSteps) {
- static const int kNumTilesX = 2;
- static const int kNumTilesY = 2;
- static const int kTileWidth = kPicWidth / kNumTilesX;
- static const int kTileHeight = kPicHeight / kNumTilesY;
+ const int kNumTilesX = 2;
+ const int kNumTilesY = 2;
+ const int kTileWidth = kPicWidth / kNumTilesX;
+ const int kTileHeight = kPicHeight / kNumTilesY;
SkASSERT(kPicWidth == kNumTilesX * kTileWidth);
SkASSERT(kPicHeight == kNumTilesY * kTileHeight);
- static const SkColor colors[kNumTilesX][kNumTilesY] = {
+ const SkColor colors[kNumTilesX][kNumTilesY] = {
{ SK_ColorCYAN, SK_ColorMAGENTA },
{ SK_ColorYELLOW, SK_ColorGREEN }
};
@@ -426,7 +426,7 @@ static void tiled(SkCanvas* finalCanvas, SkMultiPictureDraw* mpd,
}
}
-static const PFLayoutMtd gLayoutMthds[] = { simple, tiled };
+constexpr PFLayoutMtd gLayoutMthds[] = { simple, tiled };
namespace skiagm {
/**
@@ -450,7 +450,7 @@ namespace skiagm {
kLast_Content = kBigLayer_Content
};
- static const int kContentCnt = kLast_Content + 1;
+ const int kContentCnt = kLast_Content + 1;
enum Layout {
kSimple_Layout,
@@ -459,7 +459,7 @@ namespace skiagm {
kLast_Layout = kTiled_Layout
};
- static const int kLayoutCnt = kLast_Layout + 1;
+ const int kLayoutCnt = kLast_Layout + 1;
MultiPictureDraw(Content content, Layout layout) : fContent(content), fLayout(layout) {
SkASSERT(SK_ARRAY_COUNT(gLayoutMthds) == kLayoutCnt);
@@ -511,11 +511,11 @@ namespace skiagm {
SkISize onISize() override { return SkISize::Make(kPicWidth, kPicHeight); }
SkString onShortName() override {
- static const char* gContentNames[] = {
+ const char* gContentNames[] = {
"noclip", "rectclip", "rrectclip", "pathclip",
"invpathclip", "sierpinski", "biglayer"
};
- static const char* gLayoutNames[] = { "simple", "tiled" };
+ const char* gLayoutNames[] = { "simple", "tiled" };
SkASSERT(SK_ARRAY_COUNT(gLayoutNames) == kLayoutCnt);
SkASSERT(SK_ARRAY_COUNT(gContentNames) == kContentCnt);
diff --git a/gm/nested.cpp b/gm/nested.cpp
index d3b75b370b..0b3cf19fb0 100644
--- a/gm/nested.cpp
+++ b/gm/nested.cpp
@@ -123,8 +123,8 @@ protected:
}
private:
- static const int kImageWidth = 269;
- static const int kImageHeight = 134;
+ static constexpr int kImageWidth = 269;
+ static constexpr int kImageHeight = 134;
bool fDoAA;
bool fFlipped;
diff --git a/gm/nonclosedpaths.cpp b/gm/nonclosedpaths.cpp
index a3d91b50a3..dc806f30b6 100644
--- a/gm/nonclosedpaths.cpp
+++ b/gm/nonclosedpaths.cpp
@@ -71,22 +71,22 @@ protected:
// Stroke widths are:
// 0(may use hairline rendering), 10(common case for stroke-style)
// 40 and 50(>= geometry width/height, make the contour filled in fact)
- static const int kStrokeWidth[] = {0, 10, 40, 50};
+ constexpr int kStrokeWidth[] = {0, 10, 40, 50};
int numWidths = SK_ARRAY_COUNT(kStrokeWidth);
- static const SkPaint::Style kStyle[] = {
+ constexpr SkPaint::Style kStyle[] = {
SkPaint::kStroke_Style, SkPaint::kStrokeAndFill_Style
};
- static const SkPaint::Cap kCap[] = {
+ constexpr SkPaint::Cap kCap[] = {
SkPaint::kButt_Cap, SkPaint::kRound_Cap, SkPaint::kSquare_Cap
};
- static const SkPaint::Join kJoin[] = {
+ constexpr SkPaint::Join kJoin[] = {
SkPaint::kMiter_Join, SkPaint::kRound_Join, SkPaint::kBevel_Join
};
- static const ClosureType kType[] = {
+ constexpr ClosureType kType[] = {
TotallyNonClosed, FakeCloseCorner, FakeCloseMiddle
};
diff --git a/gm/occludedrrectblur.cpp b/gm/occludedrrectblur.cpp
index e21a0141d6..059b47353f 100644
--- a/gm/occludedrrectblur.cpp
+++ b/gm/occludedrrectblur.cpp
@@ -65,7 +65,7 @@ static void draw_45(SkCanvas* canvas, SkRRect::Corner corner,
SkRRect::Corner left = SkRRect::kUpperLeft_Corner, right = SkRRect::kUpperLeft_Corner;
SkVector dir = { 0, 0 };
- static const SkScalar kSize = 64.0f / SK_ScalarSqrt2;
+ constexpr SkScalar kSize = 64.0f / SK_ScalarSqrt2;
switch (corner) {
case SkRRect::kUpperLeft_Corner:
@@ -88,11 +88,11 @@ static void draw_45(SkCanvas* canvas, SkRRect::Corner corner,
left = SkRRect::kLowerRight_Corner;
right = SkRRect::kUpperLeft_Corner;
dir.set(-SK_ScalarRoot2Over2, SK_ScalarRoot2Over2);
- break;
+ break;
default:
SkFAIL("Invalid shape.");
}
-
+
SkRect r = SkRect::MakeWH(kSize, kSize);
// UL, UR, LR, LL
SkVector radii[4] = { { 0.0f, 0.0f }, { 0.0f, 0.0f }, { 0.0f, 0.0f }, { 0.0f, 0.0f } };
@@ -110,9 +110,9 @@ static void draw_45(SkCanvas* canvas, SkRRect::Corner corner,
radii);
draw_rrect(canvas, rr, occRR);
-}
+}
-static void draw_45_simple(SkCanvas* canvas, const SkVector& v,
+static void draw_45_simple(SkCanvas* canvas, const SkVector& v,
SkScalar dist, const SkPoint& center) {
SkIRect r = SkIRect::MakeWH(64, 64);
SkRRect rr = SkRRect::MakeRectXY(
@@ -121,14 +121,14 @@ static void draw_45_simple(SkCanvas* canvas, const SkVector& v,
dist -= 10.0f;
SkRRect occRR = SkRRect::MakeRectXY(
- offset_center_to(r, center.fX + dist*v.fX, center.fY + dist*v.fY),
+ offset_center_to(r, center.fX + dist*v.fX, center.fY + dist*v.fY),
8, 8);
draw_rrect(canvas, rr, occRR);
}
static void draw_90(SkCanvas* canvas, const SkVector& v, SkScalar dist, const SkPoint& center) {
- static const int kWidth = 25;
+ constexpr int kWidth = 25;
SkIRect r;
if (fabs(v.fX) < fabs(v.fY)) {
@@ -148,10 +148,10 @@ static void draw_90(SkCanvas* canvas, const SkVector& v, SkScalar dist, const Sk
static void draw_90_simple(SkCanvas* canvas, const SkVector& v,
SkScalar dist, const SkPoint& center) {
- static const int kLength = 128;
+ constexpr int kLength = 128;
// The width needs to be larger than 2*3*blurRadii+2*cornerRadius for the analytic
// RRect blur to kick in
- static const int kWidth = 47;
+ constexpr int kWidth = 47;
SkIRect r;
if (fabs(v.fX) < fabs(v.fY)) {
@@ -175,8 +175,8 @@ static void draw_30_60(SkCanvas* canvas, SkRRect::Corner corner, const SkVector&
SkScalar dist, const SkPoint& center) {
SkRRect::Corner left = SkRRect::kUpperLeft_Corner, right = SkRRect::kUpperLeft_Corner;
- static const int kLength = 64;
- static const int kWidth = 30;
+ constexpr int kLength = 64;
+ constexpr int kWidth = 30;
switch (corner) {
case SkRRect::kUpperLeft_Corner:
@@ -194,7 +194,7 @@ static void draw_30_60(SkCanvas* canvas, SkRRect::Corner corner, const SkVector&
case SkRRect::kLowerLeft_Corner:
left = SkRRect::kLowerRight_Corner;
right = SkRRect::kUpperLeft_Corner;
- break;
+ break;
default:
SkFAIL("Invalid shape.");
}
@@ -215,7 +215,7 @@ static void draw_30_60(SkCanvas* canvas, SkRRect::Corner corner, const SkVector&
dist -= 10.0f;
SkRRect occRR;
occRR.setRectRadii(offset_center_to(r, center.fX + dist*v.fX, center.fY + dist*v.fY), radii);
- draw_rrect(canvas, rr, occRR);
+ draw_rrect(canvas, rr, occRR);
}
namespace skiagm {
@@ -272,7 +272,7 @@ protected:
draw_90(canvas, SkVector::Make(1.0f, 0.0f), 64, center);
draw_90(canvas, SkVector::Make(0.0f, 1.0f), 64, center);
- static const SkScalar kRoot3Over2 = 0.8660254037844386f;
+ constexpr SkScalar kRoot3Over2 = 0.8660254037844386f;
draw_30_60(canvas, SkRRect::kLowerLeft_Corner,
SkVector::Make(0.5f, kRoot3Over2), 120, center);
@@ -310,8 +310,8 @@ protected:
}
private:
- static const int kWidth = 440;
- static const int kHeight = 440;
+ static constexpr int kWidth = 440;
+ static constexpr int kHeight = 440;
typedef GM INHERITED;
};
diff --git a/gm/patchgrid.cpp b/gm/patchgrid.cpp
index 962c1a9dff..a36e58f727 100644
--- a/gm/patchgrid.cpp
+++ b/gm/patchgrid.cpp
@@ -105,8 +105,8 @@ protected:
{{50,325},{150,325},{250,325},{350,325},{450,325}}
};
- static const int kRows = 3;
- static const int kCols = 4;
+ constexpr int kRows = 3;
+ constexpr int kCols = 4;
canvas->scale(3, 3);
SkPatchGrid grid(kRows, kCols, SkPatchGrid::kColors_VertexType, nullptr);
diff --git a/gm/pathcontourstart.cpp b/gm/pathcontourstart.cpp
index 56f6492eb1..0e85e38796 100644
--- a/gm/pathcontourstart.cpp
+++ b/gm/pathcontourstart.cpp
@@ -90,8 +90,8 @@ protected:
}
private:
- static const int kImageWidth = 1200;
- static const int kImageHeight = 600;
+ static constexpr int kImageWidth = 1200;
+ static constexpr int kImageHeight = 600;
SkPaint fDashPaint, fPointsPaint;
SkRect fRect;
diff --git a/gm/patheffects.cpp b/gm/patheffects.cpp
index 9821b3a35d..9a1f62d7c8 100644
--- a/gm/patheffects.cpp
+++ b/gm/patheffects.cpp
@@ -48,7 +48,7 @@ static void dash_pe(SkPaint* paint) {
compose_pe(paint);
}
-static const int gXY[] = {
+constexpr int gXY[] = {
4, 0, 0, -4, 8, -4, 12, 0, 8, 4, 0, 4
};
@@ -73,7 +73,7 @@ static void one_d_pe(SkPaint* paint) {
}
typedef void (*PE_Proc)(SkPaint*);
-static const PE_Proc gPE[] = { hair_pe, hair2_pe, stroke_pe, dash_pe, one_d_pe };
+constexpr PE_Proc gPE[] = { hair_pe, hair2_pe, stroke_pe, dash_pe, one_d_pe };
static void fill_pe(SkPaint* paint) {
paint->setStyle(SkPaint::kFill_Style);
@@ -98,7 +98,7 @@ static void tile_pe(SkPaint* paint) {
paint->setPathEffect(MakeTileEffect());
}
-static const PE_Proc gPE2[] = { fill_pe, discrete_pe, tile_pe };
+constexpr PE_Proc gPE2[] = { fill_pe, discrete_pe, tile_pe };
class PathEffectGM : public GM {
public:
diff --git a/gm/pathfill.cpp b/gm/pathfill.cpp
index b4010ce606..3496cfd04d 100644
--- a/gm/pathfill.cpp
+++ b/gm/pathfill.cpp
@@ -23,7 +23,7 @@ static SkScalar make_frame(SkPath* path) {
}
static SkScalar make_triangle(SkPath* path) {
- static const int gCoord[] = {
+ constexpr int gCoord[] = {
10, 20, 15, 5, 30, 30
};
path->moveTo(SkIntToScalar(gCoord[0]), SkIntToScalar(gCoord[1]));
@@ -102,7 +102,7 @@ static SkScalar make_line(SkPath* path) {
return SkIntToScalar(40);
}
-static const MakePathProc gProcs[] = {
+constexpr MakePathProc gProcs[] = {
make_frame,
make_triangle,
make_rect,
diff --git a/gm/perspshaders.cpp b/gm/perspshaders.cpp
index 2b09cc64e0..b231291c65 100644
--- a/gm/perspshaders.cpp
+++ b/gm/perspshaders.cpp
@@ -56,10 +56,10 @@ protected:
{ 0, 0 },
{ 0, SkIntToScalar(kCellSize) }
};
- static const SkColor colors[] = {
+ constexpr SkColor colors[] = {
SK_ColorRED, SK_ColorGREEN, SK_ColorRED, SK_ColorGREEN, SK_ColorRED
};
- static const SkScalar pos[] = { 0, 0.25f, 0.5f, 0.75f, SK_Scalar1 };
+ constexpr SkScalar pos[] = { 0, 0.25f, 0.5f, 0.75f, SK_Scalar1 };
fLinearGrad1 = SkGradientShader::MakeLinear(pts1, colors, pos, SK_ARRAY_COUNT(colors),
SkShader::kClamp_TileMode);
@@ -151,9 +151,9 @@ protected:
canvas->translate(0, SkIntToScalar(kCellSize));
}
private:
- static const int kCellSize = 50;
- static const int kNumRows = 4;
- static const int kNumCols = 6;
+ static constexpr int kCellSize = 50;
+ static constexpr int kNumRows = 4;
+ static constexpr int kNumCols = 6;
bool fDoAA;
SkPath fPath;
diff --git a/gm/pictureimagegenerator.cpp b/gm/pictureimagegenerator.cpp
index 60e979fc3c..95efbb2055 100644
--- a/gm/pictureimagegenerator.cpp
+++ b/gm/pictureimagegenerator.cpp
@@ -16,10 +16,10 @@
#include "SkPictureRecorder.h"
static void draw_vector_logo(SkCanvas* canvas, const SkRect& viewBox) {
- static const char kSkiaStr[] = "SKIA";
- static const SkScalar kGradientPad = .1f;
- static const SkScalar kVerticalSpacing = 0.25f;
- static const SkScalar kAccentScale = 1.20f;
+ constexpr char kSkiaStr[] = "SKIA";
+ constexpr SkScalar kGradientPad = .1f;
+ constexpr SkScalar kVerticalSpacing = 0.25f;
+ constexpr SkScalar kAccentScale = 1.20f;
SkPaint paint;
paint.setAntiAlias(true);
diff --git a/gm/pictureshadertile.cpp b/gm/pictureshadertile.cpp
index 877431854c..10d5e5db37 100644
--- a/gm/pictureshadertile.cpp
+++ b/gm/pictureshadertile.cpp
@@ -12,11 +12,11 @@
#include "SkPictureRecorder.h"
#include "SkShader.h"
-static const SkScalar kPictureSize = SK_Scalar1;
-static const SkScalar kFillSize = 100;
-static const unsigned kRowSize = 6;
+constexpr SkScalar kPictureSize = SK_Scalar1;
+constexpr SkScalar kFillSize = 100;
+constexpr unsigned kRowSize = 6;
-static const struct {
+constexpr struct {
SkScalar x, y, w, h;
SkScalar offsetX, offsetY;
} tiles[] = {
diff --git a/gm/pixelsnap.cpp b/gm/pixelsnap.cpp
index 1711f5e36d..18fb7b2b75 100644
--- a/gm/pixelsnap.cpp
+++ b/gm/pixelsnap.cpp
@@ -17,15 +17,15 @@ public:
protected:
// kTrans should be even or checkboards wont agree in different test cases.
- static const int kTrans = 14;
- static const int kLabelPad = 4;
+ static constexpr int kTrans = 14;
+ static constexpr int kLabelPad = 4;
// The inverse of this value should be a perfect SkScalar.
- static const int kSubPixelSteps = 8;
- static const int kLabelTextSize = 9;
+ static constexpr int kSubPixelSteps = 8;
+ static constexpr int kLabelTextSize = 9;
static_assert(kSubPixelSteps < 99, "label_offset_too_small");
- static const int kLabelOffsetX = 2 * kLabelTextSize + kLabelPad;
- static const int kLabelOffsetY = kLabelTextSize + kLabelPad;
+ static constexpr int kLabelOffsetX = 2 * kLabelTextSize + kLabelPad;
+ static constexpr int kLabelOffsetY = kLabelTextSize + kLabelPad;
SkISize onISize() override {
return SkISize::Make((kSubPixelSteps + 1) * kTrans + kLabelOffsetX + kLabelPad,
diff --git a/gm/polygons.cpp b/gm/polygons.cpp
index a5756bbcc7..00fe336a6f 100644
--- a/gm/polygons.cpp
+++ b/gm/polygons.cpp
@@ -98,10 +98,10 @@ protected:
// Stroke widths are:
// 0(may use hairline rendering), 10(common case for stroke-style)
// 40(>= geometry width/height, make the contour filled in fact)
- static const int kStrokeWidths[] = {0, 10, 40};
+ constexpr int kStrokeWidths[] = {0, 10, 40};
SkASSERT(kNumStrokeWidths == SK_ARRAY_COUNT(kStrokeWidths));
- static const SkPaint::Join kJoins[] = {
+ constexpr SkPaint::Join kJoins[] = {
SkPaint::kMiter_Join, SkPaint::kRound_Join, SkPaint::kBevel_Join
};
SkASSERT(kNumJoins == SK_ARRAY_COUNT(kJoins));
@@ -131,7 +131,7 @@ protected:
}
// For stroke-and-fill style painter and fill style painter
- static const SkPaint::Style kStyles[] = {
+ constexpr SkPaint::Style kStyles[] = {
SkPaint::kStrokeAndFill_Style, SkPaint::kFill_Style
};
SkASSERT(kNumExtraStyles == SK_ARRAY_COUNT(kStyles));
@@ -152,11 +152,11 @@ protected:
}
private:
- static const int kNumPolygons = 8;
- static const int kCellSize = 100;
- static const int kNumExtraStyles = 2;
- static const int kNumStrokeWidths = 3;
- static const int kNumJoins = 3;
+ static constexpr int kNumPolygons = 8;
+ static constexpr int kCellSize = 100;
+ static constexpr int kNumExtraStyles = 2;
+ static constexpr int kNumStrokeWidths = 3;
+ static constexpr int kNumJoins = 3;
SkTArray<SkPath> fPolygons;
typedef GM INHERITED;
diff --git a/gm/quadpaths.cpp b/gm/quadpaths.cpp
index 359f62dd39..0578d2ea96 100644
--- a/gm/quadpaths.cpp
+++ b/gm/quadpaths.cpp
@@ -47,7 +47,7 @@ protected:
SkPath::FillType fFill;
const char* fName;
};
- static const FillAndName gFills[] = {
+ constexpr FillAndName gFills[] = {
{SkPath::kWinding_FillType, "Winding"},
{SkPath::kEvenOdd_FillType, "Even / Odd"},
{SkPath::kInverseWinding_FillType, "Inverse Winding"},
@@ -57,7 +57,7 @@ protected:
SkPaint::Style fStyle;
const char* fName;
};
- static const StyleAndName gStyles[] = {
+ constexpr StyleAndName gStyles[] = {
{SkPaint::kFill_Style, "Fill"},
{SkPaint::kStroke_Style, "Stroke"},
{SkPaint::kStrokeAndFill_Style, "Stroke And Fill"},
@@ -67,7 +67,7 @@ protected:
SkPaint::Join fJoin;
const char* fName;
};
- static const CapAndName gCaps[] = {
+ constexpr CapAndName gCaps[] = {
{SkPaint::kButt_Cap, SkPaint::kBevel_Join, "Butt"},
{SkPaint::kRound_Cap, SkPaint::kRound_Join, "Round"},
{SkPaint::kSquare_Cap, SkPaint::kBevel_Join, "Square"}
@@ -190,7 +190,7 @@ protected:
SkPath::FillType fFill;
const char* fName;
};
- static const FillAndName gFills[] = {
+ constexpr FillAndName gFills[] = {
{SkPath::kWinding_FillType, "Winding"},
{SkPath::kEvenOdd_FillType, "Even / Odd"},
{SkPath::kInverseWinding_FillType, "Inverse Winding"},
@@ -200,7 +200,7 @@ protected:
SkPaint::Style fStyle;
const char* fName;
};
- static const StyleAndName gStyles[] = {
+ constexpr StyleAndName gStyles[] = {
{SkPaint::kFill_Style, "Fill"},
{SkPaint::kStroke_Style, "Stroke"},
{SkPaint::kStrokeAndFill_Style, "Stroke And Fill"},
@@ -210,7 +210,7 @@ protected:
SkPaint::Join fJoin;
const char* fName;
};
- static const CapAndName gCaps[] = {
+ constexpr CapAndName gCaps[] = {
{SkPaint::kButt_Cap, SkPaint::kBevel_Join, "Butt"},
{SkPaint::kRound_Cap, SkPaint::kRound_Join, "Round"},
{SkPaint::kSquare_Cap, SkPaint::kBevel_Join, "Square"}
diff --git a/gm/recordopts.cpp b/gm/recordopts.cpp
index 4a5248d0ea..b98d2cc14b 100644
--- a/gm/recordopts.cpp
+++ b/gm/recordopts.cpp
@@ -13,8 +13,8 @@
#include "SkColorFilterImageFilter.h"
#include "SkPictureImageFilter.h"
-static const int kTestRectSize = 50;
-static const int kDetectorGreenValue = 50;
+constexpr int kTestRectSize = 50;
+constexpr int kDetectorGreenValue = 50;
// Below are few functions to install "detector" color filters. The filter is there to assert that
// the color value it sees is the expected. It will trigger only with kDetectorGreenValue, and
diff --git a/gm/rectangletexture.cpp b/gm/rectangletexture.cpp
index 3208c0d3ba..1359d34a69 100644
--- a/gm/rectangletexture.cpp
+++ b/gm/rectangletexture.cpp
@@ -127,9 +127,9 @@ protected:
return;
}
- static const int kWidth = 50;
- static const int kHeight = 50;
- static const SkScalar kPad = 5.f;
+ constexpr int kWidth = 50;
+ constexpr int kHeight = 50;
+ constexpr SkScalar kPad = 5.f;
SkPMColor pixels[kWidth * kHeight];
this->fillPixels(kWidth, kHeight, pixels);
@@ -138,19 +138,19 @@ protected:
if (!rectImg) {
SkPaint paint;
paint.setAntiAlias(true);
- static const char* kMsg = "Could not create rectangle texture image.";
+ const char* kMsg = "Could not create rectangle texture image.";
canvas->drawText(kMsg, strlen(kMsg), 10, 100, paint);
return;
}
- static const SkFilterQuality kQualities[] = {
+ constexpr SkFilterQuality kQualities[] = {
kNone_SkFilterQuality,
kLow_SkFilterQuality,
kMedium_SkFilterQuality,
kHigh_SkFilterQuality,
};
- static const SkScalar kScales[] = { 1.0f, 1.2f, 0.75f };
+ constexpr SkScalar kScales[] = { 1.0f, 1.2f, 0.75f };
canvas->translate(kPad, kPad);
for (auto s : kScales) {
diff --git a/gm/rrect.cpp b/gm/rrect.cpp
index 5106634728..660e72a647 100644
--- a/gm/rrect.cpp
+++ b/gm/rrect.cpp
@@ -136,7 +136,7 @@ protected:
}
void onDraw(SkCanvas* canvas) override {
- static const InsetProc insetProcs[] = {
+ constexpr InsetProc insetProcs[] = {
inset0, inset1, inset2, inset3
};
diff --git a/gm/rrectclipdrawpaint.cpp b/gm/rrectclipdrawpaint.cpp
index 3f5ded2be5..172faccd9e 100644
--- a/gm/rrectclipdrawpaint.cpp
+++ b/gm/rrectclipdrawpaint.cpp
@@ -32,8 +32,8 @@ DEF_SIMPLE_GM(rrect_clip_draw_paint, canvas, 256, 256) {
canvas->drawPaint(p);
canvas->restore();
- static constexpr SkPoint kPts[] = {{0.f, 0.f}, {256.f, 256.f}};
- static constexpr SkColor kColors1[] = {SK_ColorCYAN, SK_ColorGREEN};
+ constexpr SkPoint kPts[] = {{0.f, 0.f}, {256.f, 256.f}};
+ constexpr SkColor kColors1[] = {SK_ColorCYAN, SK_ColorGREEN};
p.setShader(SkGradientShader::MakeLinear(kPts, kColors1, nullptr, 2,
SkShader::kClamp_TileMode));
canvas->concat(zoomOut);
@@ -42,7 +42,7 @@ DEF_SIMPLE_GM(rrect_clip_draw_paint, canvas, 256, 256) {
canvas->drawPaint(p);
canvas->restore();
- static constexpr SkColor kColors2[] = {SK_ColorMAGENTA, SK_ColorGRAY};
+ constexpr SkColor kColors2[] = {SK_ColorMAGENTA, SK_ColorGRAY};
p.setShader(SkGradientShader::MakeRadial({128.f, 128.f}, 128.f, kColors2, nullptr, 2,
SkShader::kClamp_TileMode));
canvas->concat(zoomOut);
diff --git a/gm/rrects.cpp b/gm/rrects.cpp
index 0f3ac56fec..63b6dbc427 100644
--- a/gm/rrects.cpp
+++ b/gm/rrects.cpp
@@ -73,11 +73,11 @@ protected:
paint.setAntiAlias(true);
}
- static const SkRect kMaxTileBound = SkRect::MakeWH(SkIntToScalar(kTileX),
- SkIntToScalar(kTileY));
+ const SkRect kMaxTileBound = SkRect::MakeWH(SkIntToScalar(kTileX),
+ SkIntToScalar(kTileY));
#ifdef SK_DEBUG
- static const SkRect kMaxImageBound = SkRect::MakeWH(SkIntToScalar(kImageWidth),
- SkIntToScalar(kImageHeight));
+ const SkRect kMaxImageBound = SkRect::MakeWH(SkIntToScalar(kImageWidth),
+ SkIntToScalar(kImageHeight));
#endif
#if SK_SUPPORT_GPU
@@ -168,17 +168,17 @@ protected:
private:
Type fType;
- static const int kImageWidth = 640;
- static const int kImageHeight = 480;
+ static constexpr int kImageWidth = 640;
+ static constexpr int kImageHeight = 480;
- static const int kTileX = 80;
- static const int kTileY = 40;
+ static constexpr int kTileX = 80;
+ static constexpr int kTileY = 40;
- static const int kNumSimpleCases = 7;
- static const int kNumComplexCases = 35;
+ static constexpr int kNumSimpleCases = 7;
+ static constexpr int kNumComplexCases = 35;
static const SkVector gRadii[kNumComplexCases][4];
- static const int kNumRRects = kNumSimpleCases + kNumComplexCases;
+ static constexpr int kNumRRects = kNumSimpleCases + kNumComplexCases;
SkRRect fRRects[kNumRRects];
typedef GM INHERITED;
diff --git a/gm/samplerstress.cpp b/gm/samplerstress.cpp
index ee87f091f9..64a42b9630 100644
--- a/gm/samplerstress.cpp
+++ b/gm/samplerstress.cpp
@@ -42,8 +42,8 @@ protected:
return;
}
- static const int xSize = 16;
- static const int ySize = 16;
+ constexpr int xSize = 16;
+ constexpr int ySize = 16;
fTexture.allocN32Pixels(xSize, ySize);
SkPMColor* addr = fTexture.getAddr32(0, 0);
diff --git a/gm/shadertext.cpp b/gm/shadertext.cpp
index f794481399..7d54e77a9a 100644
--- a/gm/shadertext.cpp
+++ b/gm/shadertext.cpp
@@ -37,11 +37,11 @@ struct GradData {
const SkScalar* fPos;
};
-static const SkColor gColors[] = {
+constexpr SkColor gColors[] = {
SK_ColorRED, SK_ColorGREEN, SK_ColorBLUE, SK_ColorWHITE, SK_ColorBLACK
};
-static const GradData gGradData[] = {
+constexpr GradData gGradData[] = {
{ 2, gColors, nullptr },
{ 5, gColors, nullptr },
};
@@ -79,7 +79,7 @@ static sk_sp<SkShader> Make2Conical(const SkPoint pts[2], const GradData& data,
typedef sk_sp<SkShader> (*GradMaker)(const SkPoint pts[2], const GradData& data, SkShader::TileMode tm);
-static const GradMaker gGradMakers[] = {
+constexpr GradMaker gGradMakers[] = {
MakeLinear, MakeRadial, MakeSweep, Make2Conical
};
@@ -119,9 +119,9 @@ protected:
SkShader::kMirror_TileMode
};
- static const int gradCount = SK_ARRAY_COUNT(gGradData) *
+ constexpr int gradCount = SK_ARRAY_COUNT(gGradData) *
SK_ARRAY_COUNT(gGradMakers);
- static const int bmpCount = SK_ARRAY_COUNT(tileModes) *
+ constexpr int bmpCount = SK_ARRAY_COUNT(tileModes) *
SK_ARRAY_COUNT(tileModes);
sk_sp<SkShader> shaders[gradCount + bmpCount];
@@ -158,9 +158,9 @@ protected:
false);
path.close();
- static const int testsPerCol = 8;
- static const int rowHeight = 60;
- static const int colWidth = 300;
+ constexpr int testsPerCol = 8;
+ constexpr int rowHeight = 60;
+ constexpr int colWidth = 300;
canvas->save();
for (int s = 0; s < static_cast<int>(SK_ARRAY_COUNT(shaders)); s++) {
canvas->save();
diff --git a/gm/shadertext2.cpp b/gm/shadertext2.cpp
index 2ec1952599..6fd784ac7d 100644
--- a/gm/shadertext2.cpp
+++ b/gm/shadertext2.cpp
@@ -15,11 +15,11 @@ static void makebm(SkBitmap* bm, int w, int h) {
SkCanvas canvas(*bm);
SkScalar s = SkIntToScalar(SkMin32(w, h));
- static const SkPoint kPts0[] = { { 0, 0 }, { s, s } };
- static const SkPoint kPts1[] = { { s, 0 }, { 0, s } };
- static const SkScalar kPos[] = { 0, SK_Scalar1/2, SK_Scalar1 };
- static const SkColor kColors0[] = {0x40FF00FF, 0xF0FFFF00, 0x4000FFFF };
- static const SkColor kColors1[] = {0xF0FF00FF, 0x80FFFF00, 0xF000FFFF };
+ const SkPoint kPts0[] = { { 0, 0 }, { s, s } };
+ const SkPoint kPts1[] = { { s, 0 }, { 0, s } };
+ const SkScalar kPos[] = { 0, SK_Scalar1/2, SK_Scalar1 };
+ const SkColor kColors0[] = {0x40FF00FF, 0xF0FFFF00, 0x4000FFFF };
+ const SkColor kColors1[] = {0xF0FF00FF, 0x80FFFF00, 0xF000FFFF };
SkPaint paint;
@@ -41,9 +41,9 @@ struct LabeledMatrix {
DEF_SIMPLE_GM_BG(shadertext2, canvas, 1800, 900,
sk_tool_utils::color_to_565(0xFFDDDDDD)) {
- static const char kText[] = "SKIA";
- static const int kTextLen = SK_ARRAY_COUNT(kText) - 1;
- static const int kPointSize = 55;
+ constexpr char kText[] = "SKIA";
+ constexpr int kTextLen = SK_ARRAY_COUNT(kText) - 1;
+ constexpr int kPointSize = 55;
SkTDArray<LabeledMatrix> matrices;
matrices.append()->fMatrix.reset();
@@ -105,7 +105,7 @@ DEF_SIMPLE_GM_BG(shadertext2, canvas, 1800, 900,
canvas->drawBitmap(bmp, 0, 0);
canvas->translate(0, bmp.height() + labelPaint.getTextSize() + 15.f);
- static const char kLabelLabel[] = "localM / canvasM";
+ constexpr char kLabelLabel[] = "localM / canvasM";
canvas->drawText(kLabelLabel, strlen(kLabelLabel), 0, 0, labelPaint);
canvas->translate(0, 15.f);
@@ -172,8 +172,8 @@ DEF_SIMPLE_GM_BG(shadertext2, canvas, 1800, 900,
if (0 == s) {
canvas->drawLine(0.f, -kPadY, 0.f, columnH + kPadY, outlinePaint);
canvas->translate(kPadX / 2, 0.f);
- static const char kFillLabel[] = "Filled";
- static const char kStrokeLabel[] = "Stroked";
+ constexpr char kFillLabel[] = "Filled";
+ constexpr char kStrokeLabel[] = "Stroked";
SkScalar y = columnH + kPadY / 2;
SkScalar fillX = -outlinePaint.measureText(kFillLabel, strlen(kFillLabel)) - kPadX;
SkScalar strokeX = kPadX;
diff --git a/gm/shadertext3.cpp b/gm/shadertext3.cpp
index 9f3301ee04..b811ac97e4 100644
--- a/gm/shadertext3.cpp
+++ b/gm/shadertext3.cpp
@@ -17,11 +17,11 @@ static void makebm(SkBitmap* bm, int w, int h) {
SkCanvas canvas(*bm);
SkScalar s = SkIntToScalar(SkMin32(w, h));
- static const SkPoint kPts0[] = { { 0, 0 }, { s, s } };
- static const SkPoint kPts1[] = { { s/2, 0 }, { s/2, s } };
- static const SkScalar kPos[] = { 0, SK_Scalar1/2, SK_Scalar1 };
- static const SkColor kColors0[] = {0x80F00080, 0xF0F08000, 0x800080F0 };
- static const SkColor kColors1[] = {0xF08000F0, 0x8080F000, 0xF000F080 };
+ const SkPoint kPts0[] = { { 0, 0 }, { s, s } };
+ const SkPoint kPts1[] = { { s/2, 0 }, { s/2, s } };
+ const SkScalar kPos[] = { 0, SK_Scalar1/2, SK_Scalar1 };
+ const SkColor kColors0[] = {0x80F00080, 0xF0F08000, 0x800080F0 };
+ const SkColor kColors1[] = {0xF08000F0, 0x8080F000, 0xF000F080 };
SkPaint paint;
@@ -41,9 +41,9 @@ struct LabeledMatrix {
const char* fLabel;
};
-static const char kText[] = "B";
-static const int kTextLen = SK_ARRAY_COUNT(kText) - 1;
-static const int kPointSize = 300;
+constexpr char kText[] = "B";
+constexpr int kTextLen = SK_ARRAY_COUNT(kText) - 1;
+constexpr int kPointSize = 300;
class ShaderText3GM : public GM {
public:
@@ -83,7 +83,7 @@ protected:
// draw glyphs scaled up
canvas->scale(2.f, 2.f);
- static const SkShader::TileMode kTileModes[] = {
+ constexpr SkShader::TileMode kTileModes[] = {
SkShader::kRepeat_TileMode,
SkShader::kMirror_TileMode,
};
diff --git a/gm/shadowmaps.cpp b/gm/shadowmaps.cpp
index d8682ce44f..acbf27532b 100644
--- a/gm/shadowmaps.cpp
+++ b/gm/shadowmaps.cpp
@@ -84,8 +84,8 @@ public:
}
protected:
- static const int kWidth = 400;
- static const int kHeight = 400;
+ constexpr int kWidth = 400;
+ constexpr int kHeight = 400;
SkString onShortName() override {
return SkString("shadowmaps");
diff --git a/gm/shadows.cpp b/gm/shadows.cpp
index fcaeeb72d3..e642070db8 100644
--- a/gm/shadows.cpp
+++ b/gm/shadows.cpp
@@ -87,7 +87,7 @@ protected:
SkBlurDrawLooper::kHighQuality_BlurFlag),
};
- static const struct {
+ constexpr struct {
SkColor fColor;
SkScalar fStrokeWidth;
} gRec[] = {
diff --git a/gm/simpleaaclip.cpp b/gm/simpleaaclip.cpp
index 3b10c47ea0..b5aa3ae2a3 100644
--- a/gm/simpleaaclip.cpp
+++ b/gm/simpleaaclip.cpp
@@ -141,7 +141,7 @@ protected:
void onDraw(SkCanvas* canvas) override {
- static const struct {
+ const struct {
SkColor fColor;
const char* fName;
SkRegion::Op fOp;
diff --git a/gm/smallpaths.cpp b/gm/smallpaths.cpp
index 926b2a2273..ddbb60dcfd 100644
--- a/gm/smallpaths.cpp
+++ b/gm/smallpaths.cpp
@@ -11,7 +11,7 @@
typedef SkScalar (*MakePathProc)(SkPath*);
static SkScalar make_triangle(SkPath* path) {
- static const int gCoord[] = {
+ constexpr int gCoord[] = {
10, 20, 15, 5, 30, 30
};
path->moveTo(SkIntToScalar(gCoord[0]), SkIntToScalar(gCoord[1]));
@@ -154,7 +154,7 @@ static SkScalar make_battery2(SkPath* path) {
return SkIntToScalar(70);
}
-static const MakePathProc gProcs[] = {
+constexpr MakePathProc gProcs[] = {
make_triangle,
make_rect,
make_oval,
@@ -167,7 +167,7 @@ static const MakePathProc gProcs[] = {
make_battery2
};
-static const SkScalar gWidths[] = {
+constexpr SkScalar gWidths[] = {
2.0f,
3.0f,
4.0f,
@@ -180,7 +180,7 @@ static const SkScalar gWidths[] = {
0.0f,
};
-static const SkScalar gMiters[] = {
+constexpr SkScalar gMiters[] = {
2.0f,
3.0f,
3.0f,
diff --git a/gm/stringart.cpp b/gm/stringart.cpp
index 1da87578d0..e21e8f2b51 100644
--- a/gm/stringart.cpp
+++ b/gm/stringart.cpp
@@ -12,10 +12,10 @@
// Reproduces https://code.google.com/p/chromium/issues/detail?id=279014
-static const int kWidth = 440;
-static const int kHeight = 440;
-static const SkScalar kAngle = 0.305f;
-static const int kMaxNumSteps = 140;
+constexpr int kWidth = 440;
+constexpr int kHeight = 440;
+constexpr SkScalar kAngle = 0.305f;
+constexpr int kMaxNumSteps = 140;
// Renders a string art shape.
// The particular shape rendered can be controlled by adjusting kAngle, from 0 to 1
@@ -61,7 +61,7 @@ protected:
}
bool onAnimate(const SkAnimTimer& timer) override {
- static const SkScalar kDesiredDurationSecs = 3.0f;
+ constexpr SkScalar kDesiredDurationSecs = 3.0f;
// Make the animation ping-pong back and forth but start in the fully drawn state
SkScalar fraction = 1.0f - timer.scaled(2.0f/kDesiredDurationSecs, 2.0f);
diff --git a/gm/stroke_rect_shader.cpp b/gm/stroke_rect_shader.cpp
index 0eb09e9a6f..1826f629f6 100644
--- a/gm/stroke_rect_shader.cpp
+++ b/gm/stroke_rect_shader.cpp
@@ -14,9 +14,9 @@ namespace skiagm {
// bevel, miter, miter-limited-to-bevel, round
// and as a hairline.
DEF_SIMPLE_GM(stroke_rect_shader, canvas, 690, 300) {
- static constexpr SkRect kRect {0, 0, 100, 100};
- static constexpr SkPoint kPts[] {{kRect.fLeft, kRect.fTop}, {kRect.fRight, kRect.fBottom}};
- static constexpr SkColor kColors[] {SK_ColorRED, SK_ColorBLUE};
+ constexpr SkRect kRect {0, 0, 100, 100};
+ constexpr SkPoint kPts[] {{kRect.fLeft, kRect.fTop}, {kRect.fRight, kRect.fBottom}};
+ constexpr SkColor kColors[] {SK_ColorRED, SK_ColorBLUE};
SkPaint paint;
sk_sp<SkShader> shader = SkGradientShader::MakeLinear(kPts, kColors, nullptr, 2,
SkShader::kClamp_TileMode);
@@ -25,12 +25,12 @@ DEF_SIMPLE_GM(stroke_rect_shader, canvas, 690, 300) {
// Do a large initial translate so that local coords disagree with device coords significantly
// for the first rect drawn.
canvas->translate(kRect.centerX(), kRect.centerY());
- static constexpr SkScalar kPad = 20;
+ constexpr SkScalar kPad = 20;
for (auto aa : {false, true}) {
paint.setAntiAlias(aa);
canvas->save();
- static constexpr SkScalar kStrokeWidth = 10;
+ constexpr SkScalar kStrokeWidth = 10;
paint.setStrokeWidth(kStrokeWidth);
paint.setStrokeJoin(SkPaint::kBevel_Join);
diff --git a/gm/strokedlines.cpp b/gm/strokedlines.cpp
index f0eb6b45cf..7bcb3fb578 100644
--- a/gm/strokedlines.cpp
+++ b/gm/strokedlines.cpp
@@ -13,12 +13,12 @@
#include "SkPath.h"
#include "SkPoint3.h"
-static const int kNumColumns = 6;
-static const int kNumRows = 8;
-static const int kRadius = 40; // radius of the snowflake
-static const int kPad = 5; // padding on both sides of the snowflake
-static const int kNumSpokes = 6;
-static const SkScalar kStrokeWidth = 5.0f;
+constexpr int kNumColumns = 6;
+constexpr int kNumRows = 8;
+constexpr int kRadius = 40; // radius of the snowflake
+constexpr int kPad = 5; // padding on both sides of the snowflake
+constexpr int kNumSpokes = 6;
+constexpr SkScalar kStrokeWidth = 5.0f;
static void draw_fins(SkCanvas* canvas, const SkPoint& offset, float angle, const SkPaint& paint) {
SkScalar cos, sin;
diff --git a/gm/strokerect.cpp b/gm/strokerect.cpp
index 7b14854d76..1d5d803ca6 100644
--- a/gm/strokerect.cpp
+++ b/gm/strokerect.cpp
@@ -63,13 +63,13 @@ protected:
paint.setStyle(SkPaint::kStroke_Style);
paint.setStrokeWidth(STROKE_WIDTH);
- static const SkPaint::Join gJoins[] = {
+ constexpr SkPaint::Join gJoins[] = {
SkPaint::kMiter_Join, SkPaint::kRound_Join, SkPaint::kBevel_Join
};
- static const SkScalar W = 80;
- static const SkScalar H = 80;
- static const SkRect gRects[] = {
+ constexpr SkScalar W = 80;
+ constexpr SkScalar H = 80;
+ constexpr SkRect gRects[] = {
{ 0, 0, W, H },
{ W, 0, 0, H },
{ 0, H, W, 0 },
diff --git a/gm/strokerects.cpp b/gm/strokerects.cpp
index afd41b2206..fc5743eb74 100644
--- a/gm/strokerects.cpp
+++ b/gm/strokerects.cpp
@@ -16,8 +16,8 @@ namespace skiagm {
#define H 400
#define N 100
-static const SkScalar SW = SkIntToScalar(W);
-static const SkScalar SH = SkIntToScalar(H);
+constexpr SkScalar SW = SkIntToScalar(W);
+constexpr SkScalar SH = SkIntToScalar(H);
class StrokeRectsGM : public GM {
public:
diff --git a/gm/strokes.cpp b/gm/strokes.cpp
index afbe5ee4da..218f845c6e 100644
--- a/gm/strokes.cpp
+++ b/gm/strokes.cpp
@@ -15,8 +15,8 @@
#define H 400
#define N 50
-static const SkScalar SW = SkIntToScalar(W);
-static const SkScalar SH = SkIntToScalar(H);
+constexpr SkScalar SW = SkIntToScalar(W);
+constexpr SkScalar SH = SkIntToScalar(H);
static void rnd_rect(SkRect* r, SkPaint* paint, SkRandom& rand) {
SkScalar x = rand.nextUScalar1() * W;
diff --git a/gm/tallstretchedbitmaps.cpp b/gm/tallstretchedbitmaps.cpp
index f22f2d2663..b70ae3dc35 100644
--- a/gm/tallstretchedbitmaps.cpp
+++ b/gm/tallstretchedbitmaps.cpp
@@ -12,12 +12,12 @@
#include "SkRandom.h"
int make_bm(SkBitmap* bm, int height) {
- static const int kRadius = 22;
- static const int kMargin = 8;
- static const SkScalar kStartAngle = 0;
- static const SkScalar kDAngle = 25;
- static const SkScalar kSweep = 320;
- static const SkScalar kThickness = 8;
+ constexpr int kRadius = 22;
+ constexpr int kMargin = 8;
+ constexpr SkScalar kStartAngle = 0;
+ constexpr SkScalar kDAngle = 25;
+ constexpr SkScalar kSweep = 320;
+ constexpr SkScalar kThickness = 8;
int count = (height / (2 * kRadius + kMargin));
height = count * (2 * kRadius + kMargin);
diff --git a/gm/texdata.cpp b/gm/texdata.cpp
index 0c23749e02..5fb90839f9 100644
--- a/gm/texdata.cpp
+++ b/gm/texdata.cpp
@@ -17,7 +17,7 @@
#include "effects/GrPorterDuffXferProcessor.h"
#include "effects/GrSimpleTextureEffect.h"
-static const int S = 200;
+constexpr int S = 200;
DEF_SIMPLE_GM_BG(texdata, canvas, 2 * S, 2 * S, SK_ColorBLACK) {
GrDrawContext* drawContext = canvas->internal_private_accessTopLayerDrawContext();
@@ -32,13 +32,13 @@ DEF_SIMPLE_GM_BG(texdata, canvas, 2 * S, 2 * S, SK_ColorBLACK) {
}
SkAutoTArray<SkPMColor> gTextureData((2 * S) * (2 * S));
- static const int stride = 2 * S;
- static const SkPMColor gray = SkPackARGB32(0x40, 0x40, 0x40, 0x40);
- static const SkPMColor white = SkPackARGB32(0xff, 0xff, 0xff, 0xff);
- static const SkPMColor red = SkPackARGB32(0x80, 0x80, 0x00, 0x00);
- static const SkPMColor blue = SkPackARGB32(0x80, 0x00, 0x00, 0x80);
- static const SkPMColor green = SkPackARGB32(0x80, 0x00, 0x80, 0x00);
- static const SkPMColor black = SkPackARGB32(0x00, 0x00, 0x00, 0x00);
+ constexpr int stride = 2 * S;
+ const SkPMColor gray = SkPackARGB32(0x40, 0x40, 0x40, 0x40);
+ const SkPMColor white = SkPackARGB32(0xff, 0xff, 0xff, 0xff);
+ const SkPMColor red = SkPackARGB32(0x80, 0x80, 0x00, 0x00);
+ const SkPMColor blue = SkPackARGB32(0x80, 0x00, 0x00, 0x80);
+ const SkPMColor green = SkPackARGB32(0x80, 0x00, 0x80, 0x00);
+ const SkPMColor black = SkPackARGB32(0x00, 0x00, 0x00, 0x00);
for (int i = 0; i < 2; ++i) {
int offset = 0;
// fill upper-left
diff --git a/gm/textblobblockreordering.cpp b/gm/textblobblockreordering.cpp
index 31ba3c72de..ea90308b1f 100644
--- a/gm/textblobblockreordering.cpp
+++ b/gm/textblobblockreordering.cpp
@@ -79,8 +79,8 @@ protected:
private:
SkAutoTUnref<const SkTextBlob> fBlob;
- static const int kWidth = 275;
- static const int kHeight = 200;
+ static constexpr int kWidth = 275;
+ static constexpr int kHeight = 200;
typedef GM INHERITED;
};
diff --git a/gm/textblobcolortrans.cpp b/gm/textblobcolortrans.cpp
index 0e4e0ff98b..1e7a66667a 100644
--- a/gm/textblobcolortrans.cpp
+++ b/gm/textblobcolortrans.cpp
@@ -89,8 +89,8 @@ protected:
private:
SkAutoTUnref<const SkTextBlob> fBlob;
- static const int kWidth = 675;
- static const int kHeight = 1600;
+ static constexpr int kWidth = 675;
+ static constexpr int kHeight = 1600;
typedef GM INHERITED;
};
diff --git a/gm/textblobgeometrychange.cpp b/gm/textblobgeometrychange.cpp
index 5e3f0d15e6..9e33e95e74 100644
--- a/gm/textblobgeometrychange.cpp
+++ b/gm/textblobgeometrychange.cpp
@@ -65,8 +65,8 @@ protected:
}
private:
- static const int kWidth = 200;
- static const int kHeight = 200;
+ static constexpr int kWidth = 200;
+ static constexpr int kHeight = 200;
typedef GM INHERITED;
};
diff --git a/gm/textbloblooper.cpp b/gm/textbloblooper.cpp
index 066546ee2b..752fd54a41 100644
--- a/gm/textbloblooper.cpp
+++ b/gm/textbloblooper.cpp
@@ -20,8 +20,8 @@
namespace skiagm {
-static const int kWidth = 1250;
-static const int kHeight = 700;
+constexpr int kWidth = 1250;
+constexpr int kHeight = 700;
// Unlike the variant in sk_tool_utils, this version positions the glyphs on a diagonal
static void add_to_text_blob(SkTextBlobBuilder* builder, const char* text, const SkPaint& origPaint,
diff --git a/gm/textblobmixedsizes.cpp b/gm/textblobmixedsizes.cpp
index 4e3f0eaeb5..6ce0eafe62 100644
--- a/gm/textblobmixedsizes.cpp
+++ b/gm/textblobmixedsizes.cpp
@@ -118,8 +118,8 @@ protected:
SkRect bounds = fBlob->bounds();
- static const int kPadX = SkScalarFloorToInt(bounds.width() / 3);
- static const int kPadY = SkScalarFloorToInt(bounds.height() / 3);
+ const int kPadX = SkScalarFloorToInt(bounds.width() / 3);
+ const int kPadY = SkScalarFloorToInt(bounds.height() / 3);
int rowCount = 0;
canvas->translate(SkIntToScalar(kPadX), SkIntToScalar(kPadY));
@@ -132,13 +132,13 @@ protected:
}
paint.setAntiAlias(false);
- static const SkScalar kSigma = SkBlurMask::ConvertRadiusToSigma(SkIntToScalar(8));
+ const SkScalar kSigma = SkBlurMask::ConvertRadiusToSigma(SkIntToScalar(8));
// setup blur paint
SkPaint blurPaint(paint);
blurPaint.setColor(sk_tool_utils::color_to_565(SK_ColorBLACK));
blurPaint.setMaskFilter(SkBlurMaskFilter::Make(kNormal_SkBlurStyle, kSigma));
-
+
for (int i = 0; i < 4; i++) {
canvas->save();
switch (i % 2) {
@@ -179,8 +179,8 @@ protected:
private:
SkAutoTUnref<const SkTextBlob> fBlob;
- static const int kWidth = 2100;
- static const int kHeight = 1900;
+ static constexpr int kWidth = 2100;
+ static constexpr int kHeight = 1900;
bool fUseDFT;
diff --git a/gm/textblobrandomfont.cpp b/gm/textblobrandomfont.cpp
index 2e8249fc2c..583f4fc5b3 100644
--- a/gm/textblobrandomfont.cpp
+++ b/gm/textblobrandomfont.cpp
@@ -138,8 +138,8 @@ protected:
private:
SkAutoTUnref<const SkTextBlob> fBlob;
- static const int kWidth = 2000;
- static const int kHeight = 1600;
+ static constexpr int kWidth = 2000;
+ static constexpr int kHeight = 1600;
typedef GM INHERITED;
};
diff --git a/gm/textblobshader.cpp b/gm/textblobshader.cpp
index 6a8fa49289..bb0e03c4f3 100644
--- a/gm/textblobshader.cpp
+++ b/gm/textblobshader.cpp
@@ -89,8 +89,8 @@ protected:
p.setShader(fShader);
SkISize sz = this->onISize();
- static const int kXCount = 4;
- static const int kYCount = 3;
+ constexpr int kXCount = 4;
+ constexpr int kYCount = 3;
for (int i = 0; i < kXCount; ++i) {
for (int j = 0; j < kYCount; ++j) {
canvas->drawTextBlob(fBlob,
diff --git a/gm/textblobtransforms.cpp b/gm/textblobtransforms.cpp
index eed18095f0..537ddb1616 100644
--- a/gm/textblobtransforms.cpp
+++ b/gm/textblobtransforms.cpp
@@ -160,8 +160,8 @@ protected:
private:
SkAutoTUnref<const SkTextBlob> fBlob;
- static const int kWidth = 1000;
- static const int kHeight = 1200;
+ static constexpr int kWidth = 1000;
+ static constexpr int kHeight = 1200;
typedef GM INHERITED;
};
diff --git a/gm/textblobuseaftergpufree.cpp b/gm/textblobuseaftergpufree.cpp
index 61df533cf7..c104e9b121 100644
--- a/gm/textblobuseaftergpufree.cpp
+++ b/gm/textblobuseaftergpufree.cpp
@@ -62,8 +62,8 @@ protected:
}
private:
- static const int kWidth = 200;
- static const int kHeight = 200;
+ static constexpr int kWidth = 200;
+ static constexpr int kHeight = 200;
typedef GM INHERITED;
};
diff --git a/gm/texteffects.cpp b/gm/texteffects.cpp
index f0d2752f74..c89b4e003b 100644
--- a/gm/texteffects.cpp
+++ b/gm/texteffects.cpp
@@ -146,7 +146,7 @@ static void r9(SkLayerRasterizer::Builder* rastBuilder, SkPaint& p) {
typedef void (*raster_proc)(SkLayerRasterizer::Builder*, SkPaint&);
-static const raster_proc gRastProcs[] = {
+constexpr raster_proc gRastProcs[] = {
r0, r1, r2, r3, r4, r5, r6, r7, r8, r9
};
diff --git a/gm/texturedomaineffect.cpp b/gm/texturedomaineffect.cpp
index ba574b6b09..2dd340e425 100644
--- a/gm/texturedomaineffect.cpp
+++ b/gm/texturedomaineffect.cpp
@@ -138,19 +138,15 @@ protected:
}
private:
- static const SkScalar kDrawPad;
- static const SkScalar kTestPad;
- static const int kTargetWidth = 100;
- static const int kTargetHeight = 100;
+ static constexpr SkScalar kDrawPad = 10.f;
+ static constexpr SkScalar kTestPad = 10.f;;
+ static constexpr int kTargetWidth = 100;
+ static constexpr int kTargetHeight = 100;
SkBitmap fBmp;
typedef GM INHERITED;
};
-// Windows builds did not like SkScalar initialization in class :(
-const SkScalar TextureDomainEffect::kDrawPad = 10.f;
-const SkScalar TextureDomainEffect::kTestPad = 10.f;
-
DEF_GM(return new TextureDomainEffect;)
}
diff --git a/gm/thinrects.cpp b/gm/thinrects.cpp
index a25176c476..999028c7ec 100644
--- a/gm/thinrects.cpp
+++ b/gm/thinrects.cpp
@@ -65,7 +65,7 @@ protected:
private:
static void DrawVertRects(SkCanvas* canvas, const SkPaint& p) {
- static const SkRect vertRects[] = {
+ constexpr SkRect vertRects[] = {
{ 1, 1, 5.0f, 21 }, // 4 pix wide
{ 8, 1, 10.0f, 21 }, // 2 pix wide
{ 13, 1, 14.0f, 21 }, // 1 pix wide
@@ -81,7 +81,7 @@ private:
}
static void DrawHorizRects(SkCanvas* canvas, const SkPaint& p) {
- static const SkRect horizRects[] = {
+ constexpr SkRect horizRects[] = {
{ 1, 1, 21, 5.0f }, // 4 pix high
{ 1, 8, 21, 10.0f }, // 2 pix high
{ 1, 13, 21, 14.0f }, // 1 pix high
@@ -97,7 +97,7 @@ private:
}
static void DrawSquares(SkCanvas* canvas, const SkPaint& p) {
- static const SkRect squares[] = {
+ constexpr SkRect squares[] = {
{ 1, 1, 5.0f, 5.0f }, // 4 pix
{ 8, 8, 10.0f, 10.0f }, // 2 pix
{ 13, 13, 14.0f, 14.0f }, // 1 pix
diff --git a/gm/thinstrokedrects.cpp b/gm/thinstrokedrects.cpp
index 73e1f529df..a4f2f1318b 100644
--- a/gm/thinstrokedrects.cpp
+++ b/gm/thinstrokedrects.cpp
@@ -32,10 +32,10 @@ protected:
paint.setStyle(SkPaint::kStroke_Style);
paint.setAntiAlias(true);
- static const SkRect rect = { 0, 0, 10, 10 };
- static const SkRect rect2 = { 0, 0, 20, 20 };
+ constexpr SkRect rect = { 0, 0, 10, 10 };
+ constexpr SkRect rect2 = { 0, 0, 20, 20 };
- static const SkScalar gStrokeWidths[] = {
+ constexpr SkScalar gStrokeWidths[] = {
4, 2, 1, 0.5f, 0.25f, 0.125f, 0
};
diff --git a/gm/tilemodes.cpp b/gm/tilemodes.cpp
index c944fe7b7a..b1f6d14984 100644
--- a/gm/tilemodes.cpp
+++ b/gm/tilemodes.cpp
@@ -39,7 +39,7 @@ static void setup(SkPaint* paint, const SkBitmap& bm, bool filter,
paint->setFilterQuality(filter ? kLow_SkFilterQuality : kNone_SkFilterQuality);
}
-static const SkColorType gColorTypes[] = {
+constexpr SkColorType gColorTypes[] = {
kN32_SkColorType,
kRGB_565_SkColorType,
};
@@ -82,13 +82,14 @@ protected:
SkRect r = { 0, 0, SkIntToScalar(size*2), SkIntToScalar(size*2) };
- static const char* gConfigNames[] = { "8888", "565", "4444" };
+ const char* gConfigNames[] = { "8888", "565", "4444" };
- static const bool gFilters[] = { false, true };
- static const char* gFilterNames[] = { "point", "bilinear" };
+ constexpr bool gFilters[] = { false, true };
+ static const char* gFilterNames[] = { "point", "bilinear" };
- static const SkShader::TileMode gModes[] = { SkShader::kClamp_TileMode, SkShader::kRepeat_TileMode, SkShader::kMirror_TileMode };
- static const char* gModeNames[] = { "C", "R", "M" };
+ constexpr SkShader::TileMode gModes[] = {
+ SkShader::kClamp_TileMode, SkShader::kRepeat_TileMode, SkShader::kMirror_TileMode };
+ static const char* gModeNames[] = { "C", "R", "M" };
SkScalar y = SkIntToScalar(24);
SkScalar x = SkIntToScalar(10);
@@ -153,8 +154,8 @@ private:
typedef skiagm::GM INHERITED;
};
-static const int gWidth = 32;
-static const int gHeight = 32;
+constexpr int gWidth = 32;
+constexpr int gHeight = 32;
static sk_sp<SkShader> make_bm(SkShader::TileMode tx, SkShader::TileMode ty) {
SkBitmap bm;
@@ -205,10 +206,10 @@ protected:
const SkScalar h = SkIntToScalar(gHeight);
SkRect r = { -w, -h, w*2, h*2 };
- static const SkShader::TileMode gModes[] = {
+ constexpr SkShader::TileMode gModes[] = {
SkShader::kClamp_TileMode, SkShader::kRepeat_TileMode, SkShader::kMirror_TileMode
};
- static const char* gModeNames[] = {
+ const char* gModeNames[] = {
"Clamp", "Repeat", "Mirror"
};
diff --git a/gm/tilemodes_scaled.cpp b/gm/tilemodes_scaled.cpp
index 897c829a24..580931f278 100644
--- a/gm/tilemodes_scaled.cpp
+++ b/gm/tilemodes_scaled.cpp
@@ -38,7 +38,7 @@ static void setup(SkPaint* paint, const SkBitmap& bm, SkFilterQuality filter_lev
paint->setFilterQuality(filter_level);
}
-static const SkColorType gColorTypes[] = {
+constexpr SkColorType gColorTypes[] = {
kN32_SkColorType,
kRGB_565_SkColorType,
};
@@ -81,17 +81,18 @@ protected:
SkRect r = { 0, 0, SkIntToScalar(size*2), SkIntToScalar(size*2) };
- static const char* gColorTypeNames[] = { "8888" , "565", "4444" };
+ const char* gColorTypeNames[] = { "8888" , "565", "4444" };
- static const SkFilterQuality gFilterQualitys[] =
+ constexpr SkFilterQuality gFilterQualitys[] =
{ kNone_SkFilterQuality,
kLow_SkFilterQuality,
kMedium_SkFilterQuality,
kHigh_SkFilterQuality };
- static const char* gFilterNames[] = { "None", "Low", "Medium", "High" };
+ const char* gFilterNames[] = { "None", "Low", "Medium", "High" };
- static const SkShader::TileMode gModes[] = { SkShader::kClamp_TileMode, SkShader::kRepeat_TileMode, SkShader::kMirror_TileMode };
- static const char* gModeNames[] = { "C", "R", "M" };
+ constexpr SkShader::TileMode gModes[] = {
+ SkShader::kClamp_TileMode, SkShader::kRepeat_TileMode, SkShader::kMirror_TileMode };
+ const char* gModeNames[] = { "C", "R", "M" };
SkScalar y = SkIntToScalar(24);
SkScalar x = SkIntToScalar(10)/scale;
@@ -156,8 +157,8 @@ private:
typedef skiagm::GM INHERITED;
};
-static const int gWidth = 32;
-static const int gHeight = 32;
+constexpr int gWidth = 32;
+constexpr int gHeight = 32;
static sk_sp<SkShader> make_bm(SkShader::TileMode tx, SkShader::TileMode ty) {
SkBitmap bm;
@@ -209,10 +210,10 @@ protected:
const SkScalar h = SkIntToScalar(gHeight);
SkRect r = { -w, -h, w*2, h*2 };
- static const SkShader::TileMode gModes[] = {
+ constexpr SkShader::TileMode gModes[] = {
SkShader::kClamp_TileMode, SkShader::kRepeat_TileMode, SkShader::kMirror_TileMode
};
- static const char* gModeNames[] = {
+ const char* gModeNames[] = {
"Clamp", "Repeat", "Mirror"
};
diff --git a/gm/typeface.cpp b/gm/typeface.cpp
index d22a276862..8303b37358 100644
--- a/gm/typeface.cpp
+++ b/gm/typeface.cpp
@@ -71,7 +71,7 @@ static void drawKernText(SkCanvas* canvas, const void* text, size_t len,
canvas->drawPosText(glyphs, glyphCount * sizeof(uint16_t), pos, glyphPaint);
}
-static const struct {
+constexpr struct {
const char* fName;
SkTypeface::Style fStyle;
} gFaceStyles[] = {
@@ -89,7 +89,7 @@ static const struct {
{ "monospace", SkTypeface::kBoldItalic },
};
-static const int gFaceStylesCount = SK_ARRAY_COUNT(gFaceStyles);
+constexpr int gFaceStylesCount = SK_ARRAY_COUNT(gFaceStyles);
class TypefaceStylesGM : public skiagm::GM {
sk_sp<SkTypeface> fFaces[gFaceStylesCount];
diff --git a/gm/variedtext.cpp b/gm/variedtext.cpp
index e33c40b743..b17bb7012a 100644
--- a/gm/variedtext.cpp
+++ b/gm/variedtext.cpp
@@ -72,8 +72,8 @@ protected:
fColors[i] |= 0xFF000000;
fColors[i] = sk_tool_utils::color_to_565(fColors[i]);
- static const SkScalar kMinPtSize = 8.f;
- static const SkScalar kMaxPtSize = 32.f;
+ constexpr SkScalar kMinPtSize = 8.f;
+ constexpr SkScalar kMaxPtSize = 32.f;
fPtSizes[i] = random.nextRangeScalar(kMinPtSize, kMaxPtSize);
@@ -134,9 +134,9 @@ protected:
bool runAsBench() const override { return true; }
private:
- static const int kCnt = 30;
- static const int kMinLength = 15;
- static const int kMaxLength = 40;
+ static constexpr int kCnt = 30;
+ static constexpr int kMinLength = 15;
+ static constexpr int kMaxLength = 40;
bool fEffectiveClip;
bool fLCD;
diff --git a/gm/vertices.cpp b/gm/vertices.cpp
index 978d9e69c5..2d6e37d987 100644
--- a/gm/vertices.cpp
+++ b/gm/vertices.cpp
@@ -79,7 +79,7 @@ protected:
void onDraw(SkCanvas* canvas) override {
// start with the center of a 3x3 grid
- static const uint16_t fan[] = {
+ constexpr uint16_t fan[] = {
4,
0, 1, 2, 5, 8, 7, 6, 3, 0
};
diff --git a/gm/verttext.cpp b/gm/verttext.cpp
index 37cf37cbad..700fb25e41 100644
--- a/gm/verttext.cpp
+++ b/gm/verttext.cpp
@@ -13,17 +13,17 @@
namespace skiagm {
#define TEXT_SIZE 48
-static const char gText[] = "Hello";
+constexpr char gText[] = "Hello";
//Before shaping
-//static const char gText[] = "「テスト。」";
-//static const char gText[] = {0xE3,0x80,0x8C, 0xE3,0x83,0x86, 0xE3,0x82,0xB9, 0xE3,0x83,0x88, 0xE3,0x80,0x82, 0xE3,0x80,0x8D, 0x0};
+//constexpr char gText[] = "「テスト。」";
+//constexpr char gText[] = {0xE3,0x80,0x8C, 0xE3,0x83,0x86, 0xE3,0x82,0xB9, 0xE3,0x83,0x88, 0xE3,0x80,0x82, 0xE3,0x80,0x8D, 0x0};
//After shaping
-//static const char gText[] = "﹁テスト︒﹂";
-//static const char gText[] = {0xEF,0xB9,0x81, 0xE3,0x83,0x86, 0xE3,0x82,0xB9, 0xE3,0x83,0x88, 0xEF,0xB8,0x92, 0xEF,0xB9,0x82, 0x0};
+//constexpr char gText[] = "﹁テスト︒﹂";
+//constexpr char gText[] = {0xEF,0xB9,0x81, 0xE3,0x83,0x86, 0xE3,0x82,0xB9, 0xE3,0x83,0x88, 0xEF,0xB8,0x92, 0xEF,0xB9,0x82, 0x0};
-static const size_t gLen = sizeof(gText) - sizeof(gText[0]);
+constexpr size_t gLen = sizeof(gText) - sizeof(gText[0]);
class VertTextGM : public GM {
public:
diff --git a/gm/xfermodeimagefilter.cpp b/gm/xfermodeimagefilter.cpp
index ee6822a3f4..0ff0ea9dd1 100644
--- a/gm/xfermodeimagefilter.cpp
+++ b/gm/xfermodeimagefilter.cpp
@@ -148,7 +148,7 @@ protected:
y += fBitmap.height() + MARGIN;
}
// Test cropping
- static const size_t nbSamples = 3;
+ constexpr size_t nbSamples = 3;
SkXfermode::Mode sampledModes[nbSamples] = {SkXfermode::kOverlay_Mode,
SkXfermode::kSrcOver_Mode,
SkXfermode::kPlus_Mode};
diff --git a/gm/xfermodes2.cpp b/gm/xfermodes2.cpp
index b0d6ca3def..6f7d05475c 100644
--- a/gm/xfermodes2.cpp
+++ b/gm/xfermodes2.cpp
@@ -84,7 +84,7 @@ protected:
private:
void onOnceBeforeDraw() override {
- static const uint32_t kCheckData[] = {
+ const uint32_t kCheckData[] = {
SkPackARGB32(0xFF, 0x42, 0x41, 0x42),
SkPackARGB32(0xFF, 0xD6, 0xD3, 0xD6),
SkPackARGB32(0xFF, 0xD6, 0xD3, 0xD6),
diff --git a/gm/xfermodes3.cpp b/gm/xfermodes3.cpp
index 642175e5a1..300b78f2a2 100644
--- a/gm/xfermodes3.cpp
+++ b/gm/xfermodes3.cpp
@@ -48,13 +48,13 @@ protected:
labelP.setAntiAlias(true);
sk_tool_utils::set_portable_typeface(&labelP);
- static const SkColor kSolidColors[] = {
+ constexpr SkColor kSolidColors[] = {
SK_ColorTRANSPARENT,
SK_ColorBLUE,
0x80808000
};
- static const SkColor kBmpAlphas[] = {
+ constexpr SkColor kBmpAlphas[] = {
0xff,
0x80,
};
@@ -63,7 +63,7 @@ protected:
int test = 0;
int x = 0, y = 0;
- static const struct { SkPaint::Style fStyle; SkScalar fWidth; } kStrokes[] = {
+ constexpr struct { SkPaint::Style fStyle; SkScalar fWidth; } kStrokes[] = {
{SkPaint::kFill_Style, 0},
{SkPaint::kStroke_Style, SkIntToScalar(kSize) / 2},
};
@@ -173,7 +173,7 @@ private:
}
void onOnceBeforeDraw() override {
- static const uint32_t kCheckData[] = {
+ const uint32_t kCheckData[] = {
SkPackARGB32(0xFF, 0x42, 0x41, 0x42),
SkPackARGB32(0xFF, 0xD6, 0xD3, 0xD6),
SkPackARGB32(0xFF, 0xD6, 0xD3, 0xD6),
diff --git a/gm/yuvtorgbeffect.cpp b/gm/yuvtorgbeffect.cpp
index 0be30088c8..d064cf3cf4 100644
--- a/gm/yuvtorgbeffect.cpp
+++ b/gm/yuvtorgbeffect.cpp
@@ -94,9 +94,9 @@ protected:
return;
}
- static const SkScalar kDrawPad = 10.f;
- static const SkScalar kTestPad = 10.f;
- static const SkScalar kColorSpaceOffset = 36.f;
+ constexpr SkScalar kDrawPad = 10.f;
+ constexpr SkScalar kTestPad = 10.f;
+ constexpr SkScalar kColorSpaceOffset = 36.f;
SkISize sizes[3] = {{YSIZE, YSIZE}, {USIZE, USIZE}, {VSIZE, VSIZE}};
for (int space = kJPEG_SkYUVColorSpace; space <= kLastEnum_SkYUVColorSpace;
@@ -211,9 +211,9 @@ protected:
return;
}
- static const SkScalar kDrawPad = 10.f;
- static const SkScalar kTestPad = 10.f;
- static const SkScalar kColorSpaceOffset = 36.f;
+ constexpr SkScalar kDrawPad = 10.f;
+ constexpr SkScalar kTestPad = 10.f;
+ constexpr SkScalar kColorSpaceOffset = 36.f;
SkISize sizes[3] = {{YSIZE, YSIZE}, {USIZE, USIZE}, {VSIZE, VSIZE}};
for (int space = kJPEG_SkYUVColorSpace; space <= kLastEnum_SkYUVColorSpace; ++space) {