aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
-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) {