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.
ChromaKeyMovie.h
/* |
File: ChromaKeyMovie.h |
Contains: |
Written by: Jason Hodges-Harris |
Copyright: Copyright © 1995-1999 by Apple Computer, Inc., All Rights Reserved. |
You may incorporate this Apple sample source code into your program(s) without |
restriction. This Apple sample source code has been provided "AS IS" and the |
responsibility for its operation is yours. You are not permitted to redistribute |
this Apple sample source code as "Apple sample source code" after having made |
changes. If you're going to re-distribute the source, we require that you make |
it clear in the source that the code was descended from Apple sample source |
code, but that you've made changes. |
Change History (most recent first): |
7/28/1999 Karl Groethe Updated for Metrowerks Codewarror Pro 2.1 |
*/ |
#ifndef __CHROMAPPHEADER__ |
#define __CHROMAPPHEADER__ |
// Mac Toolbox protos |
#ifndef __MOVIES__ |
#include <Movies.h> |
#endif |
#ifndef __QUICKDRAW__ |
#include <QuickDraw.h> |
#endif |
#ifndef __TYPES__ |
#include <Types.h> |
#endif |
#ifndef __WINDOWS__ |
#include <Windows.h> |
#endif |
// Define menubar constants |
#define rMenuBar 128 |
#define mApple 128 |
#define iAbout 1 |
#define mFile 129 |
#define iOpen 1 |
#define iClose 2 |
#define iQuit 4 |
#define mEdit 130 |
#define iUndo 1 |
#define iCut 3 |
#define iCopy 4 |
#define iPaste 5 |
#define mMode 131 |
#define iKeyColor 1 |
#define iMovieBack 3 |
#define iMovieFront 4 |
#define iTransparent 6 |
#define iGraphix 7 |
#define iModifier 8 |
#define mOptions 132 |
#define iEveryFrame 1 |
#define iLoopMovie 2 |
// Constant definitions |
#define kSleep 1L // Used in wait next event |
#define rGenWindow 128 |
#define rAboutBox 128 |
#define rGenAlert 129 |
#define rGenWarning 130 |
#define rQTmessages 128 |
#define rErrMessages 129 |
#define rBackGroundPict 128 // PICT resource |
#define kappDefErr -999 // application return error |
// available transfer modes |
enum transferModes |
{ |
transparentMode = 1, |
graphix, |
modifierTrax |
}; |
// Application document structure |
#if GENERATINGPOWERPC |
#pragma options align=mac68k |
#endif |
struct MovieDoc |
{ |
MovieController theController; |
Movie theMovie; |
long theModifierIndex; // QuickTime 2.1 or later only |
FSSpec theFileSpec; |
short theMovieResID; |
}; |
typedef struct MovieDoc MovieDoc, *MovieDocPtr, **MovieDocHndl; |
#if GENERATINGPOWERPC |
#pragma options align=reset |
#endif |
// doevent.c prototypes |
void DoEvent (EventRecord *EventPtr); // process event |
void HandleMouseDown(EventRecord *eventPtr);// handle mouse down events |
void DoDiskEvt(EventRecord *eventPtr); // handle disk inserted events |
// eventloop.c prototypes |
void EventLoop (void); // main program event loop |
// menu.c prototypes |
void MenuBarInit (void); // init menubar |
void DoAdjustMenus(void); // adjust valid menus |
void DoMenuCommand(long menuResult); // perform menu selection |
void DoAdjustFileMenu(void); // Adjust file menu |
void DoAdjustEditMenu(void); // Adjust Edit menu |
void DoAdjustKeyMode(void); // Adjust Chroma key menu |
void DoAdjustOptions(Boolean playAllFrames, Boolean loopMovie); // Adjust Options menu |
// start.c prototypes |
void InitGlobals(void); // initialise global variables |
void TestforQuickTimeVersion(void); // test for QuickTime & version |
// moviecontrol.c prototypes |
Boolean PlayMovieChroma(void); |
OSErr LoadOneMovie(MovieDocHndl theDocH); |
void TransparentColor(void); |
Boolean SetPlayAllFrames(Boolean playAllFrames); |
Boolean SetLoopMovie(Boolean loopMovie); |
void TransparentKeyMode(WindowPtr theWindow); |
void ModifierTrackMode(WindowPtr theWindow); |
void VideoGraphicsMode(WindowPtr theWindow, Boolean SetVGM); |
OSErr DestroyModifierTrack(MovieDocHndl theDocH); |
// windows.c prototypes |
long DisplayAlert (short dialogID,short errStrID,short StrIDindex); |
void DragSelWind(WindowPtr window,Point mouseloc); // drag window |
void DoGoAwayWind(WindowPtr window,Point mouseLoc); // window close button selected |
void DisposeWindowDocs (WindowPtr window); // dispose window documents |
void DoWindUpdate(WindowPtr window); // update dirty open window |
CWindowPtr OpenCWindow(void); |
#endif // __CHROMAPPHEADER__ |
Copyright © 2003 Apple Computer, Inc. All Rights Reserved. Terms of Use | Privacy Policy | Updated: 2003-01-14