From f9a231018367059d1a23b8b4ca1d0b25625f0c15 Mon Sep 17 00:00:00 2001 From: ericwa Date: Wed, 3 Jul 2013 16:19:24 +0000 Subject: [PATCH] Add NSDrawThreePartImage git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@36824 72102866-910b-0410-8b05-ffd578937521 --- ChangeLog | 5 +++++ Headers/AppKit/NSGraphics.h | 5 +++++ Source/Functions.m | 23 +++++++++++++++++++++++ 3 files changed, 33 insertions(+) diff --git a/ChangeLog b/ChangeLog index 728bcf2b1..235557661 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +2013-07-03 Eric Wasylishen + + * Source/Functions.m: + * Headers/AppKit/NSGraphics.h: Add NSDrawThreePartImage + 2013-07-02 German A. Arias * Source/NSCursor.m (-push): Revert last change. diff --git a/Headers/AppKit/NSGraphics.h b/Headers/AppKit/NSGraphics.h index 8a265a6f8..1a3f49b19 100644 --- a/Headers/AppKit/NSGraphics.h +++ b/Headers/AppKit/NSGraphics.h @@ -184,6 +184,11 @@ APPKIT_EXPORT void NSDrawBitmap(NSRect rect, NSString *colorSpaceName, const unsigned char *const data[5]); +APPKIT_EXPORT void +NSDrawThreePartImage(NSRect aRect, NSImage *start, NSImage *middle, + NSImage *end, BOOL isVertical, NSCompositingOperation op, + CGFloat fraction, BOOL flipped); + APPKIT_EXPORT void NSDrawNinePartImage(NSRect aRect, NSImage *topLeft, NSImage *topMiddle, NSImage *topRight, NSImage *centerLeft, diff --git a/Source/Functions.m b/Source/Functions.m index f1d8c81fa..0fe62ed05 100644 --- a/Source/Functions.m +++ b/Source/Functions.m @@ -393,6 +393,29 @@ static void GSDrawRepeatingImage(NSRect aRect, NSImage *image, NSCompositingOper [NSGraphicsContext restoreGraphicsState]; } +void NSDrawThreePartImage(NSRect aRect, NSImage *start, NSImage *middle, + NSImage *end, BOOL isVertical, NSCompositingOperation op, + CGFloat fraction, BOOL flipped) +{ + if (isVertical) + { + NSDrawNinePartImage(aRect, + nil, start, nil, + nil, middle, nil, + nil, end, nil, + op, fraction, flipped); + } + else + { + NSDrawNinePartImage(aRect, + nil, nil, nil, + start, middle, end, + nil, nil, nil, + op, fraction, flipped); + } +} + + void NSDrawNinePartImage(NSRect aRect, NSImage *topLeft, NSImage *topMiddle, NSImage *topRight, NSImage *centerLeft, NSImage *centerMiddle, NSImage *centerRight,