OLD | NEW |
1 | 1 |
2 /* | 2 /* |
3 * Copyright 2011 Google Inc. | 3 * Copyright 2011 Google Inc. |
4 * | 4 * |
5 * Use of this source code is governed by a BSD-style license that can be | 5 * Use of this source code is governed by a BSD-style license that can be |
6 * found in the LICENSE file. | 6 * found in the LICENSE file. |
7 */ | 7 */ |
8 | 8 |
9 #include "GrContext.h" | 9 #include "GrContext.h" |
10 | 10 |
(...skipping 1064 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1075 if (SkPath::kWinding_FillType == path.getFillType() && dirs[0] == dirs[1]) { | 1075 if (SkPath::kWinding_FillType == path.getFillType() && dirs[0] == dirs[1]) { |
1076 // The two rects need to be wound opposite to each other | 1076 // The two rects need to be wound opposite to each other |
1077 return false; | 1077 return false; |
1078 } | 1078 } |
1079 | 1079 |
1080 // Right now, nested rects where the margin is not the same width | 1080 // Right now, nested rects where the margin is not the same width |
1081 // all around do not render correctly | 1081 // all around do not render correctly |
1082 const SkScalar* outer = rects[0].asScalars(); | 1082 const SkScalar* outer = rects[0].asScalars(); |
1083 const SkScalar* inner = rects[1].asScalars(); | 1083 const SkScalar* inner = rects[1].asScalars(); |
1084 | 1084 |
| 1085 bool allEq = true; |
| 1086 |
1085 SkScalar margin = SkScalarAbs(outer[0] - inner[0]); | 1087 SkScalar margin = SkScalarAbs(outer[0] - inner[0]); |
| 1088 bool allGoE1 = margin >= SK_Scalar1; |
| 1089 |
1086 for (int i = 1; i < 4; ++i) { | 1090 for (int i = 1; i < 4; ++i) { |
1087 SkScalar temp = SkScalarAbs(outer[i] - inner[i]); | 1091 SkScalar temp = SkScalarAbs(outer[i] - inner[i]); |
| 1092 if (temp < SK_Scalar1) { |
| 1093 allGoE1 = false; |
| 1094 } |
1088 if (!SkScalarNearlyEqual(margin, temp)) { | 1095 if (!SkScalarNearlyEqual(margin, temp)) { |
1089 return false; | 1096 allEq = false; |
1090 } | 1097 } |
1091 } | 1098 } |
1092 | 1099 |
1093 return true; | 1100 return allEq || allGoE1; |
1094 } | 1101 } |
1095 | 1102 |
1096 void GrContext::drawPath(const GrPaint& paint, const SkPath& path, const GrStrok
eInfo& strokeInfo) { | 1103 void GrContext::drawPath(const GrPaint& paint, const SkPath& path, const GrStrok
eInfo& strokeInfo) { |
1097 | 1104 |
1098 if (path.isEmpty()) { | 1105 if (path.isEmpty()) { |
1099 if (path.isInverseFillType()) { | 1106 if (path.isInverseFillType()) { |
1100 this->drawPaint(paint); | 1107 this->drawPaint(paint); |
1101 } | 1108 } |
1102 return; | 1109 return; |
1103 } | 1110 } |
(...skipping 690 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1794 fResourceCache->printStats(); | 1801 fResourceCache->printStats(); |
1795 } | 1802 } |
1796 #endif | 1803 #endif |
1797 | 1804 |
1798 #if GR_GPU_STATS | 1805 #if GR_GPU_STATS |
1799 const GrContext::GPUStats* GrContext::gpuStats() const { | 1806 const GrContext::GPUStats* GrContext::gpuStats() const { |
1800 return fGpu->gpuStats(); | 1807 return fGpu->gpuStats(); |
1801 } | 1808 } |
1802 #endif | 1809 #endif |
1803 | 1810 |
OLD | NEW |