Microsoft-3D-Movie-Maker/INC/SOCUTIL.H
2022-05-03 16:31:19 -07:00

127 lines
2.1 KiB
C++

/* Copyright (c) Microsoft Corporation.
Licensed under the MIT License. */
/*
*
* socutil.h
*
* This file contains miscellaneous includes and definitions
* that are global to the Socrates product.
*
*/
#ifndef SOCUTIL_H
#define SOCUTIL_H
extern "C"
{
#include "brender.h"
};
typedef class ACTR *PACTR;
typedef class SCEN *PSCEN;
typedef class MVIE *PMVIE;
typedef class BKGD *PBKGD;
typedef class TBOX *PTBOX;
typedef class MVIEW *PMVIEW;
typedef class STDIO *PSTDIO;
//
//
// Class for undo items in a movie
//
// NOTE: All the "Set" functions are done automagically
// in MVIE::FAddUndo().
//
//
typedef class MUNB *PMUNB;
#define MUNB_PAR UNDB
#define kclsMUNB 'MUNB'
class MUNB : public MUNB_PAR
{
RTCLASS_DEC
ASSERT
protected:
PMVIE _pmvie;
long _iscen;
long _nfrm;
MUNB(void) { }
public:
void SetPmvie(PMVIE pmvie) { _pmvie = pmvie; }
PMVIE Pmvie(void) { return _pmvie; }
void SetIscen(long iscen) { _iscen = iscen; }
long Iscen(void) { return _iscen; }
void SetNfrm(long nfrm) { _nfrm = nfrm; }
long Nfrm(void) { return _nfrm; }
};
//
// Undo object for actor operations
//
typedef class AUND *PAUND;
#define AUND_PAR MUNB
#define kclsAUND 'AUND'
class AUND : public AUND_PAR
{
RTCLASS_DEC
MARKMEM
ASSERT
protected:
PACTR _pactr;
long _arid;
bool _fSoonerLater;
bool _fSndUndo;
long _nfrmLast;
STN _stn; // actor's name
AUND(void) { }
public:
static PAUND PaundNew(void);
~AUND(void);
void SetPactr(PACTR pactr);
void SetArid(long arid) { _arid = arid; }
void SetSoonerLater(bool fSoonerLater) { _fSoonerLater = fSoonerLater; }
void SetSndUndo(bool fSndUndo) { _fSndUndo = fSndUndo; }
void SetNfrmLast(long nfrmLast) { _nfrmLast = nfrmLast; }
void SetStn(PSTN pstn) { _stn = *pstn; }
bool FSoonerLater(void) { return _fSoonerLater; };
bool FSndUndo(void) { return _fSndUndo; };
virtual bool FDo(PDOCB pdocb);
virtual bool FUndo(PDOCB pdocb);
};
//
// Definition of transition types
//
enum TRANS
{
transNil = -1,
transCut,
transFadeToBlack,
transFadeToWhite,
transDissolve,
transBlack,
transLim
};
#endif // SOCUTIL_H