Alot of patches applied from various contributors.

git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@4879 72102866-910b-0410-8b05-ffd578937521
This commit is contained in:
Michael Silva 1999-09-12 19:56:22 +00:00
parent 4403e77a00
commit 3512fef231
4 changed files with 97 additions and 19 deletions

View file

@ -130,7 +130,7 @@
// nada
break;
case NSImageFramePhoto:
// what does this one look like?
// what does this one look like? TODO (in sync with the rest of the code)
break;
case NSImageFrameGrayBezel:
NSDrawGrayBezel(cellFrame, NSZeroRect);
@ -209,7 +209,7 @@ static inline NSSize scaleProportionally(NSSize imageSize, NSRect canvasRect)
return;
// leave room for the frame
cellFrame = NSInsetRect(cellFrame, xDist, yDist);
cellFrame = [self drawingRectForBounds: cellFrame];
switch( [self imageScaling] )
{
@ -289,6 +289,67 @@ static inline NSSize scaleProportionally(NSSize imageSize, NSRect canvasRect)
[image compositeToPoint: position operation: NSCompositeCopy];
}
- (NSSize) cellSize
{
NSSize borderSize, s;
// Get border size
switch (_frameStyle)
{
case NSImageFrameNone:
borderSize = [NSCell sizeForBorderType: NSNoBorder];
break;
case NSImageFramePhoto:
// what does this one look like? TODO (in sync with the rest of the code)
borderSize = [NSCell sizeForBorderType: NSNoBorder];
break;
case NSImageFrameGrayBezel:
case NSImageFrameGroove:
case NSImageFrameButton:
borderSize = [NSCell sizeForBorderType: NSBezelBorder];
break;
}
// Get Content Size
s = _original_image_size;
// Add in border size
s.width += 2 * borderSize.width;
s.height += 2 * borderSize.height;
return s;
}
- (NSSize) cellSizeForBounds: (NSRect)aRect
{
// TODO
return NSZeroSize;
}
- (NSRect) drawingRectForBounds: (NSRect)theRect
{
NSSize borderSize;
// Get border size
switch (_frameStyle)
{
case NSImageFrameNone:
borderSize = [NSCell sizeForBorderType: NSNoBorder];
break;
case NSImageFramePhoto:
// what does this one look like? TODO (in sync with the rest of the code)
borderSize = [NSCell sizeForBorderType: NSNoBorder];
break;
case NSImageFrameGrayBezel:
case NSImageFrameGroove:
case NSImageFrameButton:
borderSize = [NSCell sizeForBorderType: NSBezelBorder];
break;
}
return NSInsetRect (theRect, borderSize.width, borderSize.height);
}
- (id) copyWithZone: (NSZone *)zone
{
NSImageCell *c = [super copyWithZone: zone];

View file

@ -1041,7 +1041,7 @@ GSSetDragTypes(NSView* obj, NSArray *types)
if (options >= 1)
{
change = superViewFrameSize.width - oldSize.width;
changePerOption = floor(change/options);
changePerOption = change/options;
if (autoresizingMask & NSViewWidthSizable)
{
@ -1049,10 +1049,7 @@ GSSetDragTypes(NSView* obj, NSArray *types)
frame.size.width += changePerOption;
if (is_rotated_or_scaled_from_base)
{
bounds.size.width *= frame.size.width/oldFrameWidth;
bounds.size.width = floor(bounds.size.width);
}
bounds.size.width *= frame.size.width/oldFrameWidth;
else
bounds.size.width += changePerOption;
changedSize = YES;
@ -1081,7 +1078,7 @@ GSSetDragTypes(NSView* obj, NSArray *types)
if (options >= 1)
{
change = superViewFrameSize.height - oldSize.height;
changePerOption = floor(change/options);
changePerOption = change/options;
if (autoresizingMask & NSViewHeightSizable)
{
@ -1089,10 +1086,7 @@ GSSetDragTypes(NSView* obj, NSArray *types)
frame.size.height += changePerOption;
if (is_rotated_or_scaled_from_base)
{
bounds.size.height *= frame.size.height/oldFrameHeight;
bounds.size.height = floor(bounds.size.height);
}
bounds.size.height *= frame.size.height/oldFrameHeight;
else
bounds.size.height += changePerOption;
changedSize = YES;