43 lines
1 KiB
Diff
43 lines
1 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;
|
||
|
}
|
||
|
|