mirror of
https://github.com/gnustep/libs-gui.git
synced 2025-04-23 23:31:02 +00:00
GSWindowDecorationView merge
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/branches/gnustep_testplant_branch@38703 72102866-910b-0410-8b05-ffd578937521
This commit is contained in:
parent
302adee8ba
commit
fbbca0182c
1 changed files with 26 additions and 4 deletions
|
@ -353,20 +353,42 @@ static inline NSRect RectWithSizeScaledByFactor(NSRect aRect, CGFloat factor)
|
|||
{
|
||||
NSRect orgWindowFrame;
|
||||
NSRect windowFrame;
|
||||
NSRect windowContentFrame;
|
||||
|
||||
if (difference != 0.0)
|
||||
// FIXME: This is needed as long as NSWindow uses fraem limits not content frame limits
|
||||
NSSize aSize = [window minSize];
|
||||
if (!NSEqualSizes(aSize, NSZeroSize))
|
||||
{
|
||||
aSize.height += difference;
|
||||
[window setMinSize: aSize];
|
||||
}
|
||||
aSize = [window maxSize];
|
||||
if (!NSEqualSizes(aSize, NSZeroSize))
|
||||
{
|
||||
aSize.height += difference;
|
||||
[window setMaxSize: aSize];
|
||||
}
|
||||
|
||||
contentRect.size.height += difference;
|
||||
windowFrame = [object_getClass(self)
|
||||
frameRectForContentRect: contentRect
|
||||
styleMask: [window styleMask]];
|
||||
|
||||
// Set the local frame without changing the contents view
|
||||
windowContentFrame = windowFrame;
|
||||
windowContentFrame.origin = NSZeroPoint;
|
||||
_autoresizes_subviews = NO;
|
||||
[super setFrame: windowContentFrame];
|
||||
|
||||
// Keep the top of the window at the same place
|
||||
orgWindowFrame = [window frame];
|
||||
windowFrame = orgWindowFrame;
|
||||
windowFrame.origin.y = orgWindowFrame.origin.y + orgWindowFrame.size.height - windowFrame.size.height;
|
||||
windowFrame.origin.x = orgWindowFrame.origin.x;
|
||||
windowFrame.size.height += difference;
|
||||
|
||||
// then resize the window
|
||||
[window setFrame: windowFrame display: YES];
|
||||
[self layout];
|
||||
}
|
||||
}
|
||||
|
||||
/*
|
||||
* Special setFrame: implementation - a minimal autoresize mechanism
|
||||
|
|
Loading…
Reference in a new issue