Fix issue 172: Ellipse overflow with large sizes on 32bit cpus.
git-svn-id: svn://pulkomandy.tk/GrafX2/trunk@825 416bcca6-2ee7-4201-b75f-2eb2f807beb1
This commit is contained in:
parent
33bb5622c0
commit
b9f9a96ce8
10
misc.c
10
misc.c
@ -203,17 +203,17 @@ void Replace_a_color(byte old_color, byte New_color)
|
|||||||
void Ellipse_compute_limites(short horizontal_radius,short vertical_radius)
|
void Ellipse_compute_limites(short horizontal_radius,short vertical_radius)
|
||||||
{
|
{
|
||||||
Ellipse_horizontal_radius_squared =
|
Ellipse_horizontal_radius_squared =
|
||||||
horizontal_radius * horizontal_radius;
|
(long)horizontal_radius * horizontal_radius;
|
||||||
Ellipse_vertical_radius_squared =
|
Ellipse_vertical_radius_squared =
|
||||||
vertical_radius * vertical_radius;
|
(long)vertical_radius * vertical_radius;
|
||||||
Ellipse_limit = Ellipse_horizontal_radius_squared * Ellipse_vertical_radius_squared;
|
Ellipse_limit = (qword)Ellipse_horizontal_radius_squared * Ellipse_vertical_radius_squared;
|
||||||
}
|
}
|
||||||
|
|
||||||
// FIXME: move to graph.c, it's the only caller
|
// FIXME: move to graph.c, it's the only caller
|
||||||
byte Pixel_in_ellipse(void)
|
byte Pixel_in_ellipse(void)
|
||||||
{
|
{
|
||||||
qword ediesi = Ellipse_cursor_X * Ellipse_cursor_X * Ellipse_vertical_radius_squared +
|
qword ediesi = (qword)Ellipse_cursor_X * Ellipse_cursor_X * Ellipse_vertical_radius_squared +
|
||||||
Ellipse_cursor_Y * Ellipse_cursor_Y * Ellipse_horizontal_radius_squared;
|
(qword)Ellipse_cursor_Y * Ellipse_cursor_Y * Ellipse_horizontal_radius_squared;
|
||||||
if((ediesi) <= Ellipse_limit) return 255;
|
if((ediesi) <= Ellipse_limit) return 255;
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user