Game client codebase including: - CharacterActionControl: Character and creature management - GlobalScript: Network, items, skills, quests, utilities - RYLClient: Main client application with GUI and event handlers - Engine: 3D rendering engine (RYLGL) - MemoryManager: Custom memory allocation - Library: Third-party dependencies (DirectX, boost, etc.) - Tools: Development utilities 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
158 lines
6.0 KiB
C++
158 lines
6.0 KiB
C++
//------------------------------------------------------------------------------
|
|
// File: MapperDlg.h
|
|
//
|
|
// Desc: DirectShow sample code - an MFC based C++ filter mapper application.
|
|
//
|
|
// Copyright (c) 2000-2001 Microsoft Corporation. All rights reserved.
|
|
//------------------------------------------------------------------------------
|
|
|
|
#if !defined(AFX_MAPPERDLG_H__B56EF95A_58D3_498A_B0FD_11BD1B1CADF3__INCLUDED_)
|
|
#define AFX_MAPPERDLG_H__B56EF95A_58D3_498A_B0FD_11BD1B1CADF3__INCLUDED_
|
|
|
|
#if _MSC_VER > 1000
|
|
#pragma once
|
|
#endif // _MSC_VER > 1000
|
|
|
|
|
|
#include <dshow.h>
|
|
|
|
//
|
|
// Macros
|
|
//
|
|
#define SAFE_RELEASE(x) { if (x) x->Release(); x = NULL; }
|
|
|
|
//
|
|
// Tooltip strings
|
|
//
|
|
#define TTSTR_EXACT_MATCH TEXT("If the value of the bExactMatch parameter is TRUE, this method ")\
|
|
TEXT("looks for filters that exactly match the values you specify for media type, pin category, ")\
|
|
TEXT("and pin medium. If the value is FALSE, filters that register a value of NULL for any ")\
|
|
TEXT("of these items are considered a match. (In effect, a NULL value in the registry acts as a ")\
|
|
TEXT("wildcard.)")
|
|
|
|
#define TTSTR_ALOIP TEXT("Boolean value indicating whether the filter must have an input pin. ")\
|
|
TEXT("If the value is TRUE, the filter must have at least one input pin.")
|
|
|
|
#define TTSTR_ALOOP TEXT("Boolean value specifying whether the filter must have an output pin. ")\
|
|
TEXT("If TRUE, the filter must have at least one output pin.")
|
|
|
|
#define TTSTR_IS_RENDERER TEXT("Boolean value that specifies whether the filter must render its ")\
|
|
TEXT("input. If TRUE, the specified filter must render input.")
|
|
|
|
#define TTSTR_CLEAR TEXT("Clear all selections and return them to default values.")
|
|
|
|
#define TTSTR_SEARCH TEXT("Search the registry for filters that match the current selections, ")\
|
|
TEXT("using the IFilterMapper2::EnumMatchingFilters() method.")
|
|
|
|
#define TTSTR_FILTERS TEXT("This area displays the names and filenames of filters that match ")\
|
|
TEXT("your query.")
|
|
|
|
#define TTSTR_MERIT TEXT("Minimum merit value. Each filter is registered with a merit value. ")\
|
|
TEXT("When the filter graph manager builds a graph, it enumerates all the filters registered ")\
|
|
TEXT("with the correct media type. Then it tries them in order of merit, from highest to lowest. ")\
|
|
TEXT("(It uses additional criteria to choose between filters with equal merit.) It never tries ")\
|
|
TEXT("filters with a merit value less than or equal to MERIT_DO_NOT_USE.")
|
|
|
|
#define TTSTR_PIN_CAT TEXT("The pin property set enables you to retrieve the category to which ")\
|
|
TEXT("a pin belongs, if any. The category is set by the filter when it creates the pin; the ")\
|
|
TEXT("category indicates what type of data the pin is streaming. The most commonly used ")\
|
|
TEXT("categories are for the capture and preview pins on a capture filter. Leave as <Don't Care> ")\
|
|
TEXT("if not needed.")
|
|
|
|
#define TTSTR_TYPE TEXT("Select a media type, if desired. If you specify <Don't care> for ")\
|
|
TEXT("media type or pin category, any filter is considered a match for that parameter. ")\
|
|
TEXT("If a pin did not register any media types, this method will not consider it a match for ")\
|
|
TEXT("the media type.")
|
|
|
|
#define TTSTR_SUBTYPE TEXT("Select a corresponding media subtype, if desired. If you specify ")\
|
|
TEXT("<Don't care> for the subtype, then the subtype is ignored (set to GUID_NULL) so that all ")\
|
|
TEXT("subtypes are considered a match within the related type.")
|
|
|
|
/////////////////////////////////////////////////////////////////////////////
|
|
// CMapperDlg dialog
|
|
|
|
class CMapperDlg : public CDialog
|
|
{
|
|
// Construction
|
|
public:
|
|
CMapperDlg(CWnd* pParent = NULL); // standard constructor
|
|
|
|
void FillMajorTypes(CListBox& m_List);
|
|
void FillSubType(CListBox& m_List, CListBox& m_ListMinor);
|
|
void EnableSecondTypePair(CListBox& m_ListMajor,
|
|
CListBox& m_ListMajor2, CListBox& m_ListMinor2);
|
|
void SetDefaults();
|
|
|
|
BOOL InitializeTooltips(void);
|
|
|
|
IEnumMoniker *GetFilterEnumerator(void);
|
|
|
|
int GetFilenameByCLSID(REFCLSID clsid, TCHAR *szFile);
|
|
|
|
void AddFilter(const TCHAR *szFilterName, const GUID *pCatGuid, DWORD dwMerit);
|
|
void AddMerit(TCHAR *szInfo, DWORD dwMerit);
|
|
HRESULT GetMerit(IPropertyBag *pPropBag, DWORD *pdwMerit);
|
|
|
|
|
|
// Dialog Data
|
|
//{{AFX_DATA(CMapperDlg)
|
|
enum { IDD = IDD_MAPPER_DIALOG };
|
|
CButton m_bSearch;
|
|
CButton m_bClear;
|
|
CStatic m_StrNumFilters;
|
|
CButton m_bIsRenderer;
|
|
CButton m_bAtLeastOneOutputPin;
|
|
CButton m_bAtLeastOneInputPin;
|
|
CButton m_bExactMatch;
|
|
CListBox m_ListOutputMinor2;
|
|
CListBox m_ListOutputMinor;
|
|
CListBox m_ListOutputMajor2;
|
|
CListBox m_ListOutputMajor;
|
|
CListBox m_ListInputMinor2;
|
|
CListBox m_ListInputMinor;
|
|
CListBox m_ListInputMajor2;
|
|
CListBox m_ListInputMajor;
|
|
CComboBox m_ComboMerit;
|
|
CComboBox m_ComboOutputCat;
|
|
CComboBox m_ComboInputCat;
|
|
CListBox m_ListFilters;
|
|
//}}AFX_DATA
|
|
|
|
// ClassWizard generated virtual function overrides
|
|
//{{AFX_VIRTUAL(CMapperDlg)
|
|
public:
|
|
virtual BOOL PreTranslateMessage(MSG* pMsg);
|
|
protected:
|
|
virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV support
|
|
//}}AFX_VIRTUAL
|
|
|
|
// Implementation
|
|
protected:
|
|
HICON m_hIcon;
|
|
|
|
IFilterMapper2 *m_pMapper;
|
|
CToolTipCtrl *m_pToolTip;
|
|
|
|
// Generated message map functions
|
|
//{{AFX_MSG(CMapperDlg)
|
|
virtual BOOL OnInitDialog();
|
|
afx_msg void OnSysCommand(UINT nID, LPARAM lParam);
|
|
afx_msg void OnPaint();
|
|
afx_msg HCURSOR OnQueryDragIcon();
|
|
afx_msg void OnClose();
|
|
afx_msg void OnDestroy();
|
|
afx_msg void OnButtonSearch();
|
|
afx_msg void OnSelchangeListInputMajor();
|
|
afx_msg void OnSelchangeListOutputMajor();
|
|
afx_msg void OnSelchangeListInputMajor2();
|
|
afx_msg void OnSelchangeListOutputMajor2();
|
|
afx_msg void OnButtonClear();
|
|
//}}AFX_MSG
|
|
DECLARE_MESSAGE_MAP()
|
|
};
|
|
|
|
//{{AFX_INSERT_LOCATION}}
|
|
// Microsoft Visual C++ will insert additional declarations immediately before the previous line.
|
|
|
|
#endif // !defined(AFX_MAPPERDLG_H__B56EF95A_58D3_498A_B0FD_11BD1B1CADF3__INCLUDED_)
|