freetype-commit
[Top][All Lists]
Advanced

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

[Git][freetype/freetype][gsoc-anurag-2023] Render prelines


From: Anurag Thakur (@AdbhutDev)
Subject: [Git][freetype/freetype][gsoc-anurag-2023] Render prelines
Date: Thu, 07 Sep 2023 20:16:07 +0000

Anurag Thakur pushed to branch gsoc-anurag-2023 at FreeType / FreeType

Commits:

  • c41d05e8
    by Anurag Thakur at 2023-09-08T01:45:42+05:30
    Render prelines
    

2 changed files:

Changes:

  • src/base/ftobjs.c
    ... ... @@ -2668,8 +2668,8 @@
    2668 2668
                             (double)vec.x / 64, (double)vec.y / 64 ));
    
    2669 2669
                 //error = func_interface->line_to( &vec, user );
    
    2670 2670
                 FT_PreLine pl  = malloc(sizeof(FT_PreLineRec));
    
    2671
    -            pl->x1 = v_last.x/64;
    
    2672
    -            pl->y1 = v_last.y/64;
    
    2671
    +            pl->x1 = ptr->x2;
    
    2672
    +            pl->y1 = ptr->y2;
    
    2673 2673
                 pl->x2 = vec.x/64;
    
    2674 2674
                 pl->y2 = vec.y/64;
    
    2675 2675
                 pl->next = NULL;
    

  • src/dense/ftdense.c
    ... ... @@ -85,9 +85,20 @@ dense_line_to( const FT_Vector* to, dense_worker* worker )
    85 85
       return 0;
    
    86 86
     }
    
    87 87
     
    
    88
    +static int
    
    89
    +dense_line_to2( const FT_Vector* from, const FT_Vector* to, dense_worker* worker )
    
    90
    +{
    
    91
    +  dense_move_to( from, worker );
    
    92
    +  dense_render_line( worker, UPSCALE( to->x ), UPSCALE( to->y ) );
    
    93
    +  dense_move_to( to, worker );
    
    94
    +  return 0;
    
    95
    +}
    
    96
    +
    
    97
    +
    
    88 98
     void
    
    89 99
     dense_render_line( dense_worker* worker, FT_Pos tox, FT_Pos toy )
    
    90 100
     {
    
    101
    +  printf("Line from %d, %d to %d, %d\n", worker->prev_x, worker->prev_y, tox, toy);
    
    91 102
     
    
    92 103
       FT26D6 fx = worker->prev_x>>2;
    
    93 104
       FT26D6 fy = worker->prev_y>>2;
    
    ... ... @@ -422,18 +433,24 @@ dense_render_glyph( dense_worker* worker, const FT_Bitmap* target, FT_PreLine pl
    422 433
     {
    
    423 434
      // FT_Error error = FT_Outline_Decompose( &( worker->outline ),
    
    424 435
      //                                        &dense_decompose_funcs, worker );
    
    425
    -  FT_Vector point = {100, 100};
    
    426
    -  FT_Error error = dense_move_to(&point, worker);
    
    436
    +  FT_Vector point1 = {100, 100};
    
    437
    +  FT_Vector point2 = {100, 100};
    
    438
    +
    
    439
    +  FT_Error error = dense_move_to(&point1, worker);
    
    427 440
       while (pl!=NULL)
    
    428 441
       {
    
    429
    -    point.x = pl->x2/64;
    
    430
    -    point.y = pl->y2/64;
    
    431
    -    dense_line_to(&point, worker);
    
    442
    +    point1.x = pl->x1;
    
    443
    +    point1.y = pl->y1;
    
    444
    +    point2.x = pl->x2;
    
    445
    +    point2.y = pl->y2;
    
    446
    +
    
    447
    +
    
    448
    +    dense_line_to2(&point1, &point2, worker);
    
    432 449
         pl= pl->next;
    
    433 450
       }
    
    434
    -  point.x = 100;
    
    435
    -  point.y = 100;
    
    436
    -  dense_move_to(&point, worker);
    
    451
    +  // point.x = 100;
    
    452
    +  // point.y = 100;
    
    453
    +  // dense_move_to(&point, worker);
    
    437 454
       
    
    438 455
       // Render into bitmap
    
    439 456
       const FT20D12* source = worker->m_a;
    
    ... ... @@ -523,6 +540,9 @@ dense_raster_render( FT_Raster raster, const FT_Raster_Params* params )
    523 540
     
    
    524 541
       worker->outline = *outline;
    
    525 542
     
    
    543
    +
    
    544
    +
    
    545
    +
    
    526 546
       if ( !target_map )
    
    527 547
         return FT_THROW( Invalid_Argument );
    
    528 548
     
    


  • reply via email to

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