@@ -308,14 +308,15 @@ do_showpic(struct video_buffer *screen,
308308 {
309309 static REF struct video_buffer * mask_buffer = NULL ;
310310 if (!mask_buffer ) {
311- mask_buffer = video_buffer_create (VIDEO_BUFFER_AUTO , 64 , 64 ,
312- video_codec_lookup (VIDEO_CODEC_A1_MSB ),
313- NULL );
311+ struct video_buffer_format format ;
312+ format .vbf_codec = video_codec_lookup (VIDEO_CODEC_A1_MSB );
313+ format .vbf_flags = VIDEO_GFX_F_XWRAP | VIDEO_GFX_F_YWRAP ;
314+ mask_buffer = video_domain_newbuffer (video_buffer_getdomain (screen ),
315+ & format , 64 , 64 ,
316+ VIDEO_DOMAIN_NEWBUFFER_F_NORMAL );
314317 if (mask_buffer ) {
315318 struct video_gfx mask_gfx ;
316- video_buffer_getgfx (mask_buffer , & mask_gfx ,
317- GFX_BLENDMODE_OVERRIDE ,
318- VIDEO_GFX_F_XWRAP | VIDEO_GFX_F_YWRAP , 0 );
319+ video_buffer_getgfx (mask_buffer , & mask_gfx , GFX_BLENDMODE_OVERRIDE );
319320 video_gfx_fill (& mask_gfx , 0 , 0 , 64 - 1 , 64 - 1 , VIDEO_COLOR_RGBA (0 , 0 , 0 , 0xff ));
320321 for (unsigned int i = 0 ; i < (32 / 4 ); ++ i ) {
321322 unsigned int x = i * 4 ;
@@ -331,9 +332,7 @@ do_showpic(struct video_buffer *screen,
331332 }
332333 if (mask_buffer ) {
333334 struct video_gfx mask_gfx ;
334- video_buffer_getgfx (mask_buffer , & mask_gfx ,
335- GFX_BLENDMODE_ALPHAMASK ,
336- VIDEO_GFX_F_XWRAP | VIDEO_GFX_F_YWRAP , 0 );
335+ video_buffer_getgfx (mask_buffer , & mask_gfx , GFX_BLENDMODE_ALPHAMASK );
337336 /*video_gfx_stretch3(&screen_gfx, blit_x, blit_y,
338337 &mask_gfx, 32, 32,
339338 blit_w, blit_h,
@@ -442,22 +441,23 @@ do_showpic(struct video_buffer *screen,
442441 struct video_gfx sized_gfx ;
443442 struct video_buffer * sized_buffer ;
444443#if 0 /* Using this method, pixel conversion only happens once */
445- struct video_buffer * format_buf = screen_buffer_asvideo (screen );
444+ struct video_surface const * format_surf = video_buffer_assurface ( screen_buffer_asvideo (screen ) );
446445#else
447- struct video_buffer * format_buf = image ;
446+ struct video_surface const * format_surf = image ;
448447#endif
449- sized_buffer = video_buffer_create ( VIDEO_BUFFER_AUTO ,
450- blit_w / tiles_x ,
451- blit_h / tiles_y ,
452- format_buf -> vb_codec ,
453- format_buf -> vb_surf . vs_pal );
448+ struct video_buffer_format format ;
449+ video_surface_getformat ( format_surf , & format );
450+ sized_buffer = video_domain_newbuffer ( video_surface_getdomain ( format_surf ) ,
451+ & format , blit_w / tiles_x , blit_h / tiles_y ,
452+ VIDEO_DOMAIN_NEWBUFFER_F_NORMAL );
454453 video_buffer_getgfx (sized_buffer , & sized_gfx , GFX_BLENDMODE_OVERRIDE );
455454 video_gfx_stretch (& sized_gfx , 0 , 0 , video_gfx_getxdim (& sized_gfx ), video_gfx_getydim (& sized_gfx ),
456455 & image_gfx , 0 , 0 , video_gfx_getxdim (& image_gfx ), video_gfx_getydim (& image_gfx ));
457- video_buffer_getgfx (sized_buffer , & sized_gfx ,
458- video_gfx_getblend (& image_gfx ),
459- video_gfx_getflags (& image_gfx ),
460- video_gfx_getcolorkey (& image_gfx ));
456+ video_buffer_getgfx_ex (sized_buffer , & sized_gfx ,
457+ video_gfx_getblend (& image_gfx ),
458+ video_buffer_getpalette (sized_buffer ),
459+ video_gfx_getflags (& image_gfx ),
460+ video_gfx_getcolorkey (& image_gfx ));
461461 video_gfx_bitblit (& screen_gfx , blit_x , blit_y , & sized_gfx ,
462462 dst_offset + (video_gfx_getxdim (& sized_gfx ) / 2 ),
463463 dst_offset + (video_gfx_getydim (& sized_gfx ) / 2 ),
@@ -564,7 +564,7 @@ int main(int argc, char *argv[]) {
564564 rect .vr_ymin = 100 ;
565565 rect .vr_xdim = screen_buffer_asvideo (screen )-> vb_xdim - 200 ;
566566 rect .vr_ydim = screen_buffer_asvideo (screen )-> vb_ydim - 200 ;
567- bscreen = video_buffer_region (screen_buffer_asvideo (screen ), & rect , 0 );
567+ bscreen = video_buffer_region (screen_buffer_asvideo (screen ), & rect );
568568 if (!bscreen )
569569 err (EXIT_FAILURE , "Failed to load screen buffer" );
570570// video_buffer_revoke(bscreen);
@@ -653,7 +653,7 @@ int main(int argc, char *argv[]) {
653653 * - dst format caching: ~97% spent sleeping (=> x30 pixel output possible) */
654654#if 0
655655 anim = video_anim_cached (anim , NULL , NULL );
656- #elif 0
656+ #elif 1
657657 {
658658 struct video_buffer_format format ;
659659 video_buffer_getformat (bscreen , & format );
0 commit comments