diff options
Diffstat (limited to 'tools/aapt/Images.cpp')
| -rw-r--r-- | tools/aapt/Images.cpp | 10 |
1 files changed, 7 insertions, 3 deletions
diff --git a/tools/aapt/Images.cpp b/tools/aapt/Images.cpp index cf3dd0a..137c85c 100644 --- a/tools/aapt/Images.cpp +++ b/tools/aapt/Images.cpp @@ -485,9 +485,13 @@ static void get_outline(image_info* image) find_max_opacity(image->rows, innerStartX, innerStartY, innerMidX, innerMidY, 1, 1, &diagonalInset); - // Determine source radius based upon inset - // radius = 1 / (sqrt(2) - 1) * inset - image->outlineRadius = 2.4142f * diagonalInset; + /* Determine source radius based upon inset: + * sqrt(r^2 + r^2) = sqrt(i^2 + i^2) + r + * sqrt(2) * r = sqrt(2) * i + r + * (sqrt(2) - 1) * r = sqrt(2) * i + * r = sqrt(2) / (sqrt(2) - 1) * i + */ + image->outlineRadius = 3.4142f * diagonalInset; NOISY(printf("outline insets %d %d %d %d, rad %f, alpha %x\n", image->outlineInsetsLeft, |
