Commit 0d3bbca6 authored by Davis King's avatar Davis King

Fixed a problem with draw_line where it didn't always redraw the line properly.

--HG--
extra : convert_revision : svn%3Afdd8eb12-d10e-0410-9acb-85c331704f74/trunk%402694
parent ec9fb516
......@@ -107,13 +107,17 @@ namespace dlib
y = static_cast<long>(dy);
x = static_cast<long>(dx);
if (y < valid_area.top() || y+1 > valid_area.bottom() )
continue;
alpha_pixel.alpha = static_cast<unsigned char>((1.0-(dy-y))*max_alpha);
assign_pixel(c[y-c.top()][x-c.left()], alpha_pixel);
alpha_pixel.alpha = static_cast<unsigned char>((dy-y)*max_alpha);
assign_pixel(c[y+1-c.top()][x-c.left()], alpha_pixel);
if (y >= valid_area.top() && y <= valid_area.bottom())
{
alpha_pixel.alpha = static_cast<unsigned char>((1.0-(dy-y))*max_alpha);
assign_pixel(c[y-c.top()][x-c.left()], alpha_pixel);
}
if (y+1 >= valid_area.top() && y+1 <= valid_area.bottom())
{
alpha_pixel.alpha = static_cast<unsigned char>((dy-y)*max_alpha);
assign_pixel(c[y+1-c.top()][x-c.left()], alpha_pixel);
}
}
}
else
......@@ -145,13 +149,16 @@ namespace dlib
y = static_cast<long>(dy);
x = static_cast<long>(dx);
if (x < valid_area.left() || x+1 > valid_area.right() )
continue;
alpha_pixel.alpha = static_cast<unsigned char>((1.0-(dx-x))*max_alpha);
assign_pixel(c[y-c.top()][x-c.left()], alpha_pixel);
alpha_pixel.alpha = static_cast<unsigned char>((dx-x)*max_alpha);
assign_pixel(c[y-c.top()][x+1-c.left()], alpha_pixel);
if (x >= valid_area.left() && x <= valid_area.right())
{
alpha_pixel.alpha = static_cast<unsigned char>((1.0-(dx-x))*max_alpha);
assign_pixel(c[y-c.top()][x-c.left()], alpha_pixel);
}
if (x+1 >= valid_area.left() && x+1 <= valid_area.right())
{
alpha_pixel.alpha = static_cast<unsigned char>((dx-x)*max_alpha);
assign_pixel(c[y-c.top()][x+1-c.left()], alpha_pixel);
}
}
}
}
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment