Oops, revert unwanted previous commit for ftgrays.c.
This commit is contained in:
parent
7d3d2cc4fe
commit
ad61f178e2
|
@ -1007,40 +1007,45 @@
|
||||||
const FT_Vector* control2,
|
const FT_Vector* control2,
|
||||||
const FT_Vector* to )
|
const FT_Vector* to )
|
||||||
{
|
{
|
||||||
TPos dx, dy;
|
TPos dx, dy, da, db;
|
||||||
TPos mid_x, mid_y;
|
|
||||||
int top, level;
|
int top, level;
|
||||||
int* levels;
|
int* levels;
|
||||||
FT_Vector* arc;
|
FT_Vector* arc;
|
||||||
|
|
||||||
|
|
||||||
/* Calculate midpoint and compare it with start and end. */
|
dx = DOWNSCALE( ras.x ) + to->x - ( control1->x << 1 );
|
||||||
mid_x = ( DOWNSCALE( ras.x ) + to->x +
|
|
||||||
3 * ( control1->x + control2->x ) ) / 8;
|
|
||||||
mid_y = ( DOWNSCALE( ras.y ) + to->y +
|
|
||||||
3 * ( control1->y + control2->y ) ) / 8;
|
|
||||||
|
|
||||||
dx = DOWNSCALE( ras.x ) + to->x - ( mid_x << 1 );
|
|
||||||
if ( dx < 0 )
|
if ( dx < 0 )
|
||||||
dx = -dx;
|
dx = -dx;
|
||||||
dy = DOWNSCALE( ras.y ) + to->y - ( mid_y << 1 );
|
dy = DOWNSCALE( ras.y ) + to->y - ( control1->y << 1 );
|
||||||
if ( dy < 0 )
|
if ( dy < 0 )
|
||||||
dy = -dy;
|
dy = -dy;
|
||||||
if ( dx < dy )
|
if ( dx < dy )
|
||||||
dx = dy;
|
dx = dy;
|
||||||
|
da = dx;
|
||||||
|
|
||||||
|
dx = DOWNSCALE( ras.x ) + to->x - 3 * ( control1->x + control2->x );
|
||||||
|
if ( dx < 0 )
|
||||||
|
dx = -dx;
|
||||||
|
dy = DOWNSCALE( ras.y ) + to->y - 3 * ( control1->x + control2->y );
|
||||||
|
if ( dy < 0 )
|
||||||
|
dy = -dy;
|
||||||
|
if ( dx < dy )
|
||||||
|
dx = dy;
|
||||||
|
db = dx;
|
||||||
|
|
||||||
/* Check whether an approximation with straight lines is sufficient. */
|
|
||||||
level = 1;
|
level = 1;
|
||||||
dx = dx / ras.conic_level;
|
da = da / ras.cubic_level;
|
||||||
while ( dx > 0 )
|
db = db / ras.conic_level;
|
||||||
|
while ( da > 0 || db > 0 )
|
||||||
{
|
{
|
||||||
dx >>= 3;
|
da >>= 2;
|
||||||
|
db >>= 3;
|
||||||
level++;
|
level++;
|
||||||
}
|
}
|
||||||
|
|
||||||
if ( level <= 1 )
|
if ( level <= 1 )
|
||||||
{
|
{
|
||||||
TPos to_x, to_y;
|
TPos to_x, to_y, mid_x, mid_y;
|
||||||
|
|
||||||
|
|
||||||
to_x = UPSCALE( to->x );
|
to_x = UPSCALE( to->x );
|
||||||
|
@ -1099,7 +1104,7 @@
|
||||||
|
|
||||||
Draw:
|
Draw:
|
||||||
{
|
{
|
||||||
TPos to_x, to_y;
|
TPos to_x, to_y, mid_x, mid_y;
|
||||||
|
|
||||||
|
|
||||||
to_x = arc[0].x;
|
to_x = arc[0].x;
|
||||||
|
|
Loading…
Reference in New Issue