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.
QTWiredSpritesJr.h
////////// |
// |
// File: QTWiredSpritesJr.c |
// |
// Contains: QuickTime wired sprites support for QuickTime movies. |
// |
// Written by: Tim Monroe |
// |
// Copyright: © 2001 by Apple Computer, Inc., all rights reserved. |
// |
// Change History (most recent first): |
// |
// <1> 01/18/01 rtm first file; based on existing QTSprites and QTWiredSprites 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 |
////////// |
// |
// constants for controller buttons sprites |
// |
////////// |
// controller image PICT resource IDs |
#define kPauseUpID 131 |
#define kPauseDownID 132 |
#define kPlayUpID 133 |
#define kPlayDownID 134 |
#define kToBeginUpID 135 |
#define kToBeginDownID 136 |
#define kToEndUpID 137 |
#define kToEndDownID 138 |
#define kBackStepUpID 139 |
#define kBackStepDownID 140 |
#define kAheadStepUpID 141 |
#define kAheadStepDownID 142 |
// image indices |
#define kPauseUpIndex 1 |
#define kPauseDownIndex 2 |
#define kPlayUpIndex 3 |
#define kPlayDownIndex 4 |
#define kToBeginUpIndex 5 |
#define kToBeginDownIndex 6 |
#define kToEndUpIndex 7 |
#define kToEndDownIndex 8 |
#define kBackStepUpIndex 9 |
#define kBackStepDownIndex 10 |
#define kAheadStepUpIndex 11 |
#define kAheadStepDownIndex 12 |
#define kNumControllerButtons 6 |
#define kNumControllerImages kAheadStepDownIndex |
#define kFirstControllerImageID kPauseUpID |
// sprite atom IDs |
#define kPauseSpriteAtomID 1 |
#define kPlaySpriteAtomID 2 |
#define kToBeginSpriteAtomID 3 |
#define kToEndSpriteAtomID 4 |
#define kBackStepSpriteAtomID 5 |
#define kAheadStepSpriteAtomID 6 |
// position indices |
#define kToBeginSpritePosition 0 |
#define kBackStepSpritePosition 1 |
#define kPlaySpritePosition 2 |
#define kPauseSpritePosition 3 |
#define kAheadStepSpritePosition 4 |
#define kToEndSpritePosition 5 |
#define kButtonHeight 17 |
#define kButtonWidth 17 |
////////// |
// |
// constants for QuickTime icon sprite and its movie |
// |
////////// |
#define kIconDimension 32 |
// sizes of the sprite tracks |
#define kIconSpriteTrackWidth 294 |
#define kIconSpriteTrackHeight 100 |
// PICT resource IDs |
#define kNewQTIconID 201 |
#define kNewQTIconDownID 202 |
// sprite atom IDs |
#define kQTIconSpriteAtomID 1 |
// image indices |
#define kNewQTIconImageIndex 1 |
#define kNewQTIconDownImageIndex 2 |
#define kSpriteMediaTimeScale 600 |
#define kSpriteMediaFrameDurationIcon 1000 |
#define kMouseStateVariableID 2 |
////////// |
// |
// miscellaneous constants |
// |
////////// |
#define kMaxLayerNumber 0x7fff // maximum layer number |
#define kSpriteSavePrompt "Save New Sprite Movie As:" |
#define kSpriteSaveMovieFileName "WiredSprite.mov" |
////////// |
// |
// function prototypes |
// |
////////// |
OSErr QTWired_CreateDraggableIconMovie (void); |
OSErr QTWired_AddIconMovieSamplesToMedia (Media theMedia); |
void QTWired_SetTrackProperties (Media theMedia, UInt32 theIdleFrequency); |
void QTWired_AddControllerButtonSamplesToMedia (Media theMedia, long theTrackWidth, long theTrackHeight, TimeValue theDuration); |
OSErr QTWired_AddSpriteControllerTrack (Movie theMovie); |
OSErr QTWired_MakeSpriteDraggable (QTAtomContainer theContainer, QTAtomID theID); |
OSErr QTWired_AddCursorChangeToSprite (QTAtomContainer theContainer, QTAtomID theID); |
short QTWired_GetLowestLayerInMovie (Movie theMovie); |
Copyright © 2003 Apple Computer, Inc. All Rights Reserved. Terms of Use | Privacy Policy | Updated: 2003-02-25