freetype-commit
[Top][All Lists]
Advanced

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

[Git][freetype/freetype-demos][master] 2 commits: [graph/win32] Improve


From: Alexei Podtelezhnikov (@apodtele)
Subject: [Git][freetype/freetype-demos][master] 2 commits: [graph/win32] Improve surface initialization.
Date: Fri, 31 Dec 2021 14:29:34 +0000

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

Commits:

2 changed files:

Changes:

  • graph/win32/grwin32.c
    ... ... @@ -433,6 +433,8 @@ static grWin32Surface*
    433 433
     gr_win32_surface_init( grWin32Surface*  surface,
    
    434 434
                            grBitmap*        bitmap )
    
    435 435
     {
    
    436
    +  surface->root.bitmap.grays = bitmap->grays;
    
    437
    +
    
    436 438
       /* Set default mode */
    
    437 439
       if ( bitmap->mode == gr_pixel_mode_none )
    
    438 440
       {
    
    ... ... @@ -446,19 +448,22 @@ gr_win32_surface_init( grWin32Surface* surface,
    446 448
         switch ( bpp )
    
    447 449
         {
    
    448 450
         case 8:
    
    449
    -      bitmap->mode = gr_pixel_mode_gray;
    
    451
    +      surface->root.bitmap.mode = gr_pixel_mode_gray;
    
    450 452
           break;
    
    451 453
         case 16:
    
    452
    -      bitmap->mode = gr_pixel_mode_rgb565;
    
    454
    +      surface->root.bitmap.mode = gr_pixel_mode_rgb565;
    
    453 455
           break;
    
    454 456
         case 24:
    
    455
    -      bitmap->mode = gr_pixel_mode_rgb24;
    
    457
    +      surface->root.bitmap.mode = gr_pixel_mode_rgb24;
    
    456 458
           break;
    
    457 459
         case 32:
    
    458 460
         default:
    
    459
    -      bitmap->mode = gr_pixel_mode_rgb32;
    
    461
    +      surface->root.bitmap.mode = gr_pixel_mode_rgb32;
    
    460 462
         }
    
    461 463
       }
    
    464
    +  else
    
    465
    +    surface->root.bitmap.mode  = bitmap->mode;
    
    466
    +
    
    462 467
     
    
    463 468
       LOG(( "Win32: init_surface( %p, %p )\n", surface, bitmap ));
    
    464 469
     
    
    ... ... @@ -467,43 +472,12 @@ gr_win32_surface_init( grWin32Surface* surface,
    467 472
       LOG(( "       --   width  = %d\n", bitmap->width ));
    
    468 473
       LOG(( "       --   height = %d\n", bitmap->rows ));
    
    469 474
     
    
    470
    -  /* create the bitmap - under Win32, we support all modes as the GDI */
    
    471
    -  /* handles all conversions automatically..                          */
    
    472
    -  if ( grNewBitmap( bitmap->mode,
    
    473
    -                    bitmap->grays,
    
    474
    -                    bitmap->width,
    
    475
    -                    bitmap->rows,
    
    476
    -                    bitmap ) )
    
    477
    -    return 0;
    
    478
    -
    
    479
    -  /* allocate the BGR shadow bitmap */
    
    480
    -  if ( bitmap->mode == gr_pixel_mode_rgb24 )
    
    481
    -  {
    
    482
    -    if ( grNewBitmap( bitmap->mode,
    
    483
    -                      bitmap->grays,
    
    484
    -                      bitmap->width,
    
    485
    -                      bitmap->rows,
    
    486
    -                      &surface->shadow_bitmap ) )
    
    487
    -      return 0;
    
    488
    -
    
    489
    -#ifdef SWIZZLE
    
    490
    -    if ( grNewBitmap( bitmap->mode,
    
    491
    -                      bitmap->grays,
    
    492
    -                      bitmap->width,
    
    493
    -                      bitmap->rows,
    
    494
    -                      &surface->swizzle_bitmap ) )
    
    495
    -      return 0;
    
    496
    -#endif
    
    497
    -  }
    
    498
    -  else
    
    499
    -    surface->shadow_bitmap.buffer = bitmap->buffer;
    
    475
    +  gr_win32_surface_resize( surface, bitmap->width, bitmap->rows );
    
    500 476
     
    
    501 477
       surface->bmiHeader.biSize   = sizeof( BITMAPINFOHEADER );
    
    502
    -  surface->bmiHeader.biWidth  = bitmap->width;
    
    503
    -  surface->bmiHeader.biHeight = -bitmap->rows;
    
    504 478
       surface->bmiHeader.biPlanes = 1;
    
    505 479
     
    
    506
    -  switch ( bitmap->mode )
    
    480
    +  switch ( surface->root.bitmap.mode )
    
    507 481
       {
    
    508 482
       case gr_pixel_mode_mono:
    
    509 483
         surface->bmiHeader.biBitCount = 1;
    
    ... ... @@ -595,7 +569,6 @@ gr_win32_surface_init( grWin32Surface* surface,
    595 569
     
    
    596 570
       ShowWindow( surface->window, SW_SHOWNORMAL );
    
    597 571
     
    
    598
    -  surface->root.bitmap       = *bitmap;
    
    599 572
       surface->root.done         = (grDoneSurfaceFunc) gr_win32_surface_done;
    
    600 573
       surface->root.refresh_rect = (grRefreshRectFunc) gr_win32_surface_refresh_rectangle;
    
    601 574
       surface->root.set_title    = (grSetTitleFunc)    gr_win32_surface_set_title;
    

  • src/ftcommon.c
    ... ... @@ -424,6 +424,8 @@
    424 424
         FT_Done_FreeType( handle->library );
    
    425 425
     
    
    426 426
         free( handle );
    
    427
    +
    
    428
    +    fflush( stdout );  /* clean mintty pipes */
    
    427 429
       }
    
    428 430
     
    
    429 431
     
    


  • reply via email to

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