aboutsummaryrefslogtreecommitdiff
path: root/Src/omBrowser/browserThread.h
blob: b80704f6de2c3d3258dcae2c6edc33a920794e10 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
#ifndef NULLSOFT_WINAMP_OMBROWSER_BROWSERTHREAD_HEADER
#define NULLSOFT_WINAMP_OMBROWSER_BROWSERTHREAD_HEADER

#if defined(_MSC_VER) && (_MSC_VER >= 1020)
#pragma once
#endif

#include <wtypes.h>

interface IWebBrowser2;

#define MSGF_BROWSERLOOP  (MSGF_USER + 1)

#define BHTF_QUITLOOP		0x00000001
#define BHTF_BEGINDESTROY	0x00000002

typedef HWND (CALLBACK *BTCREATEWNDPROC)(ULONG_PTR /*user*/);
typedef BOOL (CALLBACK *BTKEYFILTERPROC)(HWND /*hwnd*/, MSG* /*pMsg*/);

HANDLE BrowserThread_Create(HWND hWinamp, BTCREATEWNDPROC fnCreateWnd, ULONG_PTR user, BTKEYFILTERPROC fnKeyFilter, HWND *pWnd, DWORD *pThreadId);

BOOL BrowserThread_IsQuiting();
BOOL BrowserThread_SetFlags(UINT flags, UINT flagsMask, BOOL fAlarm);
BOOL BrowserThread_WaitNavigateComplete(IWebBrowser2 *pWeb2, UINT waitMax);
BOOL BrowserThread_PostDestroy(HWND hHost);
BOOL BrowserThread_PostDestroyEx(DWORD threadId, HWND hHost);
INT BrowserThread_ModalLoop(HWND hwnd, HANDLE hCancel, DWORD timeout);


#define BTM_FIRST			(WM_APP - 10)
#define BTM_INITCONTAINER	(BTM_FIRST + 0)		// wParam - not used, lParam - not used, return - ignored
#define BTM_RELEASECONTAINER (BTM_FIRST + 1)		// wParam - not used, lParam - not used; return - ignored;

#endif //NULLSOFT_WINAMP_OMBROWSER_BROWSERTHREAD_HEADER