Retired Document
Important: This sample code may not represent best practices for current development. The project may use deprecated symbols and illustrate technologies and techniques that are no longer recommended.
QTActionTargets.h
////////// |
// |
// File: QTActionTargets.h |
// |
// Contains: QuickTime wired sprites target support for QuickTime movies. |
// |
// Written by: Tim Monroe |
// |
// Copyright: © 2001 by Apple Computer, Inc., all rights reserved. |
// |
// Change History (most recent first): |
// |
// <1> 02/28/01 rtm first file; based on existing QTWiredSpritesJr sample code |
// |
////////// |
////////// |
// |
// header files |
// |
////////// |
#ifndef _SPRITEUTILITIES_ |
#include "SpriteUtilities.h" |
#endif |
#ifndef _WIREDSPRITEUTILITIES_ |
#include "WiredSpriteUtilities.h" |
#endif |
#ifndef __ENDIANUTILITIES__ |
#include "EndianUtilities.h" |
#endif |
#include "ComApplication.h" |
#if TARGET_OS_MAC |
#include "MacFramework.h" |
#endif |
#if TARGET_OS_WIN32 |
#include "WinFramework.h" |
#endif |
////////// |
// |
// compiler directives |
// |
////////// |
#define USE_WIRED_UTILITIES 1 |
#define ALLOW_SELF_TARGETING 0 |
////////// |
// |
// constants for controller buttons sprites |
// |
////////// |
// controller image PICT resource IDs |
#define kTiltPosUpID 131 |
#define kTiltPosDownID 132 |
#define kPanRightUpID 133 |
#define kPanRightDownID 134 |
#define kPanLeftUpID 135 |
#define kPanLeftDownID 136 |
#define kZoomOutUpID 137 |
#define kZoomOutDownID 138 |
#define kTiltNegUpID 139 |
#define kTiltNegDownID 140 |
#define kZoomInUpID 141 |
#define kZoomInDownID 142 |
// image indices |
#define kTiltPosUpIndex 1 |
#define kTiltPosDownIndex 2 |
#define kPanRightUpIndex 3 |
#define kPanRightDownIndex 4 |
#define kPanLeftUpIndex 5 |
#define kPanLeftDownIndex 6 |
#define kZoomOutUpIndex 7 |
#define kZoomOutDownIndex 8 |
#define kTiltNegUpIndex 9 |
#define kTiltNegDownIndex 10 |
#define kZoomInUpIndex 11 |
#define kZoomInDownIndex 12 |
#define kNumControllerButtons 6 |
#define kNumControllerImages kZoomInDownIndex |
#define kFirstControllerImageID kTiltPosUpID |
// sprite atom IDs |
#define kTiltPosSpriteAtomID 1 |
#define kPanRightSpriteAtomID 2 |
#define kPanLeftSpriteAtomID 3 |
#define kZoomOutSpriteAtomID 4 |
#define kTiltNegSpriteAtomID 5 |
#define kZoomInSpriteAtomID 6 |
// position indices |
#define kPanLeftSpritePosition 0 |
#define kTiltNegSpritePosition 1 |
#define kZoomOutSpritePosition 2 |
#define kZoomInSpritePosition 3 |
#define kTiltPosSpritePosition 4 |
#define kPanRightSpritePosition 5 |
#define kButtonHeight 17 |
#define kButtonWidth 17 |
#define kSpriteMediaTimeScale 600 |
#define kMouseOverPanLeftVariableID 2 |
#define kMouseOverPanRightVariableID 3 |
#define kMouseOverTiltUpVariableID 4 |
#define kMouseOverTiltDownVariableID 5 |
#define kMouseOverZoomInVariableID 6 |
#define kMouseOverZoomOutVariableID 7 |
////////// |
// |
// constants for text button sprite |
// |
////////// |
// button image PICT resource IDs |
#define kTextUpID 143 |
#define kTextDownID 144 |
// image indices |
#define kTextUpIndex 1 |
#define kTextDownIndex 2 |
#define kNumTextButtons 1 |
#define kNumTextImages 2 |
#define kFirstTextImageID kTextUpID |
#define kTextSpriteAtomID 1 |
////////// |
// |
// constants for VR controller movie |
// |
////////// |
#define kVRControlMovieHeight kButtonHeight |
#define kVRControlMovieWidth ((kButtonWidth*6)+(kButtonWidth*5)) |
#define kVRControlMovieDuration 600 |
#define kTarget1 "Summer" |
#define kTarget2 "Winter" |
////////// |
// |
// miscellaneous constants |
// |
////////// |
#define kMaxLayerNumber 0x7fff // maximum layer number |
#define kSpriteSavePrompt "Save New Sprite Movie As:" |
#define kSpriteSaveMovieFileName "WiredSprite.mov" |
#define kMovieNamePrefix "moviename=" |
#define kMovieIDPrefix "movieid=" |
#define kIconDimension 32 |
// sizes of the sprite track for the "twin sprites" movie |
#define kIconSpriteTrackWidth 150 |
#define kIconSpriteTrackHeight 50 |
// PICT resource IDs |
#define kOldQTIconID 200 |
#define kNewQTIconID 201 |
// image indices |
#define kOldQTIconImageIndex 1 |
#define kNewQTIconImageIndex 2 |
// sprite atom IDs |
#define kOldQTIconSpriteAtomID 1 |
#define kNewQTIconSpriteAtomID 2 |
#define kSpriteMediaFrameDurationIcon 1000 |
#define kGetStr_DLOGID 1001 |
#define kGetStr_OKButton 1 |
#define kGetStr_CancelButton 2 |
#define kGetStr_StrTextItem 3 |
#define kGetStr_StrLabelItem 4 |
#define kTextKindsResourceID 1001 |
#define kMovieNameResIndex 1 |
#define kMovieIDResIndex 2 |
#define kQTTargAlertID 201 |
// until we get a new Movies.h... |
#define mcActionGetMovieName 90 |
#define mcActionGetMovieID 91 |
////////// |
// |
// function prototypes |
// |
////////// |
char * QTTarg_GetStringFromUser (short thePromptStringIndex); |
void QTTarg_ShowStringToUser (StringPtr theString); |
OSErr QTTarg_CreateTwinSpritesMovie (void); |
OSErr QTTarg_AddIconMovieSamplesToMedia (Media theMedia); |
void QTTarg_AddVRControllerButtonSamplesToMedia (Media theMedia, long theTrackWidth, long theTrackHeight, TimeValue theDuration); |
void QTTarg_AddTextButtonSamplesToMedia (Media theMedia, long theTrackWidth, long theTrackHeight, TimeValue theDuration); |
OSErr QTTarg_MakeDualVRControllerMovie (void); |
OSErr QTTarg_AddTextToggleButtonTrack (Movie theMovie); |
void QTTarg_SetTrackProperties (Media theMedia, UInt32 theIdleFrequency); |
short QTTarg_GetLowestLayerInMovie (Movie theMovie); |
OSErr QTTarg_AddIdleEventVarTestAction (QTAtomContainer theContainer, QTAtom theAtom, QTAtomID theVariableID, UInt32 theTrueValue, long theActionConstant, QTAtom *theNewActionAtom); |
char * QTUtils_GetMovieTargetName (Movie theMovie); |
OSErr QTUtils_SetMovieTargetName (Movie theMovie, char *theTargetName); |
long QTUtils_GetMovieTargetID (Movie theMovie, Boolean *theMovieHasID); |
OSErr QTUtils_SetMovieTargetID (Movie theMovie, long theTargetID); |
static long QTUtils_FindUserDataItemWithPrefix (UserData theUserData, OSType theType, char *thePrefix); |
static char * QTUtils_GetUserDataPrefixedValue (UserData theUserData, OSType theType, char *thePrefix); |
void QTFrame_FindExternalMovieTarget (MovieController theMC, QTGetExternalMoviePtr theEMRecPtr); |
Copyright © 2003 Apple Computer, Inc. All Rights Reserved. Terms of Use | Privacy Policy | Updated: 2003-02-25