Alexei Podtelezhnikov pushed to branch master at FreeType / FreeType
Commits:
-
dc519d06
by Alexei Podtelezhnikov (Алексей Подтележников) at 2023-10-31T15:01:32+00:00
1 changed file:
Changes:
... | ... | @@ -2609,8 +2609,6 @@ |
2609 | 2609 | |
2610 | 2610 | PProfile P, Q, P_Left, P_Right;
|
2611 | 2611 | |
2612 | - Long x1, x2, xs, e1, e2;
|
|
2613 | - |
|
2614 | 2612 | TProfileList waiting = ras.fProfile;
|
2615 | 2613 | TProfileList draw_left = NULL;
|
2616 | 2614 | TProfileList draw_right = NULL;
|
... | ... | @@ -2683,8 +2681,10 @@ |
2683 | 2681 | |
2684 | 2682 | while ( P_Left && P_Right )
|
2685 | 2683 | {
|
2686 | - x1 = P_Left ->X;
|
|
2687 | - x2 = P_Right->X;
|
|
2684 | + Long x1 = P_Left ->X;
|
|
2685 | + Long x2 = P_Right->X;
|
|
2686 | + Long xs;
|
|
2687 | + |
|
2688 | 2688 | |
2689 | 2689 | if ( x1 > x2 )
|
2690 | 2690 | {
|
... | ... | @@ -2693,36 +2693,24 @@ |
2693 | 2693 | x2 = xs;
|
2694 | 2694 | }
|
2695 | 2695 | |
2696 | - e1 = FLOOR( x1 );
|
|
2697 | - e2 = CEILING( x2 );
|
|
2698 | - |
|
2699 | - if ( x2 - x1 <= ras.precision &&
|
|
2700 | - e1 != x1 && e2 != x2 )
|
|
2696 | + /* if bottom ceiling exceeds top floor, it is a drop-out */
|
|
2697 | + if ( CEILING( x1 ) > FLOOR( x2 ) )
|
|
2701 | 2698 | {
|
2702 | - if ( e1 > e2 || e2 == e1 + ras.precision )
|
|
2703 | - {
|
|
2704 | - Int dropOutControl = P_Left->flags & 7;
|
|
2705 | - |
|
2699 | + Int dropOutControl = P_Left->flags & 7;
|
|
2706 | 2700 | |
2707 | - if ( dropOutControl != 2 )
|
|
2708 | - {
|
|
2709 | - /* a drop-out was detected */
|
|
2710 | 2701 | |
2711 | - P_Left ->X = x1;
|
|
2712 | - P_Right->X = x2;
|
|
2713 | - |
|
2714 | - /* mark profile for drop-out processing */
|
|
2715 | - P_Left->countL = 1;
|
|
2716 | - dropouts++;
|
|
2717 | - }
|
|
2702 | + if ( dropOutControl != 2 )
|
|
2703 | + {
|
|
2704 | + P_Left ->X = x1;
|
|
2705 | + P_Right->X = x2;
|
|
2718 | 2706 | |
2719 | - goto Skip_To_Next;
|
|
2707 | + /* mark profile for drop-out processing */
|
|
2708 | + P_Left->countL = 1;
|
|
2709 | + dropouts++;
|
|
2720 | 2710 | }
|
2721 | 2711 | }
|
2722 | - |
|
2723 | - ras.Proc_Sweep_Span( RAS_VARS y, x1, x2, P_Left, P_Right );
|
|
2724 | - |
|
2725 | - Skip_To_Next:
|
|
2712 | + else
|
|
2713 | + ras.Proc_Sweep_Span( RAS_VARS y, x1, x2, P_Left, P_Right );
|
|
2726 | 2714 | |
2727 | 2715 | P_Left = P_Left->link;
|
2728 | 2716 | P_Right = P_Right->link;
|