devdraw: fix winsize (-W) on OS X
R=rsc CC=plan9port.codebot http://codereview.appspot.com/5749043
This commit is contained in:
parent
354c6c32f1
commit
7e2a1983e7
1 changed files with 11 additions and 5 deletions
|
|
@ -237,6 +237,12 @@ attachscreen(char *label, char *winsize)
|
||||||
}
|
}
|
||||||
@end
|
@end
|
||||||
|
|
||||||
|
double
|
||||||
|
min(double a, double b)
|
||||||
|
{
|
||||||
|
return a<b? a : b;
|
||||||
|
}
|
||||||
|
|
||||||
enum
|
enum
|
||||||
{
|
{
|
||||||
Winstyle = NSTitledWindowMask
|
Winstyle = NSTitledWindowMask
|
||||||
|
|
@ -254,6 +260,7 @@ makewin(char *s)
|
||||||
int i, set;
|
int i, set;
|
||||||
|
|
||||||
sr = [[NSScreen mainScreen] frame];
|
sr = [[NSScreen mainScreen] frame];
|
||||||
|
r = [[NSScreen mainScreen] visibleFrame];
|
||||||
|
|
||||||
if(s && *s){
|
if(s && *s){
|
||||||
if(parsewinsize(s, &wr, &set) < 0)
|
if(parsewinsize(s, &wr, &set) < 0)
|
||||||
|
|
@ -263,11 +270,10 @@ makewin(char *s)
|
||||||
set = 0;
|
set = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
r.origin.x = wr.min.x;
|
||||||
* The origin is the left bottom corner for Cocoa.
|
r.origin.y = sr.size.height-wr.max.y; /* winsize is top-left-based */
|
||||||
*/
|
r.size.width = min(Dx(wr), r.size.width);
|
||||||
r.origin.y = sr.size.height-wr.max.y;
|
r.size.height = min(Dy(wr), r.size.height);
|
||||||
r = NSMakeRect(wr.min.x, r.origin.y, Dx(wr), Dy(wr));
|
|
||||||
r = [NSWindow contentRectForFrameRect:r
|
r = [NSWindow contentRectForFrameRect:r
|
||||||
styleMask:Winstyle];
|
styleMask:Winstyle];
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue