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.
QDrawHandler.h
////////// |
// |
// File: QDrawHandler.h |
// |
// Contains: Code for creating a derived media handler component for QuickDraw pictures. |
// |
// Written by: Tim Monroe |
// Based on MyMediaComponent by John Wang (see develop issue 14). |
// |
// Copyright: © 1993 - 1999 by Apple Computer, Inc., all rights reserved. |
// |
// Change History (most recent first): |
// |
// <2> 01/05/99 rtm revised coding style |
// <1> 02/25/93 jw first file; based on MyComponent shell |
// |
////////// |
#pragma once |
////////// |
// |
// header files |
// |
////////// |
#ifndef __MOVIES__ |
#include <Movies.h> |
#endif |
#ifndef __COMPONENTS__ |
#include <Components.h> |
#endif |
#ifndef __QUICKTIMECOMPONENTS__ |
#include <QuickTimeComponents.h> |
#endif |
#ifndef __MEDIAHANDLERS__ |
#include <MediaHandlers.h> |
#endif |
#ifndef __QDMEDIACOMMON__ |
#include "QDMediaCommon.h" |
#endif |
////////// |
// |
// constants |
// |
////////// |
// flags to keep track of changes to the current media environment |
#define kQDMHAllChanged 0xffffffff |
#define kQDMHNothingChanged 0x00000000 |
#define kQDMHSetActive 0x00000001 |
#define kQDMHSetRate 0x00000002 |
#define kQDMHTrackEdited 0x00000004 |
#define kQDMHSetGWorld 0x00000008 |
#define kQDMHSetDimensions 0x00000010 |
#define kQDMHSetMatrix 0x00000020 |
#define kQDMHSampleDescChanged 0x00000040 |
////////// |
// |
// data types |
// |
////////// |
#if PRAGMA_STRUCT_ALIGN |
#pragma options align=mac68k |
#elif PRAGMA_STRUCT_PACKPUSH |
#pragma pack(push, 2) |
#elif PRAGMA_STRUCT_PACK |
#pragma pack(2) |
#endif |
typedef struct QDMH_Globals { |
// component stuff |
ComponentInstance fDelegate; // the base component we are delegating to |
ComponentInstance fSelf; // ourself |
ComponentInstance fParent; // our parent, if we are targeted by another media handler |
// general characteristics |
Movie fMovie; // the movie |
Track fTrack; // the media's track |
Media fMedia; // the media |
Fixed fCurMediaRate; // the media's current playback rate |
Fixed fNewMediaRate; // the media's new playback rate |
Rect fGraphicsBox; // the box we want to draw into |
MatrixRecord fTrackMatrix; // the track matrix |
CGrafPtr fPort; |
GDHandle fDevice; |
long fSampleDescIndex; // the index of the current sample description |
long fWhatChanged; // flags indicating changes in media environment |
Boolean fEnabled; // is the track enabled? |
TimeValue fPrevMediaTime; // previously drawn media time |
} QDMH_Globals, *QDMH_GlobalsPtr, **QDMH_GlobalsHdl; |
#if PRAGMA_STRUCT_ALIGN |
#pragma options align=reset |
#elif PRAGMA_STRUCT_PACKPUSH |
#pragma pack(pop) |
#elif PRAGMA_STRUCT_PACK |
#pragma pack() |
#endif |
Copyright © 2003 Apple Computer, Inc. All Rights Reserved. Terms of Use | Privacy Policy | Updated: 2003-01-14