comparison libvo/vo_directx.c @ 33807:fb9eaa0ab770

Simplify code handling minimized state.
author reimar
date Sun, 24 Jul 2011 17:23:49 +0000
parents 8c31fd7b9a08
children b69bf18ef92c
comparison
equal deleted inserted replaced
33806:8c31fd7b9a08 33807:fb9eaa0ab770
486 rd.top += (vo_dheight - height) / 2; 486 rd.top += (vo_dheight - height) / 2;
487 487
488 rd.right=rd.left+width; 488 rd.right=rd.left+width;
489 rd.bottom=rd.top+height; 489 rd.bottom=rd.top+height;
490 490
491 if(!nooverlay && (!width || !height)){
492 /*window is minimized*/
493 ddrval = g_lpddsOverlay->lpVtbl->UpdateOverlay(g_lpddsOverlay,NULL, g_lpddsPrimary, NULL, DDOVER_HIDE, NULL);
494 return 0;
495 }
496
497 /*ok, let's workaround some overlay limitations*/ 491 /*ok, let's workaround some overlay limitations*/
498 if(!nooverlay) 492 if(!nooverlay)
499 { 493 {
500 uint32_t uStretchFactor1000; //minimum stretch 494 uint32_t uStretchFactor1000; //minimum stretch
501 uint32_t xstretch1000,ystretch1000; 495 uint32_t xstretch1000,ystretch1000;
496
497 if (!width || !height) {
498 // window is minimized, so we should hide the overlay in case
499 // colorkeying is not used or working.
500 // In addition trying to set width/height to 0 would crash
501 g_lpddsOverlay->lpVtbl->UpdateOverlay(g_lpddsOverlay, NULL, g_lpddsPrimary, NULL, DDOVER_HIDE, NULL);
502 return 0;
503 }
504
502 /*get driver capabilities*/ 505 /*get driver capabilities*/
503 ZeroMemory(&capsDrv, sizeof(capsDrv)); 506 ZeroMemory(&capsDrv, sizeof(capsDrv));
504 capsDrv.dwSize = sizeof(capsDrv); 507 capsDrv.dwSize = sizeof(capsDrv);
505 if(g_lpdd->lpVtbl->GetCaps(g_lpdd,&capsDrv, NULL) != DD_OK)return 1; 508 if(g_lpdd->lpVtbl->GetCaps(g_lpdd,&capsDrv, NULL) != DD_OK)return 1;
506 /*get minimum stretch, depends on display adaptor and mode (refresh rate!) */ 509 /*get minimum stretch, depends on display adaptor and mode (refresh rate!) */