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

80 lines
2.0 KiB
C++

/* Copyright (c) Microsoft Corporation.
Licensed under the MIT License. */
/***************************************************************************
popup.h: Popup menu classes
Primary Author: ******
MPFNT: ******
Review Status: REVIEWED - any changes to this file must be reviewed!
BASE ---> CMH ---> GOB ---> GOK ---> BRWD ---> BRWL ---> MP
|
+------> BRWT ---> MPFNT
***************************************************************************/
#ifndef POPUP_H
#define POPUP_H
/************************************
MP - Generic popup menu class
*************************************/
#define MP_PAR BRWL
#define kclsMP 'MP'
typedef class MP *PMP;
class MP : public MP_PAR
{
ASSERT
MARKMEM
RTCLASS_DEC
CMD_MAP_DEC(MP)
protected:
long _cid; // cid to enqueue to apply selection
PCMH _pcmh; // command handler to enqueue command to
protected:
virtual void _ApplySelection(long ithumSelect, long sid);
virtual long _IthumFromThum(long thumSelect, long sidSelect);
MP(PGCB pgcb) : MP_PAR(pgcb) { }
bool _FInit(PRCA prca);
public:
static PMP PmpNew(long kidParent, long kidMenu, PRCA prca, PCMD pcmd,
BWS bws, long ithumSelect, long sidSelect, CKI ckiRoot, CTG ctg,
PCMH pcmh, long cid, bool fMoveTop);
virtual bool FCmdSelIdle(PCMD pcmd);
};
/************************************
MPFNT - Font popup menu class
*************************************/
#define MPFNT_PAR BRWT
#define kclsMPFNT 'mpft'
typedef class MPFNT *PMPFNT;
class MPFNT : public MPFNT_PAR
{
ASSERT
MARKMEM
RTCLASS_DEC
CMD_MAP_DEC(MPFNT)
protected:
void _AdjustRc(long cthum, long cfrm);
virtual void _ApplySelection(long ithumSelect, long sid);
virtual bool _FSetThumFrame(long istn, PGOB pgobPar);
MPFNT(PGCB pgcb) : MPFNT_PAR(pgcb) { }
public:
static PMPFNT PmpfntNew(PRCA prca, long kidParent, long kidMenu,
PCMD pcmd, long ithumSelect, PGST pgst);
virtual bool FCmdSelIdle(PCMD pcmd);
};
#endif // POPUP_H