summaryrefslogtreecommitdiffstats
path: root/libvo
diff options
context:
space:
mode:
authornplourde <nplourde@b3059339-0415-0410-9bf9-f77b7e298cf2>2005-06-29 21:54:48 +0000
committernplourde <nplourde@b3059339-0415-0410-9bf9-f77b7e298cf2>2005-06-29 21:54:48 +0000
commitc60e560af26ace56c4e43861ea7b2764d8a24d97 (patch)
tree30955b88e1040ce9476e6f34246db8021956ce9e /libvo
parent7d73ce2371f7d478b38c71a3f62e91f651e56d44 (diff)
downloadmpv-c60e560af26ace56c4e43861ea7b2764d8a24d97.tar.bz2
mpv-c60e560af26ace56c4e43861ea7b2764d8a24d97.tar.xz
keep window size when changing aspect
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@15856 b3059339-0415-0410-9bf9-f77b7e298cf2
Diffstat (limited to 'libvo')
-rw-r--r--libvo/vo_macosx.h1
-rw-r--r--libvo/vo_macosx.m26
2 files changed, 16 insertions, 11 deletions
diff --git a/libvo/vo_macosx.h b/libvo/vo_macosx.h
index a91b6b0a87..64858051a1 100644
--- a/libvo/vo_macosx.h
+++ b/libvo/vo_macosx.h
@@ -31,6 +31,7 @@
GLfloat upperLeft[2];
BOOL mouseHide;
+ float winSizeMult;
//menu command id
NSMenuItem *kQuitCmd;
diff --git a/libvo/vo_macosx.m b/libvo/vo_macosx.m
index fb11e4fdfd..a724255236 100644
--- a/libvo/vo_macosx.m
+++ b/libvo/vo_macosx.m
@@ -288,6 +288,7 @@ static uint32_t control(uint32_t request, void *data, ...)
[window setTitle:@"MPlayer - The Movie Player"];
isFullscreen = 0;
+ winSizeMult = 1;
}
- (id) config
@@ -359,7 +360,7 @@ static uint32_t control(uint32_t request, void *data, ...)
kDoubleScreenCmd = menuItem;
menuItem = [[NSMenuItem alloc] initWithTitle:@"Full Size" action:@selector(menuAction:) keyEquivalent:@"f"]; [menu addItem:menuItem];
kFullScreenCmd = menuItem;
- menuItem = (NSMenuItem *)[NSMenuItem separatorItem]; [menu addItem:menuItem];
+ //menuItem = (NSMenuItem *)[NSMenuItem separatorItem]; [menu addItem:menuItem];
NSMenu *aspectMenu;
aspectMenu = [[NSMenu alloc] initWithTitle:@"Aspect Ratio"];
@@ -424,8 +425,9 @@ static uint32_t control(uint32_t request, void *data, ...)
vo_fs = (!(vo_fs)); [self fullscreen:YES];
}
- frame.size.width = (d_width/2);
- frame.size.height = ((d_width/movie_aspect)/2);
+ winSizeMult = 0.5;
+ frame.size.width = (d_width*winSizeMult);
+ frame.size.height = ((d_width/movie_aspect)*winSizeMult);
[window setContentSize: frame.size];
[self reshape];
}
@@ -435,6 +437,7 @@ static uint32_t control(uint32_t request, void *data, ...)
vo_fs = (!(vo_fs)); [self fullscreen:YES];
}
+ winSizeMult = 1;
frame.size.width = d_width;
frame.size.height = d_width/movie_aspect;
[window setContentSize: frame.size];
@@ -446,8 +449,9 @@ static uint32_t control(uint32_t request, void *data, ...)
vo_fs = (!(vo_fs)); [self fullscreen:YES];
}
- frame.size.width = d_width*2;
- frame.size.height = (d_width/movie_aspect)*2;
+ winSizeMult = 2;
+ frame.size.width = d_width*winSizeMult;
+ frame.size.height = (d_width/movie_aspect)*winSizeMult;
[window setContentSize: frame.size];
[self reshape];
}
@@ -478,8 +482,8 @@ static uint32_t control(uint32_t request, void *data, ...)
if(sender == kAspectOrgCmd)
{
movie_aspect = old_movie_aspect;
- frame.size.width = d_width;
- frame.size.height = d_width/movie_aspect;
+ frame.size.width = d_width*winSizeMult;
+ frame.size.height = (d_width/movie_aspect)*winSizeMult;
[window setContentSize: frame.size];
[self reshape];
}
@@ -487,8 +491,8 @@ static uint32_t control(uint32_t request, void *data, ...)
if(sender == kAspectFullCmd)
{
movie_aspect = 4.0f/3.0f;
- frame.size.width = d_width;
- frame.size.height = d_width/movie_aspect;
+ frame.size.width = d_width*winSizeMult;
+ frame.size.height = (d_width/movie_aspect)*winSizeMult;
[window setContentSize: frame.size];
[self reshape];
}
@@ -496,8 +500,8 @@ static uint32_t control(uint32_t request, void *data, ...)
if(sender == kAspectWideCmd)
{
movie_aspect = 16.0f/9.0f;
- frame.size.width = d_width;
- frame.size.height = d_width/movie_aspect;
+ frame.size.width = d_width*winSizeMult;
+ frame.size.height = (d_width/movie_aspect)*winSizeMult;
[window setContentSize: frame.size];
[self reshape];
}