Chromium Code Reviews| Index: gm/hardstop_gradients.cpp |
| diff --git a/gm/hardstop_gradients.cpp b/gm/hardstop_gradients.cpp |
| index c1baa2f1c652002ae9920092292239a59ece1070..949288b324e40a5a6a7bd85f287cf620dcbf8145 100644 |
| --- a/gm/hardstop_gradients.cpp |
| +++ b/gm/hardstop_gradients.cpp |
| @@ -14,16 +14,15 @@ |
| * order to highlight the differences between tile modes, the gradient |
| * starts and ends at 30 pixel inset from either side of the rectangle. |
| * |
| - * | Clamp Repeat Mirror |
| - * _____________________|___________________________________________ |
| - * 2-color | rect00 rect01 rect02 |
| - * 3-color | rect10 rect11 rect12 |
| - * 5-color hard stop | rect20 rect21 rect22 |
| - * 5-color edge case 1 | rect30 rect31 rect32 |
| - * 5-color edge case 2 | rect40 rect41 rect42 |
| - * |
| - * The LAST two t-values in edge case 1 are the same, while the FIRST |
| - * two t-values in edge case 2 are the same. |
| + * | Clamp Repeat Mirror |
| + * ___________________________|___________________________________________ |
| + * 2-color | rect00 rect01 rect02 |
| + * 3-color even | rect10 rect11 rect12 |
| + * 3-color texture | rect20 rect21 rect22 |
|
tomhudson
2016/08/03 14:14:36
I can intuit meanings of most of these names if I
|
| + * 5-color hard stop | rect30 rect31 rect32 |
| + * 4-color hard stop centered | rect40 rect41 rect42 |
| + * 3-color hard stop 001 | rect50 rect51 rect52 |
| + * 3-color hard stop 011 | rect60 rect61 rect62 |
| */ |
| #include "gm.h" |
| @@ -33,7 +32,7 @@ |
| const int WIDTH = 500; |
| const int HEIGHT = 500; |
| -const int NUM_ROWS = 5; |
| +const int NUM_ROWS = 7; |
| const int NUM_COLS = 3; |
| const int CELL_WIDTH = WIDTH / NUM_COLS; |
| @@ -60,9 +59,9 @@ static void shade_rect(SkCanvas* canvas, sk_sp<SkShader> shader, int cellRow, in |
| static void create_gradient_points(int cellRow, int cellCol, SkPoint points[2]) { |
| const int X_OFFSET = 30; |
| - auto x0 = SkIntToScalar(cellCol * CELL_WIDTH + PAD_WIDTH + X_OFFSET); |
| - auto x1 = SkIntToScalar((cellCol+1) * CELL_WIDTH - PAD_WIDTH - X_OFFSET); |
| - auto y = SkIntToScalar(cellRow * CELL_HEIGHT + PAD_HEIGHT + RECT_HEIGHT/2); |
| + auto x0 = SkIntToScalar(cellCol * CELL_WIDTH + PAD_WIDTH + X_OFFSET); |
| + auto x1 = SkIntToScalar((cellCol+1) * CELL_WIDTH - PAD_WIDTH - X_OFFSET); |
| + auto y = SkIntToScalar(cellRow * CELL_HEIGHT + PAD_HEIGHT + RECT_HEIGHT/2); |
| points[0] = SkPoint::Make(x0, y); |
| points[1] = SkPoint::Make(x1, y); |
| @@ -94,27 +93,33 @@ protected: |
| SK_ColorMAGENTA, |
| }; |
| - SkScalar row3[] = {0.00f, 0.25f, 0.50f, 0.50f, 1.00f}; |
| - SkScalar row4[] = {0.00f, 0.25f, 0.50f, 1.00f, 1.00f}; |
| - SkScalar row5[] = {0.00f, 0.00f, 0.50f, 0.50f, 1.00f}; |
| + SkScalar row3[] = {0.00f, 0.25f, 1.00f}; |
| + SkScalar row4[] = {0.00f, 0.25f, 0.50f, 0.50f, 1.00f}; |
| + SkScalar row5[] = {0.00f, 0.50f, 0.50f, 1.00f}; |
| + SkScalar row6[] = {0.00f, 0.00f, 1.00f}; |
| + SkScalar row7[] = {0.00f, 1.00f, 1.00f}; |
| - SkScalar* positions[] = { |
| + SkScalar* positions[NUM_ROWS] = { |
| nullptr, |
| nullptr, |
| row3, |
| row4, |
| row5, |
| + row6, |
| + row7, |
| }; |
| - int numGradientColors[] = { |
| + int numGradientColors[NUM_ROWS] = { |
| 2, |
| 3, |
| + 3, |
| 5, |
| - 5, |
| - 5, |
| + 4, |
| + 3, |
| + 3, |
| }; |
| - SkShader::TileMode tilemodes[] = { |
| + SkShader::TileMode tilemodes[NUM_COLS] = { |
| SkShader::kClamp_TileMode, |
| SkShader::kRepeat_TileMode, |
| SkShader::kMirror_TileMode, |