Microsoft-3D-Movie-Maker/INC/SPLOT.H

70 lines
1.3 KiB
C++

/* Copyright (c) Microsoft Corporation.
Licensed under the MIT License. */
/***************************************************************************
splot.h: Splot machine class
Primary Author: ******
Review Status: Reviewed
***************************************************************************/
#define SPLOT_PAR GOK
typedef class SPLOT *PSPLOT;
#define kclsSPLOT 'splt'
class SPLOT : public SPLOT_PAR
{
RTCLASS_DEC
ASSERT
MARKMEM
CMD_MAP_DEC(SPLOT)
private:
/* The movie */
PMVIE _pmvie;
/* The lists of content */
PBCL _pbclBkgd;
SFL _sflBkgd;
PBCL _pbclCam;
SFL _sflCam;
PBCL _pbclActr;
SFL _sflActr;
PBCL _pbclProp;
SFL _sflProp;
PBCL _pbclSound;
SFL _sflSound;
/* Current selected content */
long _ithdBkgd;
long _ithdCam;
long _ithdActr;
long _ithdProp;
long _ithdSound;
/* State of the SPLOT */
bool _fDirty;
/* Miscellaneous stuff */
PGL _pglclrSav;
SPLOT(PGCB pgcb) : SPLOT_PAR(pgcb)
{
_fDirty = fFalse;
_pbclBkgd = _pbclCam = _pbclActr = _pbclProp = _pbclSound = pvNil;
}
public:
~SPLOT(void);
static PSPLOT PsplotNew(long hidPar, long hid, PRCA prca);
bool FCmdInit(PCMD pcmd);
bool FCmdSplot(PCMD pcmd);
bool FCmdUpdate(PCMD pcmd);
bool FCmdDismiss(PCMD pcmd);
PMVIE Pmvie(void) { return _pmvie; }
};