BuildCubeE/BootableMPW/Interfaces/CIncludes/MediaHandlers.h
2018-11-16 09:50:16 +08:00

154 lines
5.4 KiB
C

/************************************************************
Created: Tuesday, October 13, 1992
MediaHandlers.h
C Interface to the Macintosh Libraries
Copyright Apple Computer, Inc. 1992
All rights reserved
************************************************************/
#ifndef __MEDIAHANDLERS__
#define __MEDIAHANDLERS__
#include <Movies.h>
enum {
handlerHasSpatial = 1<<0,
handlerCanClip = 1<<1,
handlerCanMatte = 1<<2,
handlerCanTransferMode = 1<<3,
handlerNeedsBuffer = 1<<4,
handlerNoIdle = 1<<5,
handlerNoScheduler = 1<<6,
handlerWantsTime = 1<<7,
handlerCGrafPortOnly = 1<<8
};
enum {
mMustDraw = 1<<3,
mAtEnd = 1<<4,
mPreflightDraw = 1<<5
};
enum {
mDidDraw = 1<<0,
mNeedsToDraw = 1<<2
};
typedef struct {
short version;
Movie theMovie;
Track theTrack;
Media theMedia;
TimeScale movieScale;
TimeScale mediaScale;
TimeValue movieDuration;
TimeValue trackDuration;
TimeValue mediaDuration;
Fixed effectiveRate;
TimeBase timeBase;
short volume;
Fixed width;
Fixed height;
MatrixRecord trackMovieMatrix;
CGrafPtr moviePort;
GDHandle movieGD;
PixMapHandle trackMatte;
} GetMovieCompleteParams;
enum {
kMediaInitializeSelect = 0x501,
kMediaSetHandlerCapabilitiesSelect = 0x502,
kMediaIdleSelect = 0x503,
kMediaGetMediaInfoSelect = 0x504,
kMediaPutMediaInfoSelect = 0x505,
kMediaSetActiveSelect = 0x506,
kMediaSetRateSelect = 0x507,
kMediaGGetStatusSelect = 0x508,
kMediaTrackEditedSelect = 0x509,
kMediaSetMediaTimeScaleSelect = 0x50A,
kMediaSetMovieTimeScaleSelect = 0x50B,
kMediaSetGWorldSelect = 0x50C,
kMediaSetDimensionsSelect = 0x50D,
kMediaSetClipSelect = 0x50E,
kMediaSetMatrixSelect = 0x50F,
kMediaGetTrackOpaqueSelect = 0x510,
kMediaSetGraphicsModeSelect = 0x511,
kMediaGetGraphicsModeSelect = 0x512,
kMediaGSetVolumeSelect = 0x513,
kMediaSetSoundBalanceSelect = 0x514,
kMediaGetSoundBalanceSelect = 0x515,
kMediaGetNextBoundsChangeSelect = 0x516,
kMediaGetSrcRgnSelect = 0x517,
kMediaPrerollSelect = 0x518,
kMediaSampleDescriptionChangedSelect = 0x519,
kMediaHasCharacteristic = 0x51A
};
#ifdef __cplusplus
extern "C" {
#endif __cplusplus
pascal ComponentResult MediaInitialize (ComponentInstance ci, GetMovieCompleteParams *gmc)
= {0x2F3C,0x4,0x501,0x7000,0xA82A};
pascal ComponentResult MediaSetHandlerCapabilities (ComponentInstance ci, long flags, long flagsMask )
= {0x2F3C,0x8,0x502,0x7000,0xA82A};
pascal ComponentResult MediaIdle (ComponentInstance ci, TimeValue atMediaTime, long flagsIn, long *flagsOut, const TimeRecord *movieTime)
= {0x2F3C,0x10,0x503,0x7000,0xA82A};
pascal ComponentResult MediaGetMediaInfo (ComponentInstance ci, Handle h )
= {0x2F3C,0x4,0x504,0x7000,0xA82A};
pascal ComponentResult MediaPutMediaInfo (ComponentInstance ci, Handle h )
= {0x2F3C,0x4,0x505,0x7000,0xA82A};
pascal ComponentResult MediaSetActive (ComponentInstance ci, Boolean enableMedia )
= {0x2F3C,0x2,0x506,0x7000,0xA82A};
pascal ComponentResult MediaSetRate (ComponentInstance ci, Fixed rate )
= {0x2F3C,0x4,0x507,0x7000,0xA82A};
pascal ComponentResult MediaGGetStatus (ComponentInstance ci, ComponentResult *statusErr )
= {0x2F3C,0x4,0x508,0x7000,0xA82A};
pascal ComponentResult MediaTrackEdited (ComponentInstance ci )
= {0x2F3C,0x0,0x509,0x7000,0xA82A};
pascal ComponentResult MediaSetMediaTimeScale (ComponentInstance ci, TimeScale newTimeScale )
= {0x2F3C,0x4,0x50A,0x7000,0xA82A};
pascal ComponentResult MediaSetMovieTimeScale (ComponentInstance ci, TimeScale newTimeScale )
= {0x2F3C,0x4,0x50B,0x7000,0xA82A};
pascal ComponentResult MediaSetGWorld (ComponentInstance ci, CGrafPtr aPort, GDHandle aGD)
= {0x2F3C,0x8,0x50C,0x7000,0xA82A};
pascal ComponentResult MediaSetDimensions (ComponentInstance ci, Fixed width, Fixed height)
= {0x2F3C,0x8,0x50D,0x7000,0xA82A};
pascal ComponentResult MediaSetClip (ComponentInstance ci, RgnHandle theClip)
= {0x2F3C,0x4,0x50E,0x7000,0xA82A};
pascal ComponentResult MediaSetMatrix (ComponentInstance ci, MatrixRecord *trackMovieMatrix)
= {0x2F3C,0x4,0x50F,0x7000,0xA82A};
pascal ComponentResult MediaGetTrackOpaque (ComponentInstance ci, Boolean *trackIsOpaque )
= {0x2F3C,0x4,0x510,0x7000,0xA82A};
pascal ComponentResult MediaSetGraphicsMode (ComponentInstance ci, long mode, RGBColor *opColor )
= {0x2F3C,0x8,0x511,0x7000,0xA82A};
pascal ComponentResult MediaGetGraphicsMode (ComponentInstance ci, long *mode, RGBColor *opColor )
= {0x2F3C,0x8,0x512,0x7000,0xA82A};
pascal ComponentResult MediaGSetVolume (ComponentInstance ci, short volume )
= {0x2F3C,0x2,0x513,0x7000,0xA82A};
pascal ComponentResult MediaSetSoundBalance (ComponentInstance ci, short balance)
= {0x2F3C,0x2,0x514,0x7000,0xA82A};
pascal ComponentResult MediaGetSoundBalance (ComponentInstance ci, short *balance )
= {0x2F3C,0x4,0x515,0x7000,0xA82A};
pascal ComponentResult MediaGetNextBoundsChange (ComponentInstance ci, TimeValue *when )
= {0x2F3C,0x4,0x516,0x7000,0xA82A};
pascal ComponentResult MediaGetSrcRgn (ComponentInstance ci, RgnHandle rgn, TimeValue atMediaTime )
= {0x2F3C,0x8,0x517,0x7000,0xA82A};
pascal ComponentResult MediaPreroll (ComponentInstance ci, TimeValue time, Fixed rate )
= {0x2F3C,0x8,0x518,0x7000,0xA82A};
pascal ComponentResult MediaSampleDescriptionChanged (ComponentInstance ci, long index )
= {0x2F3C,0x4,0x519,0x7000,0xA82A};
pascal ComponentResult MediaHasCharacteristic (ComponentInstance ci, OSType characteristic, Boolean *hasIt )
= {0x2F3C,0x8,0x51A,0x7000,0xA82A};
#ifdef __cplusplus
}
#endif __cplusplus
#endif __MEDIAHANDLERS__