summaryrefslogtreecommitdiff
path: root/packages/univint/src/HIShape.pas
diff options
context:
space:
mode:
Diffstat (limited to 'packages/univint/src/HIShape.pas')
-rw-r--r--packages/univint/src/HIShape.pas812
1 files changed, 812 insertions, 0 deletions
diff --git a/packages/univint/src/HIShape.pas b/packages/univint/src/HIShape.pas
new file mode 100644
index 0000000000..eb39e53d39
--- /dev/null
+++ b/packages/univint/src/HIShape.pas
@@ -0,0 +1,812 @@
+{
+ File: HIToolbox/HIShape.h
+
+ Contains: Generic Abstract Shape API
+
+ Version: HIToolbox-219.4.81~2
+
+ Copyright: © 2001-2005 by Apple Computer, Inc., all rights reserved.
+
+ Bugs?: For bug reports, consult the following page on
+ the World Wide Web:
+
+ http://www.freepascal.org/bugs.html
+
+}
+{ File: HIShape.p(.pas) }
+{ }
+{ Contains: CodeWarrior Pascal(GPC) translation of Apple's Mac OS X 10.2 introduced HIShape.h. }
+{ Translation compatible with make-gpc-interfaces.pl generated MWPInterfaces }
+{ (GPCPInterfaces) and Mac OS X 10.2.x or higher. The CodeWarrior Pascal translation }
+{ is linkable with Mac OS X 10.2.x or higher CFM CarbonLib. The GPC translation is }
+{ linkable with Mac OS X 10.2.x or higher Mach-O Carbon.framework. }
+{ }
+{ Version: 1.0 }
+{ }
+{ Pascal Translation: Gale Paeper, <gpaeper@empirenet.com>, 2004 }
+{ }
+{ Copyright: Subject to the constraints of Apple's original rights, you're free to use this }
+{ translation as you deem fit. }
+{ }
+{ Bugs?: This is an AS IS translation with no express guarentees of any kind. }
+{ If you do find a bug, please help out the Macintosh Pascal programming community by }
+{ reporting your bug finding and possible fix to either personal e-mail to Gale Paeper }
+{ or a posting to the MacPascal mailing list. }
+{ }
+{ Translation assisted by: }
+{This file was processed by Dan's Source Converter}
+{version 1.3 (this version modified by Ingemar Ragnemalm)}
+{ Pascal Translation Updated: Peter N Lewis, <peter@stairways.com.au>, August 2005 }
+{
+ Modified for use with Free Pascal
+ Version 200
+ Please report any bugs to <gpc@microbizz.nl>
+}
+
+{$mode macpas}
+{$packenum 1}
+{$macro on}
+{$inline on}
+{$CALLING MWPASCAL}
+
+unit HIShape;
+interface
+{$setc UNIVERSAL_INTERFACES_VERSION := $0342}
+{$setc GAP_INTERFACES_VERSION := $0200}
+
+{$ifc not defined USE_CFSTR_CONSTANT_MACROS}
+ {$setc USE_CFSTR_CONSTANT_MACROS := TRUE}
+{$endc}
+
+{$ifc defined CPUPOWERPC and defined CPUI386}
+ {$error Conflicting initial definitions for CPUPOWERPC and CPUI386}
+{$endc}
+{$ifc defined FPC_BIG_ENDIAN and defined FPC_LITTLE_ENDIAN}
+ {$error Conflicting initial definitions for FPC_BIG_ENDIAN and FPC_LITTLE_ENDIAN}
+{$endc}
+
+{$ifc not defined __ppc__ and defined CPUPOWERPC}
+ {$setc __ppc__ := 1}
+{$elsec}
+ {$setc __ppc__ := 0}
+{$endc}
+{$ifc not defined __i386__ and defined CPUI386}
+ {$setc __i386__ := 1}
+{$elsec}
+ {$setc __i386__ := 0}
+{$endc}
+
+{$ifc defined __ppc__ and __ppc__ and defined __i386__ and __i386__}
+ {$error Conflicting definitions for __ppc__ and __i386__}
+{$endc}
+
+{$ifc defined __ppc__ and __ppc__}
+ {$setc TARGET_CPU_PPC := TRUE}
+ {$setc TARGET_CPU_X86 := FALSE}
+{$elifc defined __i386__ and __i386__}
+ {$setc TARGET_CPU_PPC := FALSE}
+ {$setc TARGET_CPU_X86 := TRUE}
+{$elsec}
+ {$error Neither __ppc__ nor __i386__ is defined.}
+{$endc}
+{$setc TARGET_CPU_PPC_64 := FALSE}
+
+{$ifc defined FPC_BIG_ENDIAN}
+ {$setc TARGET_RT_BIG_ENDIAN := TRUE}
+ {$setc TARGET_RT_LITTLE_ENDIAN := FALSE}
+{$elifc defined FPC_LITTLE_ENDIAN}
+ {$setc TARGET_RT_BIG_ENDIAN := FALSE}
+ {$setc TARGET_RT_LITTLE_ENDIAN := TRUE}
+{$elsec}
+ {$error Neither FPC_BIG_ENDIAN nor FPC_LITTLE_ENDIAN are defined.}
+{$endc}
+{$setc ACCESSOR_CALLS_ARE_FUNCTIONS := TRUE}
+{$setc CALL_NOT_IN_CARBON := FALSE}
+{$setc OLDROUTINENAMES := FALSE}
+{$setc OPAQUE_TOOLBOX_STRUCTS := TRUE}
+{$setc OPAQUE_UPP_TYPES := TRUE}
+{$setc OTCARBONAPPLICATION := TRUE}
+{$setc OTKERNEL := FALSE}
+{$setc PM_USE_SESSION_APIS := TRUE}
+{$setc TARGET_API_MAC_CARBON := TRUE}
+{$setc TARGET_API_MAC_OS8 := FALSE}
+{$setc TARGET_API_MAC_OSX := TRUE}
+{$setc TARGET_CARBON := TRUE}
+{$setc TARGET_CPU_68K := FALSE}
+{$setc TARGET_CPU_MIPS := FALSE}
+{$setc TARGET_CPU_SPARC := FALSE}
+{$setc TARGET_OS_MAC := TRUE}
+{$setc TARGET_OS_UNIX := FALSE}
+{$setc TARGET_OS_WIN32 := FALSE}
+{$setc TARGET_RT_MAC_68881 := FALSE}
+{$setc TARGET_RT_MAC_CFM := FALSE}
+{$setc TARGET_RT_MAC_MACHO := TRUE}
+{$setc TYPED_FUNCTION_POINTERS := TRUE}
+{$setc TYPE_BOOL := FALSE}
+{$setc TYPE_EXTENDED := FALSE}
+{$setc TYPE_LONGLONG := TRUE}
+uses MacTypes,CFBase,CGContext,Drag,Quickdraw,CarbonEvents,HIGeometry;
+{$ALIGN POWER}
+
+
+{
+ * HIShape
+ *
+ * Discussion:
+ * HIShape is an abstract shape object for use with some of the
+ * HIToolbox APIs. It is designed as a replacement for RgnHandles
+ * (though it is currently implemented in terms of them at the time
+ * of this writing). This abstraction will allow us to avoid using
+ * QD types in our APIs, particularly in HIView.
+ *
+ * One of the biggest benefits of HIShape is that we have mutable
+ * and immutable variants. This means that immutable shapes can be
+ * created and passed around and 'copied' very quickly, since they
+ * are actually refcounted when copied. This avoids needing to do
+ * the handle-to-handle copies that occur right now with
+ * RgnHandle-based APIs.
+ }
+type
+ HIShapeRef = ^SInt32; { an opaque 32-bit type }
+type
+ HIMutableShapeRef = ^SInt32; { an opaque 32-bit type }
+
+
+{
+ * HIShapeGetTypeID()
+ *
+ * Discussion:
+ * Returns the CF type ID for the HIShape class.
+ *
+ * Mac OS X threading:
+ * Not thread safe
+ *
+ * Result:
+ * A CF type ID.
+ *
+ * Availability:
+ * Mac OS X: in version 10.2 and later in Carbon.framework
+ * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.2 and later
+ * Non-Carbon CFM: not available
+ }
+function HIShapeGetTypeID: CFTypeID; external name '_HIShapeGetTypeID';
+(* AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER *)
+
+
+{======================================================================================}
+{ IMMUTABLE FUNCTIONS }
+{======================================================================================}
+{
+ * HIShapeCreateEmpty()
+ *
+ * Discussion:
+ * Creates an immutable empty shape. Useful at times.
+ *
+ * Mac OS X threading:
+ * Not thread safe
+ *
+ * Result:
+ * An immutable, empty HIShape reference.
+ *
+ * Availability:
+ * Mac OS X: in version 10.4 and later in Carbon.framework
+ * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.4 and later
+ * Non-Carbon CFM: not available
+ }
+function HIShapeCreateEmpty: HIShapeRef; external name '_HIShapeCreateEmpty';
+(* AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER *)
+
+
+{
+ * HIShapeCreateWithQDRgn()
+ *
+ * Discussion:
+ * Creates an immutable shape based on an existing Quickdraw region
+ * handle.
+ *
+ * Mac OS X threading:
+ * Not thread safe
+ *
+ * Parameters:
+ *
+ * inRgn:
+ * The Quickdraw region from which to create the HIShape.
+ *
+ * Result:
+ * An immutable HIShape reference.
+ *
+ * Availability:
+ * Mac OS X: in version 10.2 and later in Carbon.framework
+ * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.2 and later
+ * Non-Carbon CFM: not available
+ }
+function HIShapeCreateWithQDRgn( inRgn: RgnHandle ): HIShapeRef; external name '_HIShapeCreateWithQDRgn';
+(* AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER *)
+
+
+{
+ * HIShapeCreateWithRect()
+ *
+ * Discussion:
+ * Creates an immutable, rectangular shape based on a given
+ * rectangle.
+ *
+ * Mac OS X threading:
+ * Not thread safe
+ *
+ * Parameters:
+ *
+ * inRect:
+ * The HIRect from which to create the resulting shape.
+ *
+ * Result:
+ * An immutable HIShape reference.
+ *
+ * Availability:
+ * Mac OS X: in version 10.2 and later in Carbon.framework
+ * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.2 and later
+ * Non-Carbon CFM: not available
+ }
+function HIShapeCreateWithRect( const (*var*) inRect: HIRect ): HIShapeRef; external name '_HIShapeCreateWithRect';
+(* AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER *)
+
+
+{
+ * HIShapeCreateCopy()
+ *
+ * Discussion:
+ * Creates an immutable copy of a mutable or immutable HIShape.
+ *
+ * Mac OS X threading:
+ * Not thread safe
+ *
+ * Parameters:
+ *
+ * inShape:
+ * The existing HIShapeRef you wish to copy.
+ *
+ * Result:
+ * An immutable HIShape reference.
+ *
+ * Availability:
+ * Mac OS X: in version 10.2 and later in Carbon.framework
+ * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.2 and later
+ * Non-Carbon CFM: not available
+ }
+function HIShapeCreateCopy( inShape: HIShapeRef ): HIShapeRef; external name '_HIShapeCreateCopy';
+(* AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER *)
+
+
+{
+ * HIShapeCreateIntersection()
+ *
+ * Discussion:
+ * Creates a new immutable shape which is the intersection of two
+ * others.
+ *
+ * Mac OS X threading:
+ * Not thread safe
+ *
+ * Parameters:
+ *
+ * inShape1:
+ * An existing HIShapeRef.
+ *
+ * inShape2:
+ * An existing HIShapeRef.
+ *
+ * Result:
+ * A new immutable HIShapeRef.
+ *
+ * Availability:
+ * Mac OS X: in version 10.2 and later in Carbon.framework
+ * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.2 and later
+ * Non-Carbon CFM: not available
+ }
+function HIShapeCreateIntersection( inShape1: HIShapeRef; inShape2: HIShapeRef ): HIShapeRef; external name '_HIShapeCreateIntersection';
+(* AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER *)
+
+
+{
+ * HIShapeCreateDifference()
+ *
+ * Discussion:
+ * Creates a new immutable shape which is the difference of two
+ * others. The second shape is subtracted from the first.
+ *
+ * Mac OS X threading:
+ * Not thread safe
+ *
+ * Parameters:
+ *
+ * inShape1:
+ * An existing HIShapeRef.
+ *
+ * inShape2:
+ * An existing HIShapeRef.
+ *
+ * Result:
+ * A new immutable HIShapeRef.
+ *
+ * Availability:
+ * Mac OS X: in version 10.2 and later in Carbon.framework
+ * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.2 and later
+ * Non-Carbon CFM: not available
+ }
+function HIShapeCreateDifference( inShape1: HIShapeRef; inShape2: HIShapeRef ): HIShapeRef; external name '_HIShapeCreateDifference';
+(* AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER *)
+
+
+{
+ * HIShapeCreateUnion()
+ *
+ * Discussion:
+ * Creates a new immutable shape which is the union of two others.
+ *
+ * Mac OS X threading:
+ * Not thread safe
+ *
+ * Parameters:
+ *
+ * inShape1:
+ * An existing HIShapeRef.
+ *
+ * inShape2:
+ * An existing HIShapeRef.
+ *
+ * Result:
+ * A new immutable HIShapeRef.
+ *
+ * Availability:
+ * Mac OS X: in version 10.2 and later in Carbon.framework
+ * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.2 and later
+ * Non-Carbon CFM: not available
+ }
+function HIShapeCreateUnion( inShape1: HIShapeRef; inShape2: HIShapeRef ): HIShapeRef; external name '_HIShapeCreateUnion';
+(* AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER *)
+
+
+{
+ * HIShapeIsEmpty()
+ *
+ * Discussion:
+ * Returns true if the given HIShapeRef is empty, i.e. its area is
+ * empty.
+ *
+ * Mac OS X threading:
+ * Not thread safe
+ *
+ * Parameters:
+ *
+ * inShape:
+ * The existing HIShapeRef you wish to test.
+ *
+ * Result:
+ * A boolean result.
+ *
+ * Availability:
+ * Mac OS X: in version 10.2 and later in Carbon.framework
+ * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.2 and later
+ * Non-Carbon CFM: not available
+ }
+function HIShapeIsEmpty( inShape: HIShapeRef ): Boolean; external name '_HIShapeIsEmpty';
+(* AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER *)
+
+
+{
+ * HIShapeIsRectangular()
+ *
+ * Discussion:
+ * Returns true if the given HIShapeRef is rectangular.
+ *
+ * Mac OS X threading:
+ * Not thread safe
+ *
+ * Parameters:
+ *
+ * inShape:
+ * The existing HIShapeRef you wish to test.
+ *
+ * Result:
+ * A boolean result.
+ *
+ * Availability:
+ * Mac OS X: in version 10.2 and later in Carbon.framework
+ * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.2 and later
+ * Non-Carbon CFM: not available
+ }
+function HIShapeIsRectangular( inShape: HIShapeRef ): Boolean; external name '_HIShapeIsRectangular';
+(* AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER *)
+
+
+{
+ * HIShapeContainsPoint()
+ *
+ * Discussion:
+ * Returns true if the given HIShapeRef contains the point passed in.
+ *
+ * Mac OS X threading:
+ * Not thread safe
+ *
+ * Parameters:
+ *
+ * inShape:
+ * An existing HIShapeRef.
+ *
+ * inPoint:
+ * The point to check.
+ *
+ * Result:
+ * A boolean result.
+ *
+ * Availability:
+ * Mac OS X: in version 10.2 and later in Carbon.framework
+ * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.2 and later
+ * Non-Carbon CFM: not available
+ }
+function HIShapeContainsPoint( inShape: HIShapeRef; const (*var*) inPoint: HIPoint ): Boolean; external name '_HIShapeContainsPoint';
+(* AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER *)
+
+
+{
+ * HIShapeIntersectsRect()
+ *
+ * Discussion:
+ * Returns true if the given HIShapeRef intersects the rect passed
+ * in.
+ *
+ * Mac OS X threading:
+ * Not thread safe
+ *
+ * Parameters:
+ *
+ * inShape:
+ * An existing HIShapeRef.
+ *
+ * inRect:
+ * The rectangle to check.
+ *
+ * Result:
+ * A boolean result.
+ *
+ * Availability:
+ * Mac OS X: in version 10.4 and later in Carbon.framework
+ * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.4 and later
+ * Non-Carbon CFM: not available
+ }
+function HIShapeIntersectsRect( inShape: HIShapeRef; const (*var*) inRect: HIRect ): Boolean; external name '_HIShapeIntersectsRect';
+(* AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER *)
+
+
+{
+ * HIShapeGetBounds()
+ *
+ * Discussion:
+ * Returns the bounding rectangle of a given HIShapeRef.
+ *
+ * Mac OS X threading:
+ * Not thread safe
+ *
+ * Parameters:
+ *
+ * inShape:
+ * An existing HIShapeRef.
+ *
+ * outRect:
+ * Receives the bounding rectangle.
+ *
+ * Result:
+ * A pointer to the rectangle you passed in, for convenience.
+ *
+ * Availability:
+ * Mac OS X: in version 10.2 and later in Carbon.framework
+ * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.2 and later
+ * Non-Carbon CFM: not available
+ }
+function HIShapeGetBounds( inShape: HIShapeRef; var outRect: HIRect ): HIRectPtr; external name '_HIShapeGetBounds';
+(* AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER *)
+
+
+{
+ * HIShapeGetAsQDRgn()
+ *
+ * Discussion:
+ * Changes a given Quickdraw region handle to have the same shape as
+ * a given HIShapeRef. Essentially you are converting an HIShapeRef
+ * into a RgnHandle. This conversion may lose fidelity depending on
+ * how the shape was created originally.
+ *
+ * Mac OS X threading:
+ * Not thread safe
+ *
+ * Parameters:
+ *
+ * inShape:
+ * An existing HIShapeRef.
+ *
+ * outRgn:
+ * An existing region to change.
+ *
+ * Result:
+ * An operating system status code.
+ *
+ * Availability:
+ * Mac OS X: in version 10.2 and later in Carbon.framework
+ * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.2 and later
+ * Non-Carbon CFM: not available
+ }
+function HIShapeGetAsQDRgn( inShape: HIShapeRef; outRgn: RgnHandle ): OSStatus; external name '_HIShapeGetAsQDRgn';
+(* AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER *)
+
+
+{
+ * HIShapeReplacePathInCGContext()
+ *
+ * Discussion:
+ * Given an HIShapeRef and a CGContextRef, make the current path in
+ * the context represent the shape. You might use this to clip to a
+ * shape, for example. You could call this function and then
+ * immediately call CGContextClip.
+ *
+ * Mac OS X threading:
+ * Not thread safe
+ *
+ * Parameters:
+ *
+ * inShape:
+ * An existing HIShapeRef.
+ *
+ * inContext:
+ * The context to apply the shape to.
+ *
+ * Result:
+ * An operating system status code.
+ *
+ * Availability:
+ * Mac OS X: in version 10.2 and later in Carbon.framework
+ * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.2 and later
+ * Non-Carbon CFM: not available
+ }
+function HIShapeReplacePathInCGContext( inShape: HIShapeRef; inContext: CGContextRef ): OSStatus; external name '_HIShapeReplacePathInCGContext';
+(* AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER *)
+
+
+{
+ * HIShapeSetQDClip()
+ *
+ * Discussion:
+ * Given an HIShapeRef and a Quickdraw port, set the current clip in
+ * the port to the shape.
+ *
+ * Mac OS X threading:
+ * Not thread safe
+ *
+ * Parameters:
+ *
+ * inShape:
+ * An existing HIShapeRef.
+ *
+ * inPort:
+ * The port to set the clip for.
+ *
+ * Result:
+ * An operating system status code.
+ *
+ * Availability:
+ * Mac OS X: in version 10.2 and later in Carbon.framework
+ * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.2 and later
+ * Non-Carbon CFM: not available
+ }
+function HIShapeSetQDClip( inShape: HIShapeRef; inPort: CGrafPtr ): OSStatus; external name '_HIShapeSetQDClip';
+(* AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER *)
+
+
+{======================================================================================}
+{ MUTABLE FUNCTIONS }
+{======================================================================================}
+{
+ * HIShapeCreateMutable()
+ *
+ * Discussion:
+ * Creates a new, mutable, empty shape.
+ *
+ * Mac OS X threading:
+ * Not thread safe
+ *
+ * Result:
+ * A mutable shape reference.
+ *
+ * Availability:
+ * Mac OS X: in version 10.2 and later in Carbon.framework
+ * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.2 and later
+ * Non-Carbon CFM: not available
+ }
+function HIShapeCreateMutable: HIMutableShapeRef; external name '_HIShapeCreateMutable';
+(* AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER *)
+
+
+{
+ * HIShapeCreateMutableCopy()
+ *
+ * Discussion:
+ * Given an existing HIShapeRef, creates a new mutable copy.
+ *
+ * Mac OS X threading:
+ * Not thread safe
+ *
+ * Parameters:
+ *
+ * inOrig:
+ * The shape to copy.
+ *
+ * Result:
+ * A mutable shape reference.
+ *
+ * Availability:
+ * Mac OS X: in version 10.2 and later in Carbon.framework
+ * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.2 and later
+ * Non-Carbon CFM: not available
+ }
+function HIShapeCreateMutableCopy( inOrig: HIShapeRef ): HIMutableShapeRef; external name '_HIShapeCreateMutableCopy';
+(* AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER *)
+
+
+{
+ * HIShapeSetEmpty()
+ *
+ * Discussion:
+ * Sets a mutable shape to be an empty shape.
+ *
+ * Mac OS X threading:
+ * Not thread safe
+ *
+ * Parameters:
+ *
+ * inShape:
+ * The shape to empty.
+ *
+ * Result:
+ * An operating system status code.
+ *
+ * Availability:
+ * Mac OS X: in version 10.2 and later in Carbon.framework
+ * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.2 and later
+ * Non-Carbon CFM: not available
+ }
+function HIShapeSetEmpty( inShape: HIMutableShapeRef ): OSStatus; external name '_HIShapeSetEmpty';
+(* AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER *)
+
+
+{
+ * HIShapeIntersect()
+ *
+ * Discussion:
+ * Takes two shapes and sets a third to be their intersection.
+ *
+ * Mac OS X threading:
+ * Not thread safe
+ *
+ * Parameters:
+ *
+ * inShape1:
+ * The first shape.
+ *
+ * inShape2:
+ * The second shape.
+ *
+ * outResult:
+ * The shape to receive the result of the intersection. This can
+ * be one of the source shapes.
+ *
+ * Result:
+ * An operating system status code.
+ *
+ * Availability:
+ * Mac OS X: in version 10.2 and later in Carbon.framework
+ * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.2 and later
+ * Non-Carbon CFM: not available
+ }
+function HIShapeIntersect( inShape1: HIShapeRef; inShape2: HIShapeRef; outResult: HIMutableShapeRef ): OSStatus; external name '_HIShapeIntersect';
+(* AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER *)
+
+
+{
+ * HIShapeDifference()
+ *
+ * Discussion:
+ * Takes two shapes and sets a third to be their difference. The
+ * second shape is subtracted from the first.
+ *
+ * Mac OS X threading:
+ * Not thread safe
+ *
+ * Parameters:
+ *
+ * inShape1:
+ * The first shape.
+ *
+ * inShape2:
+ * The second shape.
+ *
+ * outResult:
+ * The shape to receive the result of the intersection. This can
+ * be one of the source shapes.
+ *
+ * Result:
+ * An operating system status code.
+ *
+ * Availability:
+ * Mac OS X: in version 10.2 and later in Carbon.framework
+ * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.2 and later
+ * Non-Carbon CFM: not available
+ }
+function HIShapeDifference( inShape1: HIShapeRef; inShape2: HIShapeRef; outResult: HIMutableShapeRef ): OSStatus; external name '_HIShapeDifference';
+(* AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER *)
+
+
+{
+ * HIShapeUnion()
+ *
+ * Discussion:
+ * Takes two shapes and sets a third to be their union.
+ *
+ * Mac OS X threading:
+ * Not thread safe
+ *
+ * Parameters:
+ *
+ * inShape1:
+ * The first shape.
+ *
+ * inShape2:
+ * The second shape.
+ *
+ * outResult:
+ * The shape to receive the result of the union. This can be one
+ * of the source shapes.
+ *
+ * Result:
+ * An operating system status code.
+ *
+ * Availability:
+ * Mac OS X: in version 10.2 and later in Carbon.framework
+ * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.2 and later
+ * Non-Carbon CFM: not available
+ }
+function HIShapeUnion( inShape1: HIShapeRef; inShape2: HIShapeRef; outResult: HIMutableShapeRef ): OSStatus; external name '_HIShapeUnion';
+(* AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER *)
+
+
+{
+ * HIShapeOffset()
+ *
+ * Discussion:
+ * Offsets a shape by some delta.
+ *
+ * Mac OS X threading:
+ * Not thread safe
+ *
+ * Parameters:
+ *
+ * inShape:
+ * The shape to offset.
+ *
+ * inDX:
+ * The delta to move the shape on the X axis.
+ *
+ * inDY:
+ * The delta to move the shape on the Y axis.
+ *
+ * Result:
+ * An operating system status code.
+ *
+ * Availability:
+ * Mac OS X: in version 10.2 and later in Carbon.framework
+ * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.2 and later
+ * Non-Carbon CFM: not available
+ }
+function HIShapeOffset( inShape: HIMutableShapeRef; inDX: Float32; inDY: Float32 ): OSStatus; external name '_HIShapeOffset';
+(* AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER *)
+
+
+end.