freetype-commit
[Top][All Lists]
Advanced

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

[Git][freetype/freetype-demos][master] * src/ftgrid.c (grid_status_draw_


From: Alexei Podtelezhnikov (@apodtele)
Subject: [Git][freetype/freetype-demos][master] * src/ftgrid.c (grid_status_draw_outline): Improve left crop.
Date: Thu, 19 Dec 2024 02:03:39 +0000

Alexei Podtelezhnikov pushed to branch master at FreeType / FreeType Demo Programs

Commits:

  • 5e62baaa
    by Alexei Podtelezhnikov (Алексей Подтележников) at 2024-12-19T02:03:36+00:00
    * src/ftgrid.c (grid_status_draw_outline): Improve left crop.

1 changed file:

Changes:

  • src/ftgrid.c
    ... ... @@ -603,9 +603,6 @@
    603 603
               rows  /= 3;
    
    604 604
               piy    = 3;
    
    605 605
               break;
    
    606
    -        case gr_pixel_mode_bgra:
    
    607
    -          pix = 4;
    
    608
    -          break;
    
    609 606
             default:
    
    610 607
               break;
    
    611 608
             }
    
    ... ... @@ -633,12 +630,23 @@
    633 630
             bitg.rows  = rows * piy;
    
    634 631
     
    
    635 632
             delta = ox + left * scale;
    
    636
    -        if ( delta < 0 && bitg.mode != gr_pixel_mode_mono )
    
    633
    +        if ( delta < 0 )
    
    637 634
             {
    
    638
    -          delta /= scale;
    
    639
    -          width += delta;
    
    640
    -          left  -= delta;
    
    641
    -          bitg.buffer -= delta * pix;
    
    635
    +          if ( bitg.mode == gr_pixel_mode_mono )
    
    636
    +          {
    
    637
    +            delta /= 8 * scale;
    
    638
    +            width += 8 * delta;
    
    639
    +            left  -= 8 * delta;
    
    640
    +            bitg.buffer -= delta;
    
    641
    +          }
    
    642
    +          else
    
    643
    +          {
    
    644
    +            delta /= scale;
    
    645
    +            width += delta;
    
    646
    +            left  -= delta;
    
    647
    +            bitg.buffer -= bitg.mode == gr_pixel_mode_bgra ? delta * 4
    
    648
    +                                                           : delta * pix;
    
    649
    +          }
    
    642 650
             }
    
    643 651
     
    
    644 652
             delta = ox + ( left + width ) * scale - display->bitmap->width;
    
    ... ... @@ -648,9 +656,6 @@
    648 656
               width -= delta;
    
    649 657
             }
    
    650 658
     
    
    651
    -        if ( bitg.mode == gr_pixel_mode_bgra )
    
    652
    -          pix = 1;
    
    653
    -
    
    654 659
             bitg.width = width * pix;
    
    655 660
     
    
    656 661
             if ( width > 0 && rows > 0 )
    


  • reply via email to

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