freetype-commit
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Git][freetype/freetype][master] [raster] Clean up sweeping.


From: Alexei Podtelezhnikov (@apodtele)
Subject: [Git][freetype/freetype][master] [raster] Clean up sweeping.
Date: Sun, 22 Oct 2023 17:12:27 +0000

Alexei Podtelezhnikov pushed to branch master at FreeType / FreeType

Commits:

  • d1e894b1
    by Alexei Podtelezhnikov (Алексей Подтележников) at 2023-10-22T13:08:36-04:00
    [raster] Clean up sweeping.
    
    * src/raster/ftraster.c (Draw_Sweep): Zero initialize the working
    lists directly and remove unnecessary y-turn checks.
    (Init_Linked): Removed.
    

1 changed file:

Changes:

  • src/raster/ftraster.c
    ... ... @@ -2005,19 +2005,6 @@
    2005 2005
       /*************************************************************************/
    
    2006 2006
     
    
    2007 2007
     
    
    2008
    -  /**************************************************************************
    
    2009
    -   *
    
    2010
    -   * Init_Linked
    
    2011
    -   *
    
    2012
    -   *   Initializes an empty linked list.
    
    2013
    -   */
    
    2014
    -  static void
    
    2015
    -  Init_Linked( TProfileList*  l )
    
    2016
    -  {
    
    2017
    -    *l = NULL;
    
    2018
    -  }
    
    2019
    -
    
    2020
    -
    
    2021 2008
       /**************************************************************************
    
    2022 2009
        *
    
    2023 2010
        * InsNew
    
    ... ... @@ -2625,6 +2612,9 @@
    2625 2612
        *
    
    2626 2613
        * Generic Sweep Drawing routine
    
    2627 2614
        *
    
    2615
    +   * Note that this routine is executed with the pool containing at least
    
    2616
    +   * two valid profiles (up and down) and two y-turns (top and bottom).
    
    2617
    +   *
    
    2628 2618
        */
    
    2629 2619
     
    
    2630 2620
       static Bool
    
    ... ... @@ -2638,16 +2628,10 @@
    2638 2628
     
    
    2639 2629
         Long          x1, x2, xs, e1, e2;
    
    2640 2630
     
    
    2641
    -    TProfileList  waiting;
    
    2642
    -    TProfileList  draw_left, draw_right;
    
    2643
    -
    
    2644
    -
    
    2645
    -    /* initialize empty linked lists */
    
    2631
    +    TProfileList  waiting    = NULL;
    
    2632
    +    TProfileList  draw_left  = NULL;
    
    2633
    +    TProfileList  draw_right = NULL;
    
    2646 2634
     
    
    2647
    -    Init_Linked( &waiting );
    
    2648
    -
    
    2649
    -    Init_Linked( &draw_left  );
    
    2650
    -    Init_Linked( &draw_right );
    
    2651 2635
     
    
    2652 2636
         /* first, compute min and max Y */
    
    2653 2637
     
    
    ... ... @@ -2673,13 +2657,6 @@
    2673 2657
           P = Q;
    
    2674 2658
         }
    
    2675 2659
     
    
    2676
    -    /* check the Y-turns */
    
    2677
    -    if ( ras.numTurns == 0 )
    
    2678
    -    {
    
    2679
    -      ras.error = FT_THROW( Invalid_Outline );
    
    2680
    -      return FAILURE;
    
    2681
    -    }
    
    2682
    -
    
    2683 2660
         /* now initialize the sweep */
    
    2684 2661
     
    
    2685 2662
         ras.Proc_Sweep_Init( RAS_VARS min_Y, max_Y );
    
    ... ... @@ -2699,8 +2676,7 @@
    2699 2676
         y        = min_Y;
    
    2700 2677
         y_height = 0;
    
    2701 2678
     
    
    2702
    -    if ( ras.numTurns > 0                     &&
    
    2703
    -         ras.sizeBuff[-ras.numTurns] == min_Y )
    
    2679
    +    if ( ras.sizeBuff[-ras.numTurns] == min_Y )
    
    2704 2680
           ras.numTurns--;
    
    2705 2681
     
    
    2706 2682
         while ( ras.numTurns > 0 )
    


  • reply via email to

    [Prev in Thread] Current Thread [Next in Thread]