2025-11-28 00:35:46 +09:00

191 lines
5.6 KiB
C++

//------------------------------------------------------------------------------
// File: Dialogs.h
//
// Desc: This file contains the header information for the various dialog
// wrapper classes we use.
//
// Copyright (c) Microsoft Corporation. All rights reserved.
//------------------------------------------------------------------------------
//------------------------------------------------------------------------------
// Name: class CAboutDlg
// Desc: This class is a wrapper for the About Dialog
//------------------------------------------------------------------------------
class CAboutDlg
{
public:
static BOOL CALLBACK AboutDlgProc(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam);
bool DoModal();
CAboutDlg(HINSTANCE hInstance, HWND hWnd);
virtual ~CAboutDlg();
private:
HINSTANCE m_hInstance;
HWND m_hWnd;
};
//------------------------------------------------------------------------------
// Name: class CSPLangDlg
// Desc: This class is a wrapper for the Subpicture Language Selection Dialog
//------------------------------------------------------------------------------
class CSPLangDlg
{
public:
static BOOL CALLBACK SPDlgProc(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam);
bool DoModal();
CSPLangDlg(HINSTANCE hInstance, HWND hWnd);
virtual ~CSPLangDlg();
private:
bool GetSPLang(ULONG ulStream, TCHAR * buffer, int iBufLen);
int MakeSPStreamList(HWND hDlg, int iListID);
ULONG m_ulSPStream; // the current SP stream
BOOL m_bSPOn; // the state of the SP stream (on/off) - we use BOOL instead of bool because
// this is what GetCurrentSubpicture returns to us
ULONG m_ulNumLang; // the number of streams available
HINSTANCE m_hInstance;
HWND m_hWnd;
};
//------------------------------------------------------------------------------
// Name: class CAudioLangDlg
// Desc: This class is a wrapper for the Audio Language Selection Dialog
//------------------------------------------------------------------------------
class CAudioLangDlg
{
public:
static BOOL CALLBACK AudioDlgProc(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam);
bool DoModal();
CAudioLangDlg(HINSTANCE hInstance, HWND hWnd);
virtual ~CAudioLangDlg();
private:
bool GetAudioLang(ULONG ulStream, TCHAR * buffer, int iBufLen);
int MakeAudioStreamList(HWND hDlg, int iListID);
ULONG m_ulAudioStream; // the current Audio stream
ULONG m_ulNumLang; // the number of streams available
HINSTANCE m_hInstance;
HWND m_hWnd;
};
//------------------------------------------------------------------------------
// Name: class CAngleDlg
// Desc: This class is a wrapper for the Angle Selection Dialog
//------------------------------------------------------------------------------
class CAngleDlg
{
public:
static BOOL CALLBACK AngleDlgProc(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam);
bool DoModal();
CAngleDlg(HINSTANCE hInstance, HWND hWnd);
virtual ~CAngleDlg();
private:
int MakeAngleList(HWND hDlg, int iListID);
ULONG m_ulAngle; // the current Angle
ULONG m_ulNumAngle; // the number of angles available
HINSTANCE m_hInstance;
HWND m_hWnd;
};
//------------------------------------------------------------------------------
// Name: class CChapterDlg
// Desc: This class is a wrapper for the Chapter Selection Dialog
//------------------------------------------------------------------------------
class CChapterDlg
{
public:
ULONG GetChapter() { return m_ulChapter; }
static BOOL CALLBACK ChapterDlgProc(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam);
bool DoModal();
CChapterDlg(HINSTANCE hInstance, HWND hWnd);
virtual ~CChapterDlg();
private:
ULONG m_ulChapter; // the chosen Chapter
HINSTANCE m_hInstance;
HWND m_hWnd;
};
//------------------------------------------------------------------------------
// Name: class CTitleDlg
// Desc: This class is a wrapper for the Title Selection Dialog
//------------------------------------------------------------------------------
class CTitleDlg
{
public:
ULONG GetChapter() { return m_ulChapter; }
ULONG GetTitle() { return m_ulTitle; }
static BOOL CALLBACK TitleDlgProc(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam);
bool DoModal();
CTitleDlg(HINSTANCE hInstance, HWND hWnd);
virtual ~CTitleDlg();
private:
ULONG m_ulChapter; // the chosen Chapter
ULONG m_ulTitle; // the chosen Title
HINSTANCE m_hInstance;
HWND m_hWnd;
};
//------------------------------------------------------------------------------
// Name: class CTimeDlg
// Desc: This class is a wrapper for the Time Selection Dialog
//------------------------------------------------------------------------------
class CTimeDlg
{
public:
DVD_HMSF_TIMECODE GetTime() { return m_Time; }
void SetTime(DVD_HMSF_TIMECODE time) { m_Time = time; }
static BOOL CALLBACK TimeDlgProc(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam);
bool DoModal();
CTimeDlg(HINSTANCE hInstance, HWND hWnd);
virtual ~CTimeDlg();
private:
DVD_HMSF_TIMECODE m_Time; // the chosen time
HINSTANCE m_hInstance;
HWND m_hWnd;
};
//------------------------------------------------------------------------------
// Name: class CKaraokeDlg
// Desc: This class is a wrapper for the Karaoke Mixing Dialog
//------------------------------------------------------------------------------
class CKaraokeDlg
{
public:
static BOOL CALLBACK KaraokeDlgProc(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam);
bool DoModal();
CKaraokeDlg(HINSTANCE hInstance, HWND hWnd);
virtual ~CKaraokeDlg();
private:
const TCHAR * m_pszChannel2;
const TCHAR * m_pszChannel3;
const TCHAR * m_pszChannel4;
HINSTANCE m_hInstance;
HWND m_hWnd;
};