Aegisub/vsfilter/patchfiles/xy-shad-bord-bugfix1.patch

43 lines
1.0 KiB
Diff

Index: C:/Users/jfs/Dev/Aegisub/vsfilter/subtitles/Rasterizer.cpp
===================================================================
--- C:/Users/jfs/Dev/Aegisub/vsfilter/subtitles/Rasterizer.cpp (revision 2281)
+++ C:/Users/jfs/Dev/Aegisub/vsfilter/subtitles/Rasterizer.cpp (revision 2282)
@@ -344,6 +344,7 @@
mOutline.clear();
mWideOutline.clear();
+ mWideBorder = 0;
// Determine bounding box
@@ -649,7 +650,9 @@
if(rx < 0) rx = 0;
if(ry < 0) ry = 0;
- if (ry > 0 && rx > 0)
+ mWideBorder = max(rx,ry);
+
+ if (ry > 0)
{
// Do a half circle.
// _OverlapRegion mirrors this so both halves are done.
@@ -657,8 +660,7 @@
{
int x = (int)(0.5 + sqrt(float(ry*ry - y*y)) * float(rx)/float(ry));
- // If x=0 nothing will be drawn for this overlap, not sure why
- _OverlapRegion(mWideOutline, mOutline, max(x,1), y);
+ _OverlapRegion(mWideOutline, mOutline, x, y);
}
}
else if (ry == 0 && rx > 0)
@@ -668,8 +670,6 @@
_OverlapRegion(mWideOutline, mOutline, rx, 0);
}
- mWideBorder = max(rx,ry);
-
return true;
}