|
|
//========= Copyright Valve Corporation, All rights reserved. ============//
// CWMPHost.h : Declaration of the CWMPHost
//
#include "resource.h" // main symbols
#include <oledlg.h>
// if this file isn't found, set your path to include the wmp sdk include directory
// download the sdk from http://www.microsoft.com/windows/windowsmedia/mp10/sdk.aspx
#include "wmp.h"
#include "CWMPEventDispatch.h"
/////////////////////////////////////////////////////////////////////////////
// CWMPHost
class CWMPHost : public CWindowImpl< CWMPHost, CWindow, CWinTraits< WS_OVERLAPPEDWINDOW | WS_CLIPCHILDREN | WS_CLIPSIBLINGS, WS_EX_APPWINDOW | WS_EX_WINDOWEDGE > > { public: DECLARE_WND_CLASS_EX(NULL, 0, 0)
BEGIN_MSG_MAP(CWMPHost) MESSAGE_HANDLER(WM_CREATE, OnCreate) MESSAGE_HANDLER(WM_DESTROY, OnDestroy) MESSAGE_HANDLER(WM_CLOSE, OnClose) MESSAGE_HANDLER(WM_SIZE, OnSize) MESSAGE_HANDLER(WM_CONTEXTMENU, OnContextMenu) MESSAGE_HANDLER(WM_LBUTTONDOWN, OnClick) MESSAGE_HANDLER(WM_MBUTTONDOWN, OnClick) MESSAGE_HANDLER(WM_RBUTTONDOWN, OnClick) MESSAGE_HANDLER(WM_LBUTTONDBLCLK, OnLeftDoubleClick) MESSAGE_HANDLER(WM_KEYDOWN, OnKeyDown) MESSAGE_HANDLER(WM_SYSKEYDOWN, OnSysKeyDown) MESSAGE_HANDLER(WM_ERASEBKGND, OnErase) MESSAGE_HANDLER(WM_NCACTIVATE, OnNCActivate)
COMMAND_ID_HANDLER(ID_HALF_SIZE, OnVideoScale) COMMAND_ID_HANDLER(ID_FULL_SIZE, OnVideoScale) COMMAND_ID_HANDLER(ID_DOUBLE_SIZE, OnVideoScale) COMMAND_ID_HANDLER(ID_STRETCH_TO_FIT, OnVideoScale) END_MSG_MAP()
LRESULT OnClose(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled); LRESULT OnDestroy(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled); LRESULT OnCreate(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled); LRESULT OnErase(UINT /* uMsg */, WPARAM /* wParam */, LPARAM /* lParam */, BOOL& bHandled); LRESULT OnSize(UINT /* uMsg */, WPARAM /* wParam */, LPARAM /* lParam */, BOOL& /* lResult */); LRESULT OnContextMenu(UINT /* uMsg */, WPARAM /* wParam */, LPARAM /* lParam */, BOOL& /* lResult */); LRESULT OnClick(UINT /* uMsg */, WPARAM /* wParam */, LPARAM /* lParam */, BOOL& /* lResult */); LRESULT OnLeftDoubleClick(UINT /* uMsg */, WPARAM /* wParam */, LPARAM /* lParam */, BOOL& /* lResult */); LRESULT OnSysKeyDown(UINT /* uMsg */, WPARAM wParam, LPARAM /* lParam */, BOOL& /* lResult */); LRESULT OnKeyDown(UINT /* uMsg */, WPARAM wParam, LPARAM /* lParam */, BOOL& /* lResult */); LRESULT OnNCActivate(UINT /* uMsg */, WPARAM wParam, LPARAM /* lParam */, BOOL& /* lResult */);
LRESULT OnVideoScale(WORD wNotifyCode, WORD wID, HWND hWndCtl, BOOL& bHandled); CAxWindow m_wndView; CComPtr<IConnectionPoint> m_spConnectionPoint; DWORD m_dwAdviseCookie; HMENU m_hPopupMenu; };
/////////////////////////////////////////////////////////////////////////////
// event logging - this should really be in its own smp.h or something...
enum EventType_t { ET_APPLAUNCH, ET_APPEXIT, ET_CLOSE, ET_FADEOUT,
ET_MEDIABEGIN, ET_MEDIAEND,
ET_JUMPHOME, ET_JUMPEND,
ET_PLAY, ET_PAUSE, ET_STOP, ET_SCRUBFROM, ET_SCRUBTO, ET_STEPFWD, ET_STEPBCK, ET_JUMPFWD, ET_JUMPBCK, ET_REPEAT,
ET_MAXIMIZE, ET_MINIMIZE, ET_RESTORE, };
|