| OLD | NEW |
| 1 /* | 1 /* |
| 2 * Copyright 2016 Google Inc. | 2 * Copyright 2016 Google Inc. |
| 3 * | 3 * |
| 4 * Use of this source code is governed by a BSD-style license that can be | 4 * Use of this source code is governed by a BSD-style license that can be |
| 5 * found in the LICENSE file. | 5 * found in the LICENSE file. |
| 6 */ | 6 */ |
| 7 | 7 |
| 8 #include "gm.h" | 8 #include "gm.h" |
| 9 #include "SkBlurMaskFilter.h" | 9 #include "SkBlurMaskFilter.h" |
| 10 #include "SkRRect.h" | 10 #include "SkRRect.h" |
| (...skipping 131 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 142 dist -= 10.0f; | 142 dist -= 10.0f; |
| 143 SkRRect occRR = SkRRect::MakeOval( | 143 SkRRect occRR = SkRRect::MakeOval( |
| 144 offset_center_to(r, center.fX + dist*v.fX, center.fY
+ dist*v.fY)); | 144 offset_center_to(r, center.fX + dist*v.fX, center.fY
+ dist*v.fY)); |
| 145 | 145 |
| 146 draw_rrect(canvas, rr, occRR); | 146 draw_rrect(canvas, rr, occRR); |
| 147 } | 147 } |
| 148 | 148 |
| 149 static void draw_90_simple(SkCanvas* canvas, const SkVector& v, | 149 static void draw_90_simple(SkCanvas* canvas, const SkVector& v, |
| 150 SkScalar dist, const SkPoint& center) { | 150 SkScalar dist, const SkPoint& center) { |
| 151 static const int kLength = 128; | 151 static const int kLength = 128; |
| 152 static const int kWidth = 32; | 152 // The width needs to be larger than 2*3*blurRadii+2*cornerRadius for the an
alytic |
| 153 // RRect blur to kick in |
| 154 static const int kWidth = 47; |
| 153 | 155 |
| 154 SkIRect r; | 156 SkIRect r; |
| 155 if (fabs(v.fX) < fabs(v.fY)) { | 157 if (fabs(v.fX) < fabs(v.fY)) { |
| 156 r = SkIRect::MakeWH(kLength, kWidth); | 158 r = SkIRect::MakeWH(kLength, kWidth); |
| 157 } else { | 159 } else { |
| 158 r = SkIRect::MakeWH(kWidth, kLength); | 160 r = SkIRect::MakeWH(kWidth, kLength); |
| 159 } | 161 } |
| 160 SkRRect rr = SkRRect::MakeRectXY( | 162 SkRRect rr = SkRRect::MakeRectXY( |
| 161 offset_center_to(r, center.fX + dist*v.fX, center.fY
+ dist*v.fY), | 163 offset_center_to(r, center.fX + dist*v.fX, center.fY
+ dist*v.fY), |
| 162 8, 8); | 164 8, 8); |
| (...skipping 123 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 286 SkVector::Make(-0.5f, -kRoot3Over2), 120, center); | 288 SkVector::Make(-0.5f, -kRoot3Over2), 120, center); |
| 287 draw_30_60(canvas, SkRRect::kUpperRight_Corner, | 289 draw_30_60(canvas, SkRRect::kUpperRight_Corner, |
| 288 SkVector::Make(-kRoot3Over2, -0.5f), 120, center); | 290 SkVector::Make(-kRoot3Over2, -0.5f), 120, center); |
| 289 | 291 |
| 290 draw_30_60(canvas, SkRRect::kUpperLeft_Corner, | 292 draw_30_60(canvas, SkRRect::kUpperLeft_Corner, |
| 291 SkVector::Make(0.5f, -kRoot3Over2), 120, center); | 293 SkVector::Make(0.5f, -kRoot3Over2), 120, center); |
| 292 draw_30_60(canvas, SkRRect::kLowerRight_Corner, | 294 draw_30_60(canvas, SkRRect::kLowerRight_Corner, |
| 293 SkVector::Make(kRoot3Over2, -0.5f), 120, center); | 295 SkVector::Make(kRoot3Over2, -0.5f), 120, center); |
| 294 | 296 |
| 295 draw_45_simple(canvas, SkVector::Make(-SK_ScalarRoot2Over2, -SK_ScalarRo
ot2Over2), | 297 draw_45_simple(canvas, SkVector::Make(-SK_ScalarRoot2Over2, -SK_ScalarRo
ot2Over2), |
| 296 190, center); | 298 210, center); |
| 297 draw_45_simple(canvas, SkVector::Make(SK_ScalarRoot2Over2, -SK_ScalarRoo
t2Over2), | 299 draw_45_simple(canvas, SkVector::Make(SK_ScalarRoot2Over2, -SK_ScalarRoo
t2Over2), |
| 298 190, center); | 300 210, center); |
| 299 draw_45_simple(canvas, SkVector::Make(SK_ScalarRoot2Over2, SK_ScalarRoot
2Over2), | 301 draw_45_simple(canvas, SkVector::Make(SK_ScalarRoot2Over2, SK_ScalarRoot
2Over2), |
| 300 190, center); | 302 210, center); |
| 301 draw_45_simple(canvas, SkVector::Make(-SK_ScalarRoot2Over2, SK_ScalarRoo
t2Over2), | 303 draw_45_simple(canvas, SkVector::Make(-SK_ScalarRoot2Over2, SK_ScalarRoo
t2Over2), |
| 302 190, center); | 304 210, center); |
| 303 | 305 |
| 304 draw_90_simple(canvas, SkVector::Make(-1.0f, 0.0f), 150, center); | 306 draw_90_simple(canvas, SkVector::Make(-1.0f, 0.0f), 160, center); |
| 305 draw_90_simple(canvas, SkVector::Make(0.0f, -1.0f), 150, center); | 307 draw_90_simple(canvas, SkVector::Make(0.0f, -1.0f), 160, center); |
| 306 draw_90_simple(canvas, SkVector::Make(1.0f, 0.0f), 150, center); | 308 draw_90_simple(canvas, SkVector::Make(1.0f, 0.0f), 160, center); |
| 307 draw_90_simple(canvas, SkVector::Make(0.0f, 1.0f), 150, center); | 309 draw_90_simple(canvas, SkVector::Make(0.0f, 1.0f), 160, center); |
| 308 } | 310 } |
| 309 | 311 |
| 310 private: | 312 private: |
| 311 static const int kWidth = 440; | 313 static const int kWidth = 440; |
| 312 static const int kHeight = 440; | 314 static const int kHeight = 440; |
| 313 | 315 |
| 314 typedef GM INHERITED; | 316 typedef GM INHERITED; |
| 315 }; | 317 }; |
| 316 | 318 |
| 317 ////////////////////////////////////////////////////////////////////////////// | 319 ////////////////////////////////////////////////////////////////////////////// |
| 318 | 320 |
| 319 DEF_GM(return new OccludedRRectBlurGM;) | 321 DEF_GM(return new OccludedRRectBlurGM;) |
| 320 } | 322 } |
| OLD | NEW |