diff --git a/ChangeLog b/ChangeLog index 40655d1c7..bea7cb57d 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +2011-08-15 Eric Wasylishen + + * Source/Functions.m (NSDrawNinePartImage): Bugfix when drawing with + not enough space + 2011-08-15 Eric Wasylishen * Source/Functions.m (NSDrawNinePartImage): Bugfix in flipped drawing code diff --git a/Source/Functions.m b/Source/Functions.m index 3c279eb72..feef6a353 100644 --- a/Source/Functions.m +++ b/Source/Functions.m @@ -453,7 +453,7 @@ void NSDrawNinePartImage(NSRect aRect, NSImage *topLeft, NSImage *topMiddle, topLeftRect.origin = aRect.origin; topMiddleRect.origin = NSMakePoint(NSMaxX(topLeftRect), aRect.origin.y); - topRightRect.origin = NSMakePoint(NSMaxX(topMiddleRect), + topRightRect.origin = NSMakePoint(NSMaxX(aRect) - NSWidth(topRightRect), aRect.origin.y); centerLeftRect.origin = NSMakePoint(aRect.origin.x, NSMaxY(topLeftRect)); @@ -462,19 +462,19 @@ void NSDrawNinePartImage(NSRect aRect, NSImage *topLeft, NSImage *topMiddle, centerRightRect.origin = NSMakePoint(NSMaxX(topMiddleRect), NSMaxY(topMiddleRect)); bottomLeftRect.origin = NSMakePoint(aRect.origin.x, - NSMaxY(centerLeftRect)); + NSMaxY(aRect) - NSHeight(bottomLeftRect)); bottomMiddleRect.origin = NSMakePoint(NSMaxX(centerLeftRect), NSMaxY(centerLeftRect)); - bottomRightRect.origin = NSMakePoint(NSMaxX(centerMiddleRect), - NSMaxY(centerMiddleRect)); + bottomRightRect.origin = NSMakePoint(NSMaxX(aRect) - NSWidth(bottomRightRect), + NSMaxY(aRect) - NSHeight(bottomRightRect)); } else { bottomLeftRect.origin = aRect.origin; bottomMiddleRect.origin = NSMakePoint(NSMaxX(bottomLeftRect), - aRect.origin.y); - bottomRightRect.origin = NSMakePoint(NSMaxX(bottomMiddleRect), - aRect.origin.y); + aRect.origin.y); + bottomRightRect.origin = NSMakePoint(NSMaxX(aRect) - NSWidth(bottomRightRect), + aRect.origin.y); centerLeftRect.origin = NSMakePoint(aRect.origin.x, NSMaxY(bottomLeftRect)); centerMiddleRect.origin = NSMakePoint(NSMaxX(bottomLeftRect), @@ -482,11 +482,11 @@ void NSDrawNinePartImage(NSRect aRect, NSImage *topLeft, NSImage *topMiddle, centerRightRect.origin = NSMakePoint(NSMaxX(bottomMiddleRect), NSMaxY(bottomMiddleRect)); topLeftRect.origin = NSMakePoint(aRect.origin.x, - NSMaxY(centerLeftRect)); + NSMaxY(aRect) - NSHeight(topLeftRect)); topMiddleRect.origin = NSMakePoint(NSMaxX(centerLeftRect), NSMaxY(centerLeftRect)); - topRightRect.origin = NSMakePoint(NSMaxX(centerMiddleRect), - NSMaxY(centerMiddleRect)); + topRightRect.origin = NSMakePoint(NSMaxX(aRect) - NSWidth(topRightRect), + NSMaxY(aRect) - NSHeight(topRightRect)); } // Draw the images left-to-right, bottom-to-top