home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
CLIX - Fazer Clix Custa Nix
/
CLIX-CD.cdr
/
mac
/
lib
/
Mac
/
QuickTimeVR.xs
< prev
next >
Encoding:
Amiga
Atari
Commodore
DOS
FM Towns/JPY
Macintosh
Macintosh JP
NeXTSTEP
RISC OS/Acorn
UTF-8
Wrap
Text File
|
1998-04-05
|
21.7 KB
|
1,170 lines
|
[
TEXT/McPL
]
/* $Header: /home/neeri/MacCVS/MacPerl/perl/ext/Mac/ExtUtils/MakeToolboxModule,v 1.2 1997/11/18 00:52:19 neeri Exp
* Copyright (c) 1997 Matthias Neeracher
*
* You may distribute under the terms of the Perl Artistic License,
* as specified in the README file.
*
* $Log: MakeToolboxModule,v Revision 1.2 1997/11/18 00:52:19 neeri
* MacPerl 5.1.5
*
* Revision 1.1 1997/04/07 20:49:35 neeri
* Synchronized with MacPerl 5.1.4a1
*
*/
#define MAC_CONTEXT
#include "EXTERN.h"
#include "perl.h"
#include "XSUB.h"
#include <Types.h>
#include <QuickTimeVR.h>
#define QTVRInterceptRecord QTVRInterceptPtr
static pascal void PerlIntercept(
QTVRInstance qtvr, QTVRInterceptRecord msg, SV * proc, Boolean * cancel)
{
dSP;
ENTER;
SAVETMPS;
PUSHMARK(sp);
XS_XPUSH(QTVRInstance, qtvr);
XS_XPUSH(QTVRInterceptRecord, msg);
PUTBACK;
perl_call_sv(proc, G_SCALAR);
SPAGAIN;
XS_POP(Boolean, *cancel);
PUTBACK;
FREETMPS;
LEAVE;
}
#if GENERATINGCFM
RoutineDescriptor sPerlIntercept =
BUILD_ROUTINE_DESCRIPTOR(uppQTVRInterceptProcInfo, PerlIntercept);
#else
#define sPerlIntercept *NewQTVRInterceptProc(PerlIntercept)
#endif
MODULE = Mac::QuickTimeVR PACKAGE = QTVRFloatPoint
=head2 Types
=over 4
=cut
STRUCT QTVRFloatPoint
float x;
float y;
MODULE = Mac::QuickTimeVR PACKAGE = QTVRCursorRecord
STRUCT QTVRCursorRecord
U16 theType;
short rsrcID;
Handle handle;
MODULE = Mac::QuickTimeVR PACKAGE = QTVRInterceptRecord
STRUCT * QTVRInterceptRecord
long selector
long paramCount
float angle
ALIAS *(float *)STRUCT->parameter[0]
QTVRFloatPoint viewCenter
ALIAS *(QTVRFloatPoint *)STRUCT->parameter[0]
Point where
ALIAS *(Point *)STRUCT->parameter
U32 hotSpotID
ALIAS *(U32 *)STRUCT->parameter[1]
U32 when
ALIAS *(U32 *)(STRUCT->parameter+1)
U16 modifiers
ALIAS *(U32 *)(STRUCT->parameter+2)
U32 mDownHotSpotID
ALIAS *(U32 *)STRUCT->parameter[3]
U32 triggerHotSpotID
ALIAS *(U32 *)STRUCT->parameter[0]
QTAtomContainer nodeInfo
ALIAS *(QTAtomContainer *)(STRUCT->parameter+1)
QTAtom selectedAtom
ALIAS *(QTAtom *)(STRUCT->parameter+2)
MODULE = Mac::QuickTimeVR PACKAGE = Mac::QuickTimeVR
=back
=head2 Functions
=over 4
=cut
=item QTVRGetQTVRTrack THEMOVIE, INDEX
=cut
Track
QTVRGetQTVRTrack(theMovie, index)
Movie theMovie
long index
=item QTVRGetQTVRInstance QTVRTRACK, MC
=cut
QTVRInstance
QTVRGetQTVRInstance(qtvrTrack, mc)
Track qtvrTrack
ComponentInstance mc
CODE:
if (gLastMacOSErr = QTVRGetQTVRInstance(&RETVAL, qtvrTrack, mc)) {
XSRETURN_UNDEF;
}
OUTPUT:
RETVAL
=item QTVRSetPanAngle QTVR, PANANGLE
=cut
MacOSRet
QTVRSetPanAngle(qtvr, panAngle)
QTVRInstance qtvr
float panAngle
=item QTVRGetPanAngle QTVR
=cut
float
QTVRGetPanAngle(qtvr)
QTVRInstance qtvr
=item QTVRSetTiltAngle QTVR, TILTANGLE
=cut
MacOSRet
QTVRSetTiltAngle(qtvr, tiltAngle)
QTVRInstance qtvr
float tiltAngle
=item QTVRGetTiltAngle QTVR
=cut
float
QTVRGetTiltAngle(qtvr)
QTVRInstance qtvr
=item QTVRSetFieldOfView QTVR, FIELDOFVIEW
=cut
MacOSRet
QTVRSetFieldOfView(qtvr, fieldOfView)
QTVRInstance qtvr
float fieldOfView
=item QTVRGetFieldOfView QTVR
=cut
float
QTVRGetFieldOfView(qtvr)
QTVRInstance qtvr
=item QTVRShowDefaultView QTVR
=cut
MacOSRet
QTVRShowDefaultView(qtvr)
QTVRInstance qtvr
=item QTVRSetViewCenter QTVR, VIEWCENTER
=cut
MacOSRet
QTVRSetViewCenter(qtvr, viewCenter)
QTVRInstance qtvr
QTVRFloatPoint &viewCenter
=item QTVRGetViewCenter QTVR
=cut
QTVRFloatPoint
QTVRGetViewCenter(qtvr)
QTVRInstance qtvr
CODE:
if (gLastMacOSErr = QTVRGetViewCenter(qtvr, &RETVAL)) {
XSRETURN_UNDEF;
}
OUTPUT:
RETVAL
=item QTVRNudge QTVR, DIRECTION
=cut
MacOSRet
QTVRNudge(qtvr, direction)
QTVRInstance qtvr
QTVRNudgeControl direction
=item QTVRGetVRWorld QTVR
=cut
QTAtomContainer
QTVRGetVRWorld(qtvr)
QTVRInstance qtvr
CODE:
if (gLastMacOSErr = QTVRGetVRWorld(qtvr, &RETVAL)) {
XSRETURN_UNDEF;
}
OUTPUT:
RETVAL
=item QTVRGoToNodeID QTVR, NODEID
=cut
MacOSRet
QTVRGoToNodeID(qtvr, nodeID)
QTVRInstance qtvr
U32 nodeID
=item QTVRGetCurrentNodeID QTVR
=cut
U32
QTVRGetCurrentNodeID(qtvr)
QTVRInstance qtvr
=item QTVRGetNodeType QTVR, NODEID
=cut
OSType
QTVRGetNodeType(qtvr, nodeID)
QTVRInstance qtvr
U32 nodeID
=item QTVRPtToHotSpotID QTVR, PT
=cut
U32
QTVRPtToHotSpotID(qtvr, pt)
QTVRInstance qtvr
Point pt
CODE:
if (gLastMacOSErr = QTVRPtToHotSpotID(qtvr, pt, &RETVAL)) {
XSRETURN_UNDEF;
}
OUTPUT:
RETVAL
=item QTVRGetNodeInfo QTVR, NODEID
=cut
QTAtomContainer
QTVRGetNodeInfo(qtvr, nodeID)
QTVRInstance qtvr
U32 nodeID
CODE:
if (gLastMacOSErr = QTVRGetNodeInfo(qtvr, nodeID, &RETVAL)) {
XSRETURN_UNDEF;
}
OUTPUT:
RETVAL
=item QTVRTriggerHotSpot QTVR, HOTSPOTID, NODEINFO, SELECTEDATOM
=cut
MacOSRet
QTVRTriggerHotSpot(qtvr, hotSpotID, nodeInfo, selectedAtom)
QTVRInstance qtvr
U32 hotSpotID
QTAtomContainer nodeInfo
QTAtom selectedAtom
=begin ignore
MacOSRet
QTVRSetMouseOverHotSpotProc(qtvr, mouseOverHotSpotProc, refCon, flags)
QTVRInstance qtvr
MouseOverHotSpotUPP mouseOverHotSpotProc
long refCon
U32 flags
=end ignore
=cut
=item QTVREnableHotSpot QTVR, ENABLEFLAG, HOTSPOTVALUE, ENABLE
=cut
MacOSRet
QTVREnableHotSpot(qtvr, enableFlag, hotSpotValue, enable)
QTVRInstance qtvr
U32 enableFlag
U32 hotSpotValue
Boolean enable
=item QTVRGetVisibleHotSpots QTVR, HOTSPOTS
=cut
U32
QTVRGetVisibleHotSpots(qtvr, hotSpots)
QTVRInstance qtvr
Handle hotSpots
=item QTVRGetHotSpotRegion QTVR, HOTSPOTID, HOTSPOTREGION
=cut
MacOSRet
QTVRGetHotSpotRegion(qtvr, hotSpotID, hotSpotRegion)
QTVRInstance qtvr
U32 hotSpotID
RgnHandle hotSpotRegion
=item QTVRSetMouseOverTracking QTVR, ENABLE
=cut
MacOSRet
QTVRSetMouseOverTracking(qtvr, enable)
QTVRInstance qtvr
Boolean enable
=item QTVRGetMouseOverTracking QTVR
=cut
Boolean
QTVRGetMouseOverTracking(qtvr)
QTVRInstance qtvr
=item QTVRSetMouseDownTracking QTVR, ENABLE
=cut
MacOSRet
QTVRSetMouseDownTracking(qtvr, enable)
QTVRInstance qtvr
Boolean enable
=item QTVRGetMouseDownTracking QTVR
=cut
Boolean
QTVRGetMouseDownTracking(qtvr)
QTVRInstance qtvr
=item QTVRMouseEnter QTVR, PT, W
=cut
U32
QTVRMouseEnter(qtvr, pt, w)
QTVRInstance qtvr
Point pt
GrafPtr w
CODE:
if (gLastMacOSErr = QTVRMouseEnter(qtvr, pt, &RETVAL, w)) {
XSRETURN_UNDEF;
}
OUTPUT:
RETVAL
=item QTVRMouseWithin QTVR, PT, W
=cut
U32
QTVRMouseWithin(qtvr, pt, w)
QTVRInstance qtvr
Point pt
GrafPtr w
CODE:
if (gLastMacOSErr = QTVRMouseWithin(qtvr, pt, &RETVAL, w)) {
XSRETURN_UNDEF;
}
OUTPUT:
RETVAL
=item QTVRMouseLeave QTVR, PT, W
=cut
MacOSRet
QTVRMouseLeave(qtvr, pt, w)
QTVRInstance qtvr
Point pt
GrafPtr w
=item QTVRMouseDown QTVR, PT, WHEN, MODIFIERS, W
=cut
U32
QTVRMouseDown(qtvr, pt, when, modifiers, w)
QTVRInstance qtvr
Point pt
U32 when
U16 modifiers
GrafPtr w
CODE:
if (gLastMacOSErr = QTVRMouseDown(qtvr, pt, when, modifiers, &RETVAL, w)) {
XSRETURN_UNDEF;
}
OUTPUT:
RETVAL
=item QTVRMouseStillDown QTVR, PT, W
=cut
U32
QTVRMouseStillDown(qtvr, pt, w)
QTVRInstance qtvr
Point pt
GrafPtr w
CODE:
if (gLastMacOSErr = QTVRMouseStillDown(qtvr, pt, &RETVAL, w)) {
XSRETURN_UNDEF;
}
OUTPUT:
RETVAL
=item QTVRMouseUp QTVR, PT, W
=cut
U32
QTVRMouseUp(qtvr, pt, w)
QTVRInstance qtvr
Point pt
GrafPtr w
CODE:
if (gLastMacOSErr = QTVRMouseUp(qtvr, pt, &RETVAL, w)) {
XSRETURN_UNDEF;
}
OUTPUT:
RETVAL
=item QTVRInstallInterceptProc QTVR, SELECTOR, PROC, FLAGS
=cut
MacOSRet
QTVRInstallInterceptProc(qtvr, selector, interceptProc, flags=0)
QTVRInstance qtvr
U32 selector
SV* interceptProc
U32 flags
CODE:
RETVAL =
QTVRInstallInterceptProc(
qtvr, selector, &sPerlIntercept, (long)newSVsv(interceptProc), flags);
OUTPUT:
RETVAL
=item QTVRCallInterceptedProc QTVR, MSG
=cut
MacOSRet
QTVRCallInterceptedProc(qtvr, qtvrMsg)
QTVRInstance qtvr
QTVRInterceptRecord qtvrMsg
=item QTVRSetFrameRate QTVR, RATE
=cut
MacOSRet
QTVRSetFrameRate(qtvr, rate)
QTVRInstance qtvr
float rate
=item QTVRGetFrameRate QTVR
=cut
float
QTVRGetFrameRate(qtvr)
QTVRInstance qtvr
=item QTVRSetViewRate QTVR, RATE
=cut
MacOSRet
QTVRSetViewRate(qtvr, rate)
QTVRInstance qtvr
float rate
=item QTVRGetViewRate QTVR
=cut
float
QTVRGetViewRate(qtvr)
QTVRInstance qtvr
=item QTVRSetViewCurrentTime QTVR, TIME
=cut
MacOSRet
QTVRSetViewCurrentTime(qtvr, time)
QTVRInstance qtvr
long time
=item QTVRGetViewCurrentTime QTVR
=cut
long
QTVRGetViewCurrentTime(qtvr)
QTVRInstance qtvr
=item QTVRGetCurrentViewDuration QTVR
=cut
long
QTVRGetCurrentViewDuration(qtvr)
QTVRInstance qtvr
=item QTVRSetViewState QTVR, VIEWSTATETYPE, STATE
=cut
MacOSRet
QTVRSetViewState(qtvr, viewStateType, state)
QTVRInstance qtvr
QTVRViewStateType viewStateType
U16 state
=item QTVRGetViewState QTVR, VIEWSTATETYPE
=cut
U16
QTVRGetViewState(qtvr, viewStateType)
QTVRInstance qtvr
QTVRViewStateType viewStateType
CODE:
if (gLastMacOSErr = QTVRGetViewState(qtvr, viewStateType, &RETVAL)) {
XSRETURN_UNDEF;
}
OUTPUT:
RETVAL
=item QTVRGetViewStateCount QTVR
=cut
U16
QTVRGetViewStateCount(qtvr)
QTVRInstance qtvr
=item QTVRSetAnimationSetting QTVR, SETTING, ENABLE
=cut
MacOSRet
QTVRSetAnimationSetting(qtvr, setting, enable)
QTVRInstance qtvr
QTVRObjectAnimationSetting setting
Boolean enable
=item QTVRGetAnimationSetting QTVR, SETTING
=cut
Boolean
QTVRGetAnimationSetting(qtvr, setting)
QTVRInstance qtvr
QTVRObjectAnimationSetting setting
CODE:
if (gLastMacOSErr = QTVRGetAnimationSetting(qtvr, setting, &RETVAL)) {
XSRETURN_UNDEF;
}
OUTPUT:
RETVAL
=item QTVRSetControlSetting QTVR, SETTING, ENABLE
=cut
MacOSRet
QTVRSetControlSetting(qtvr, setting, enable)
QTVRInstance qtvr
QTVRControlSetting setting
Boolean enable
=item QTVRGetControlSetting QTVR, SETTING, ENABLE
=cut
Boolean
QTVRGetControlSetting(qtvr, setting)
QTVRInstance qtvr
QTVRControlSetting setting
CODE:
if (gLastMacOSErr = QTVRGetControlSetting(qtvr, setting, &RETVAL)) {
XSRETURN_UNDEF;
}
OUTPUT:
RETVAL
=item QTVREnableFrameAnimation QTVR, ENABLE
=cut
MacOSRet
QTVREnableFrameAnimation(qtvr, enable)
QTVRInstance qtvr
Boolean enable
=item QTVRGetFrameAnimation QTVR
=cut
Boolean
QTVRGetFrameAnimation(qtvr)
QTVRInstance qtvr
=item QTVREnableViewAnimation QTVR, ENABLE
=cut
MacOSRet
QTVREnableViewAnimation(qtvr, enable)
QTVRInstance qtvr
Boolean enable
=item QTVRGetViewAnimation QTVR
=cut
Boolean
QTVRGetViewAnimation(qtvr)
QTVRInstance qtvr
=item QTVRSetVisible QTVR, VISIBLE
=cut
MacOSRet
QTVRSetVisible(qtvr, visible)
QTVRInstance qtvr
Boolean visible
=item QTVRGetVisible QTVR
=cut
Boolean
QTVRGetVisible(qtvr)
QTVRInstance qtvr
=item QTVRSetImagingProperty QTVR, IMAGINGMODE, IMAGINGPROPERTY, PROPERTYVALUE
=cut
MacOSRet
QTVRSetImagingProperty(qtvr, imagingMode, imagingProperty, propertyValue)
QTVRInstance qtvr
QTVRImagingMode imagingMode
U32 imagingProperty
long propertyValue
=item QTVRGetImagingProperty QTVR, IMAGINGMODE, IMAGINGPROPERTY
=cut
I32
QTVRGetImagingProperty(qtvr, imagingMode, imagingProperty)
QTVRInstance qtvr
QTVRImagingMode imagingMode
U32 imagingProperty
CODE:
if (gLastMacOSErr = QTVRGetImagingProperty(qtvr, imagingMode, imagingProperty, &RETVAL)) {
XSRETURN_UNDEF;
}
OUTPUT:
RETVAL
=item QTVRUpdate QTVR, IMAGINGMODE
=cut
MacOSRet
QTVRUpdate(qtvr, imagingMode)
QTVRInstance qtvr
QTVRImagingMode imagingMode
=item QTVRBeginUpdateStream QTVR, IMAGINGMODE
=cut
MacOSRet
QTVRBeginUpdateStream(qtvr, imagingMode)
QTVRInstance qtvr
QTVRImagingMode imagingMode
=item QTVREndUpdateStream QTVR
=cut
MacOSRet
QTVREndUpdateStream(qtvr)
QTVRInstance qtvr
=item QTVRSetTransitionProperty QTVR, TRANSITIONTYPE, TRANSITIONPROPERTY, TRANSITIONVALUE
=cut
MacOSRet
QTVRSetTransitionProperty(qtvr, transitionType, transitionProperty, transitionValue)
QTVRInstance qtvr
U32 transitionType
U32 transitionProperty
long transitionValue
=item QTVREnableTransition QTVR, TRANSITIONTYPE, ENABLE
=cut
MacOSRet
QTVREnableTransition(qtvr, transitionType, enable)
QTVRInstance qtvr
U32 transitionType
Boolean enable
=item QTVRSetAngularUnits QTVR, UNITS
=cut
MacOSRet
QTVRSetAngularUnits(qtvr, units)
QTVRInstance qtvr
QTVRAngularUnits units
=item QTVRGetAngularUnits QTVR
=cut
QTVRAngularUnits
QTVRGetAngularUnits(qtvr)
QTVRInstance qtvr
=item QTVRPtToAngles QTVR, PT
($panAngle, $tiltAngle) = QTVRPtToAngles($qtvr, $pt);
=cut
void
QTVRPtToAngles(qtvr, pt)
QTVRInstance qtvr
Point pt
PPCODE:
{
float panAngle;
float tiltAngle;
if (gLastMacOSErr = QTVRPtToAngles(qtvr, pt, &panAngle, &tiltAngle)) {
XSRETURN_EMPTY;
}
XS_XPUSH(float, panAngle);
XS_XPUSH(float, tiltAngle);
}
=item QTVRCoordToAngles QTVR, COORD
($panAngle, $tiltAngle) = QTVRCoordToAngles($qtvr, $coord);
=cut
void
QTVRCoordToAngles(qtvr, coord)
QTVRInstance qtvr
QTVRFloatPoint coord
PPCODE:
{
float panAngle;
float tiltAngle;
if (gLastMacOSErr = QTVRCoordToAngles(qtvr, &coord, &panAngle, &tiltAngle)) {
XSRETURN_EMPTY;
}
XS_XPUSH(float, panAngle);
XS_XPUSH(float, tiltAngle);
}
=item QTVRAnglesToCoord QTVR, PANANGLE, TILTANGLE
=cut
QTVRFloatPoint
QTVRAnglesToCoord(qtvr, panAngle, tiltAngle)
QTVRInstance qtvr
float panAngle
float tiltAngle
CODE:
if (gLastMacOSErr = QTVRAnglesToCoord(qtvr, panAngle, tiltAngle, &RETVAL)) {
XSRETURN_UNDEF;
}
OUTPUT:
RETVAL
=item QTVRPanToColumn QTVR, PANANGLE
=cut
short
QTVRPanToColumn(qtvr, panAngle)
QTVRInstance qtvr
float panAngle
=item QTVRColumnToPan QTVR, COLUMN
=cut
float
QTVRColumnToPan(qtvr, column)
QTVRInstance qtvr
short column
=item QTVRTiltToRow QTVR, TILTANGLE
=cut
short
QTVRTiltToRow(qtvr, tiltAngle)
QTVRInstance qtvr
float tiltAngle
=item QTVRRowToTilt QTVR, ROW
=cut
float
QTVRRowToTilt(qtvr, row)
QTVRInstance qtvr
short row
=item QTVRWrapAndConstrain QTVR, KIND, VALUE
=cut
float
QTVRWrapAndConstrain(qtvr, kind, value)
QTVRInstance qtvr
short kind
float value
CODE:
if (gLastMacOSErr = QTVRWrapAndConstrain(qtvr, kind, value, &RETVAL)) {
XSRETURN_UNDEF;
}
OUTPUT:
RETVAL
=begin ignore
MacOSRet
QTVRSetEnteringNodeProc(qtvr, enteringNodeProc, refCon, flags)
QTVRInstance qtvr
EnteringNodeUPP enteringNodeProc
long refCon
U32 flags
MacOSRet
QTVRSetLeavingNodeProc(qtvr, leavingNodeProc, refCon, flags)
QTVRInstance qtvr
LeavingNodeUPP leavingNodeProc
long refCon
U32 flags
=end ignore
=cut
=item QTVRSetInteractionProperty QTVR, PROPERTY, VALUE
=cut
MacOSRet
QTVRSetInteractionProperty(qtvr, property, ...)
QTVRInstance qtvr
U32 property
CODE:
{
void * val;
U16 v_u16;
U32 v_u32;
Boolean v_b;
float v_f;
switch (property & 0x7FFFFFFF) {
case kQTVRInteractionMouseClickHysteresis:
XS_INPUT(U16, v_u16, ST(2));
val = (void *) v_u16;
break;
case kQTVRInteractionMouseClickTimeout:
case kQTVRInteractionPanTiltSpeed:
case kQTVRInteractionZoomSpeed:
XS_INPUT(U32, v_u32, ST(2));
val = (void *) v_u32;
break;
case kQTVRInteractionTranslateOnMouseDown:
XS_INPUT(Boolean, v_b, ST(2));
val = (void *) v_b;
break;
case kQTVRInteractionMouseMotionScale:
XS_INPUT(float, v_f, ST(2));
val = &v_f;
break;
}
RETVAL = QTVRSetInteractionProperty(qtvr, property, val);
}
=item QTVRGetInteractionProperty QTVR, PROPERTY
=cut
void
QTVRGetInteractionProperty(qtvr, property)
QTVRInstance qtvr
U32 property
PPCODE:
{
union v {
U16 v_u16;
U32 v_u32;
Boolean v_b;
float v_f;
} val;
if (gLastMacOSErr = QTVRGetInteractionProperty(qtvr, property, &val)) {
XSRETURN_UNDEF;
}
switch (property & 0x7FFFFFFF) {
case kQTVRInteractionMouseClickHysteresis:
XS_XPUSH(U16, val.v_u16);
break;
case kQTVRInteractionMouseClickTimeout:
case kQTVRInteractionPanTiltSpeed:
case kQTVRInteractionZoomSpeed:
XS_XPUSH(U32, val.v_u32);
break;
case kQTVRInteractionTranslateOnMouseDown:
XS_XPUSH(Boolean, val.v_b);
break;
case kQTVRInteractionMouseMotionScale:
XS_XPUSH(float, val.v_f);
break;
}
}
=item QTVRReplaceCursor QTVR, CURSRECORD
=cut
MacOSRet
QTVRReplaceCursor(qtvr, cursRecord)
QTVRInstance qtvr
QTVRCursorRecord &cursRecord
=item QTVRGetViewingLimits QTVR, KIND
($minValue, $maxValue) = QTVRGetViewingLimits($qtvr, $kind);
=cut
void
QTVRGetViewingLimits(qtvr, kind)
QTVRInstance qtvr
U16 kind
PPCODE:
{
float minValue;
float maxValue;
if (gLastMacOSErr = QTVRGetViewingLimits(qtvr, kind, &minValue, &maxValue)) {
XSRETURN_EMPTY;
}
XS_XPUSH(float, minValue);
XS_XPUSH(float, maxValue);
}
=item QTVRGetConstraintStatus QTVR
=cut
U32
QTVRGetConstraintStatus(qtvr)
QTVRInstance qtvr
=item QTVRGetConstraints QTVR, KIND
($minValue, $maxValue) = QTVRGetConstraints($qtvr, $kind);
=cut
void
QTVRGetConstraints(qtvr, kind)
QTVRInstance qtvr
U16 kind
PPCODE:
{
float minValue;
float maxValue;
if (gLastMacOSErr = QTVRGetConstraints(qtvr, kind, &minValue, &maxValue)) {
XSRETURN_EMPTY;
}
XS_XPUSH(float, minValue);
XS_XPUSH(float, maxValue);
}
=item QTVRSetConstraints QTVR, KIND, MINVALUE, MAXVALUE
=cut
MacOSRet
QTVRSetConstraints(qtvr, kind, minValue, maxValue)
QTVRInstance qtvr
U16 kind
float minValue
float maxValue
=item QTVRGetAvailableResolutions QTVR
=cut
U16
QTVRGetAvailableResolutions(qtvr)
QTVRInstance qtvr
CODE:
if (gLastMacOSErr = QTVRGetAvailableResolutions(qtvr, &RETVAL)) {
XSRETURN_UNDEF;
}
OUTPUT:
RETVAL
=item QTVRGetCacheMemInfo QTVR, RESOLUTION, CACHEDEPTH
($minCache, $suggestedCache, $maxCache) = QTVRGetCacheMemInfo($qtvr, $res, $depth);
=cut
void
QTVRGetCacheMemInfo(qtvr, resolution, cacheDepth)
QTVRInstance qtvr
U16 resolution
short cacheDepth
PPCODE:
{
long minCacheBytes;
long suggestedCacheBytes;
long fullCacheBytes;
if (gLastMacOSErr = QTVRGetCacheMemInfo(qtvr, resolution, cacheDepth, &minCacheBytes, &suggestedCacheBytes, &fullCacheBytes)) {
XSRETURN_EMPTY;
}
XS_XPUSH(long, minCacheBytes);
XS_XPUSH(long, suggestedCacheBytes);
XS_XPUSH(long, fullCacheBytes);
}
=item QTVRGetCacheSettings QTVR
($resolution, $cacheDepth, $cacheSize) = QTVRGetCacheSettings($qtvr);
=cut
void
QTVRGetCacheSettings(qtvr)
QTVRInstance qtvr
PPCODE:
{
U16 resolution;
short cacheDepth;
short cacheSize;
if (gLastMacOSErr = QTVRGetCacheSettings(qtvr, &resolution, &cacheDepth, &cacheSize)) {
XSRETURN_EMPTY;
}
XS_XPUSH(U16, resolution);
XS_XPUSH(short, cacheDepth);
XS_XPUSH(short, cacheSize);
}
=item QTVRSetCachePrefs QTVR, RESOLUTION, CACHEDEPTH, CACHESIZE
=cut
MacOSRet
QTVRSetCachePrefs(qtvr, resolution, cacheDepth, cacheSize)
QTVRInstance qtvr
U16 resolution
short cacheDepth
short cacheSize
=begin ignore
MacOSRet
QTVRSetPrescreenImagingCompleteProc(qtvr, imagingCompleteProc, refCon, flags)
QTVRInstance qtvr
ImagingCompleteUPP imagingCompleteProc
long refCon
U32 flags
MacOSRet
QTVRSetBackBufferImagingProc(qtvr, backBufferImagingProc, numAreas, areasOfInterest, refCon)
QTVRInstance qtvr
BackBufferImagingUPP backBufferImagingProc
U16 numAreas
AreaOfInterest * areasOfInterest
long refCon
=end ignore
=cut
=item QTVRRefreshBackBuffer QTVR, FLAGS
=cut
MacOSRet
QTVRRefreshBackBuffer(qtvr, flags)
QTVRInstance qtvr
U32 flags
=back
=cut