fix windows resizing ui glitch

git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@13780 b3059339-0415-0410-9bf9-f77b7e298cf2
This commit is contained in:
nplourde 2004-10-27 21:20:11 +00:00
parent 72679c77f5
commit 8d3c5a8579
1 changed files with 9 additions and 10 deletions

View File

@ -10,7 +10,7 @@
MPlayer Mac OSX Quartz video out module.
todo: -screen overlay output
-Enable live resize
-Add sub-option to select fullscreen resolution
-RGB32 lost HW accel in fullscreen
-(add sugestion here)
*/
@ -534,6 +534,7 @@ static uint32_t config(uint32_t width, uint32_t height, uint32_t d_width, uint32
windowAttrs = kWindowStandardDocumentAttributes
| kWindowStandardHandlerAttribute
| kWindowMetalAttribute
| kWindowCompositingAttribute
| kWindowLiveResizeAttribute;
if (theWindow == NULL)
@ -555,6 +556,9 @@ static uint32_t config(uint32_t width, uint32_t height, uint32_t d_width, uint32
SizeWindow (theWindow, d_width, d_height, 1);
}
//Show window
RepositionWindow(theWindow, NULL, kWindowCascadeOnMainScreen);
ShowWindow (theWindow);
SetPort(GetWindowPort(theWindow));
switch (image_format)
@ -717,10 +721,6 @@ static uint32_t config(uint32_t width, uint32_t height, uint32_t d_width, uint32
}
break;
}
//Show window
RepositionWindow(theWindow, NULL, kWindowCascadeOnMainScreen);
ShowWindow (theWindow);
if(vo_fs)
window_fullscreen();
@ -1071,6 +1071,7 @@ void window_resized()
uint32_t d_height;
Rect tmpRect;
CGRect tmpBounds;
GetPortBounds( GetWindowPort(theWindow), &winRect );
@ -1091,17 +1092,16 @@ void window_resized()
}
//Clear Background
tmpBounds = CGRectMake( 0, border, winRect.right, winRect.bottom);
CreateCGContextForPort(GetWindowPort(theWindow),&context);
CGRect winBounds = CGRectMake( 0, border, winRect.right, winRect.bottom);
CGContextSetRGBFillColor(context, 0.0, 0.0, 0.0, 1.0);
CGContextFillRect(context, winBounds);
CGContextFlush(context);
CGContextFillRect(context, tmpBounds);
switch (image_format)
{
case IMGFMT_RGB32:
{
bounds = CGRectMake(dstRect.left, dstRect.top, dstRect.right-dstRect.left, dstRect.bottom-dstRect.top);
bounds = CGRectMake(dstRect.left, dstRect.top+border, dstRect.right-dstRect.left, dstRect.bottom-dstRect.top);
CreateCGContextForPort (GetWindowPort (theWindow), &context);
break;
}
@ -1197,5 +1197,4 @@ void window_fullscreen()
vo_quartz_fs = 0;
}
window_resized();
}